版权声明:最终解释权归属Hern所有,恒! https://blog.csdn.net/qq_36761831/article/details/82831938
SELECT语句用于从一个或多个表中检索信息。
检索单个列
命令
SELECT 列名 FROM 表名;
注意:语句将返回表中所有行,数据没有过滤(过滤将得出结果集的一个子集),也没有排序。
检索多个列
命令
SELECT 列名1,列名2,…… FROM 表名;
注意:在选择多个列时,一定要在列名之间加上逗号,但是最后一个列名后不加。
检索所有列
命令(也可以按照检索多个列的方法把所有列名列出,等价于用 * 符号)
SELECT * FROM 表名;
注意:将返回表中所有列。列的顺序一般是列在表定义中出现的顺序,但有的时候并不是这样,表的模式的变化(如添加或删除列)可能会导致顺序的变化。
虽然使用 * 符号会使自己省事,不用明确列出所需列,但是检索不需要的列通常会降低检索和应用程序的性能。
限制结果
SELECT语句返回所有匹配的行,它们可能是指定表中的每个行,若要返回第一行或是前几行,可使用LIMIT子句。
1、返回指定行数前的行。命令
SELECT 列名 FROM 表名 LIMIT 行数;
或
SELECT * FROM 表名 LIMIT 行数;
注意:带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。
2、返回指定开始位置行到指定检索的行数。命令
SELECT 列名 FROM 表名 LIMIT 开始位置行,检索的行数;
或
SELECT * FROM 表名 LIMIT 开始位置行,检索的行数;
或
SELECT 列名 FROM 表名 LIMIT 检索的行数 OFFSET 开始位置行;
或
SELECT * FROM 表名 LIMIT 检索的行数 OFFSET 开始位置行;
例如:LIMIT 4,4:表示放回从第4行开始的4行。
注意:带两个值的LIMIT可以指定从行号为第一个值的位置开始。
注意:1、行0:检索出来的第一行为行0而不是行1。因此,LIMIT 1,1将检索出第二行而不是第一行。
2、行数不够时:LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行,将只返回它能够放回的行。
使用完全限定的表名或列名
1、使用完全限定的表名引用列(同时使用表名和列名)。命令:
SELECT 表名.列名 FROM 表名;
注意:表名与列名之间有个 “. ” 符号
2、同时使用完全限定的表名(用数据库名引用表名)和列名。命令:
SELECT 表名.列名 FROM 数据库名.表名;