SQL 检索数据

SQL 检索数据:

一、SELECT语句:

  • SQL语句是由简单的英语单词构成的。
    • 这些英语单词称为关键字
  • 最经常使用的SQL语句就是SELECT语句
    • 它的作用是从一个表或者多个表中检索信息
  • 为了使用SELECT检索数据,必须给多两条信息(想选择什么,以及什么地方选择)

二、检索单个列:

SELECT prod_name FROM Products;
  • 分析:

    • 利用SELECT语句从Products表中检索一个名为prod_name的列
    • FROM关键字指出从哪个表中检索数据
  • SQL大小写的建议:

    • 建议SQL关键字使用大写,而对列名和表名使用小写,这样的代码更易于阅读和调视.
  • 使用空格:

    • 再处理SQL时,其中所有的空格都被忽略,SQL语句可以写一条很长的代码,也可以分为多行:

      # 以下三种写法是一样的
      SELECT prod_name
      FROM Products;
      SELECT prod_name FROM Products;
      SELECT
      prod_name
      FROM
      Products;
      

三、检索多个列:

  • 跟检索单个列不同的是,再SELECT关键字后给出多个列名名之间必须以逗号分隔

  • 注意:再选择多个列时,一定要在列名之间加上逗号,但最后一个列名不需要加,如果加上就会报错。

    SELECT prod_id, prod_name, prod_price  FROM Products;
    
    • 这条语句使用SELECT语句从表Products中选择数据,指定了3个列名,每个列名之间用逗号分隔,最后一个不需要逗号。

四、检索所有列:

  • 再实际列名的位置使用星号(*)通配符可以做到这点。

    SELECT * FROM products;
    
    • 警告:使用通配符:
      • 一般而言,除非你确定需要表中的每一个列,否则最好不要使用通配符。虽然通配符能省很多事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。

五、检索不同的值:

  • 使用关键字DISTINCT,它指示数据库只返回不同的值。相当于将数据库中所有的值,把重复的去掉。

    SELECT DISTINCT vend_id FROM products;
    
    • 如果使用关键字DISTINCT关键字,它必须直接放在列名前面。
  • 警告:不能部分使用DISTINCT:

    • DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列

    • 举个栗子:

      SELECT DISTINCT vend_id, prod_price FROM products;
      
    • 结论:除非指定的两列完全相同,否则所有的行都会被检索出来。

六、限制结果:

  • SELECT 语句返回指定表的所有匹配行。使用LIMIT关键字可以限制返回几行数据:

    SELECT prod_name FROM products LIMIT 5; # 5表示返回不超过5行的数据
    
  • 为了得到后面的5行,需要指定从哪里开始以及检索的行数呢?

    SELECT prod_name FROM products LIMIT  5  OFFSET 5; 
    
    • 注意LIMIT 5 OFFSET 5 : 5表示从第五行起的五行数据第一个数字(5)是指从哪行开始,第二个数字是检索的行数
    • 警告:第0行:
      • 第一个被检索的行是第0行,而不是第1行,因此LIMIT 1 OFFSET 1会检索第2行,而不是第1行。
展开阅读全文

没有更多推荐了,返回首页