————讲解如何通过SELECT语句从表中检索一个或多个数据列

1. 语句书写注意

  • 多条SQL语句以(;)分隔,多数DBMS不需要,但有的需要
  • SQL语句,不分大小写,但是一般关键字大写,列名和表名小写
  • 处理SQL语句时,所有的空格会被忽略,可以写成一行,也可以写成多行

    2. SELECT 语句

    1. SELECT prod_name FROM Products; -- Products表中检索名为prod_name的列,数据未排序

    3. 检索多个列

    SELECT prod_id, prod_name, prod_price FROM Products;        -- 从Products表中检索名为prod_id、prod_name和prod_price列
    

    4. 检索所有列

    SELECT *    FROM Products;        -- 检索所有的列
    

    5. 检索不同的值

    SELECT DISTINCT vend_id FROM Products;        -- 从Products表中检索名为vend_id的不同的结果
    
  • DISTINCT作用于所有的列,不仅仅是其后的那一列

    6. 限制结果

    每个DB中的这一SQL并不相同

  • MySQL、MariaDB、PostgreSQL、SQLite

    SELECT prod_name FROM Products LIMIT 5;        -- 返回不超过5行的数据
    
    SELECT prod_name FROM Products LIMIT 5 OFFSET 5;        -- 返回从第5行起的5条数据
    
    SELECT prod_name FROM Products LIMIT 3,4;        -- 返回从第3行起的4条数据
    
  • Oracle

    SELECT prod_name FROM Products WHERE ROWNUM <=5;        -- 需要使用ROWNUM(行计数器)来计算行
    
  • SQL Server

    SELECT TOP 5 prod_name FROM Products;        -- 检索前5行数据
    
  • DB2

    SELECT prod_name FROM Products FETCH FIRST 5 ROWS ONLY;        -- 检索前5行数据