SQL语句--查找数据select
所用数据库表参照地址:https://www.cnblogs.com/zhoulixiangblog/p/12070827.html
1.查找单个列
输入:
SELECT prod_id FROM products;
输出:
prod_id |
---|
ANV01 |
ANV02 |
ANV03 |
FU1 |
OL1 |
DTNTR |
FB |
FC |
SAFE |
SLING |
TNT1 |
分析:
上述语句利用SELECT 语句从products表中检索一个名为 prod_id的列。所需的列名在SELECT 关键字之后给出,FROM 关键字指出从其中检索数据的表名。
2.查找多个列
输入:
SELECT prod_id, prod_name, prod_price FROM products;
输出:
prod_id | prod_name | prod_price |
---|---|---|
ANV01 | .5 ton anvil | 5.99 |
ANV02 | 1 ton anvil | 9.99 |
ANV03 | 2 ton anvil | 14.99 |
DTNTR | Detonator | 13 |
FB | Bird seed | 10 |
FC | Carrots | 2.5 |
FU1 | Fuses | 3.42 |
JP1000 | JetPack 1000 | 35 |
JP2000 | JetPack 2000 | 55 |
OL1 | Oil can | 8.99 |
SAFE | Safe | 50 |
分析:
与前一个例子一样,这条语句使用SELECT语句从表products 中选择数据。在这个例子中,指定了3个列名,列名之间用逗号分隔。
3.查找所有列
输入:
SELECT * FROM products;
输出:
prod_id | vend_id | prod_name | prod_price | prod_desc |
---|---|---|---|---|
ANV01 | 1001 | .5 ton anvil | 5.99 | .5 ton anvil, black, complete with handy hook |
ANV02 | 1001 | 1 ton anvil | 9.99 | 1 ton anvil, black, complete with handy hook and carrying case |
ANV03 | 1001 | 2 ton anvil | 14.99 | 2 ton anvil, black, complete with handy hook and carrying case |
DTNTR | 1003 | Detonator | 13 | Detonator (plunger powered), fuses not included |
FB | 1003 | Bird seed | 10 | Large bag (suitable for road runners) |
FC | 1003 | Carrots | 2.5 | Carrots (rabbit hunting season only) |
FU1 | 1002 | Fuses | 3.42 | 1 dozen, extra long |
JP1000 | 1005 | JetPack 1000 | 35 | JetPack 1000, intended for single use |
JP2000 | 1005 | JetPack 2000 | 55 | JetPack 2000, multi-use |
OL1 | 1002 | Oil can | 8.99 | Oil can, red |
SAFE | 1003 | Safe | 50 | Safe with combination lock |
分析:
如果给定一个通配符(*),则返回表中所有列。列的顺序一般是列在表定义中出现的顺序。但有时候并不是这样的,表的模式的变化(如添加或删除列)可能会导致顺序的变化。
4.查找不同行(去除重复结果)
输入:
SELECT DISTINCT vend_id FROM products;
输出:
vend_id |
---|
1001 |
1002 |
1003 |
1005 |
分析:
SELECT DISTINCT vend_id告诉MySQL只返回不同(唯一)的 vend_id行,因此只返回4行,如上面的输出所示。如果使用 DISTINCT关键字,它必须直接放在列名的前面。
5.限制查找结果
输入:
SELECT prod_name FROM products LIMIT 5;
输出:
prod_name |
---|
.5 ton anvil |
1 ton anvil |
2 ton anvil |
Detonator |
Bird seed |
分析:
此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行。
输入:
SELECT prod_name FROM products LIMIT 5, 5;
输出:
prod_name |
---|
Carrots |
Fuses |
JetPack 1000 |
JetPack 2000 |
Oil can |
分析:
LIMIT 5, 5指示MySQL返回从行5开始的5行(表的数据从行0开始)。第一个数为开始位置,第二个数为要检索的行数。
6.使用带表名限定的查找
输入:
SELECT products.prod_name FROM products;
输出:
prod_name |
---|
.5 ton anvil |
1 ton anvil |
2 ton anvil |
Detonator |
Bird seed |
Carrots |
Fuses |
JetPack 1000 |
JetPack 2000 |
Oil can |
Safe |
分析:
此条语句在所要查找的列名前面加上了表的名字,进行了限定,查找的结果为products表中的prod_name列。