SQL必知必会(2)检索数据
关键字(keyword):作为SQL组成部分的保留字。关键字不能用作表或列的名字。
SELECT语句:从一个或多个表中检索信息,必须给出想选择什么,以及从什么地方选择。
检索单个列:
1 | SELECT prod_name |
prod_name |
---|
Fish bean bag toy |
Bird bean bag toy |
Rabbit bean bag toy |
8 inch teddy bear |
12 inch teddy bear |
18 inch teddy bear |
Raggedy Ann |
King doll |
Queen doll |
SQL不区分大小写,一般对关键字使用大写,并将SQL语句分成多行,这样会使代码易于阅读和调试。
检索多个列:
1 | SELECT prod_id, prod_name, prod_price |
prod_id | prod_name | prod_price |
---|---|---|
BNBG01 | Fish bean bag toy | 3.49 |
BNBG02 | Bird bean bag toy | 3.49 |
BNBG03 | Rabbit bean bag toy | 3.49 |
BR01 | 8 inch teddy bear | 5.99 |
BR02 | 12 inch teddy bear | 8.99 |
BR03 | 18 inch teddy bear | 11.99 |
RGAN01 | Raggedy Ann | 4.99 |
RYL01 | King doll | 9.49 |
RYL02 | Queen doll | 9.49 |
检索所有列:
1 | SELECT * |
略 |
---|
略 |
使用通配符 * 的优点:可以检索出名字未知的列。
检索不同的值:
1 | SELECT vend_id |
vend_id |
---|
BRS01 |
BRS01 |
BRS01 |
DLL01 |
DLL01 |
DLL01 |
DLL01 |
FNG01 |
FNG01 |
1 | SELECT DISTINCT vend_id |
vend_id |
---|
BRS01 |
DLL01 |
FNG01 |
关键字DISTINCT可以去重,但会作用于所有的列,不仅是跟在它后边的那一列。
限制结果:
如果想检索一定数量的行,比如只检索5行,以MySQL为例。
1 | SELECT prod_name |
prod_name |
---|
Fish bean bag toy |
Bird bean bag toy |
Rabbit bean bag toy |
8 inch teddy bear |
12 inch teddy bear |
要想得到后5行数据,需要指定从哪开始以及检索的行数:
1 | SELECT prod_name |
prod_name |
---|
18 inch teddy bear |
Raggedy Ann |
King doll |
Queen doll |
表中共9行,所以检索只返回4行。
第一个检索的行是第0行。
LIMIT 4 OFFSET 3
可以简化:LIMIT 3,4
。需要注意数字顺序相反。
注释:
1 | SELECT prod_name --这是一条注释 |