检索单个列

  • SQL语句和大小写:SQL语句不区分大小写。

    • 但有些标识符(如数据库名、表名、列名)可能不同:

      在MySQL4.1及之前的版本中,这些标识符默认是区分大小写的;

      在MySQL4.1.1版本中,这些标识符默认是不区分大小写的。

检索不同的行

1
2
SELECT DISTINCT vend_id
FROM products;
  • 不能部分使用DISTINCT

    DISTINCT关键字应用于所有列而不仅是前置它的列。

    如果给出SELECT DISTINCT vend_id, prod_price;,除非指定的两个列都相同,否则所有行都将被检索出来。

限制结果

1
2
3
SELECT prod_name
FROM products
LIMIT 5, 5;
  • 第一个数为开始位置,第二个数为要检索的行数。

  • 带一个值的LIMIT总是从第一行开始,带两个值的LIMIT指定从行号为第一个值的位置开始。

  • 行0:第一行为行0而不是行1。

  • 行数不够:如果没有足够的行,MySQL将只返回它能返回的那么多行。

  • MySQL5的LIMIT语法

    • MySQL5支持LIMIT的另一种替代语法:从行3开始取4行:

      LIMIT 4 OFFSET 3;

使用完全限定的表名

  • 表名、列名可以完全限定。
1
2
SELECT products.prod_name
FROM crashcourse.products;