1. 检索单个列
SELECT prod_name
FROM products;
从products表中检索一个名为prod_name的列
2. 检索多个列
SELECT prod_id, prod_name, prod_price
FROM products;
一次检索多个列,需要给出多个列名,列名之间以逗号隔开,最后一个列名不加逗号,否则会出错
3. 检索所有列
SELECT *
FROM products;
使用通配符(*)返回所有列,列的顺序一般是列在表定义中出现的顺序。但有时候不是这样的,表的模式的变化(如添加删除列)可能会导致顺序的变化。
一般,除非确实需要表中的每一个列,否则最好不要适用*通配符,虽然省事,但检索不需要的列通常会降低检索和应用程序的性能。
唯一的优点就是可以检索出名字未知的列。
4. 检索不同的行
SELECT DISTINCT vend_id
FROM products;
使用DISTINCT关键字返回不同(唯一)的行。
不能部分使用DISTINCT,DISTINCT关键字应用于所有列而不仅仅是使用了该关键字的列。
5. 限制结果
使用LIMIT关键字,返回第一行或前几行
SELECT prod_name
FROM products
LIMIT 5;
返回不多于5行
SELECT prod_name
FROM products
LIMIT 5, 5;
返回从第5行开始之后的5行
行0 检索出来的第一行为行0而不是行1。例如,LIMIT 1, 1将检索出第二行而不是第一行
行数不够时 LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行,mysql只返回能够返回的行数
另一种LIMIT语法 LIMIT3, 4的含义是从行4开始的3行,这样容易迷糊。
mysql5开始支持另一种语法: LIMIT 4 OFFSET 3意思为从行3开始取4行
6. 使用完全限定的表名
SELECT products.prod_name
FROM products;
SELECT products.prod_name
FROM crashcourse.products;
上面这两条语句与下面这条语句执行的功能是相同的
SELECT prod_name
FROM products;
只是加了一些限定词而已