前言
很多时候,我们是需要从表中选择数据进行操作的,表中数据那么多,我们应该如何在表中选取数据呢?
SQL SELECT 语句用于从表中选取符合条件的数据,该数据以临时表的形式返回,称为结果集。
SELECT
- 基本语法
SELECT column1, column2, columnN
FROM table_name
WHERE conditions;
column1, column2, columnN 表示选取的列,conditions 表示筛选条件,只有满足条件的数据才会被选取。
注:WHERE 子句不是必须的。
当我们没有WHERE子句时,SQL语句将变为:
SELECT column1, column2, columnN FROM table_name;
不使用 WHERE 子句意味着没有筛选条件,此时表中的所有数据都将被选取。
此外,如果要选取所有的列,那么可以使用*代替所有列名,语法如下:
SELECT * FROM table_name;
2. SELECT 子句
SELECT 可以结合下面的子句一起使用:
- WHERE 子句:用来指明筛选条件,只有满足条件的数据才会被选取
- ORDER BY 子句:按照某个字段对结果集进行排序
- GROUP BY 子句:结合聚合函数,根据一个或多个列对结果集进行分组
- HAVING 子句:通常和 GROUP BY 子句联合使用,用来过滤由 GROUP BY 子句返回的结果集
- 示例
我们以之前使用过的player表为例,表内容如下所示:
+--------+-----+--------+---------+
|name | age |position|country |
+--------+-----+--------+---------+
|穆勒 | 34 | 前锋 |Germany |
|梅西 | 36 | 前锋 |Argentina|
|姆巴佩 | 25 | 前锋 |France |
|格雷茨卡| 28 | 中场 |Germany |
我们现在要获取表中所有运动员的name、age,代码如下:
SELECT name, age FROM player;
执行完成以后将得到下面的结果:
+--------+-----+
|name | age |
+--------+-----+
|穆勒 | 34 |
|梅西 | 36 |
|姆巴佩 | 25 |
|格雷茨卡| 28 |
如果希望选取所有字段,并且要求国籍为德国,可以使用下面的语句:
SELECT * FROM player WHERE country = Germany;
该语句将得到下面的结果:
+--------+-----+--------+---------+
|name | age |position|country |
+--------+-----+--------+---------+
|穆勒 | 34 | 前锋 |Germany |
|格雷茨卡| 28 | 中场 |Germany |
总结
本文主要介绍了SQL语法中如何选取数据的操作,后续我们将介绍SQL语法中指定查询条件的方法。