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 --这是一条注释 |