SQL(Structured Query Language)是一种用于管理关系式数据库的指令集合。 SQL查询语句是用于从数据库中检索数据的语句,可以根据特定的数据条件过滤数据。
SQL语言通常被用在关系型数据库管理系统(RDBMS)中,其中包括MySQL,SQL Server,Oracle等等。在这篇文章中,我们将讨论一些基本的SQL查询语句,包括选择,过滤,排序和聚合。
选择查询
基本的选择查询是从一个表中检索所有的数据,语法如下:
```
SELECT * FROM table_name;
```
其中`SELECT`是关键字,`*`表示从所有的列中选择数据,`table_name`是要查询的表名。选择查询还可以选择特定的列来检索:
```
SELECT column_name FROM table_name;
```
过滤查询
过滤查询是从一个表中检索特定的数据,基本语法如下:
```
SELECT * FROM table_name WHERE column_name operator value;
```
其中`WHERE`表示过滤条件,`column_name`是要过滤的列名,`operator`是比较操作符,`value`是比较值。比较操作符可以是`=`,`<`,`>`,`<=`,`>=`,`!=`,`LIKE`,`BETWEEN`,`IN`等。下面是一些例子:
- 检索所有姓王的人:
```
SELECT * FROM table_name WHERE last_name='王';
```
- 检索所有年龄大于18岁的人:
```
SELECT * FROM table_name WHERE age>18;
```
- 检索所有在北京或上海的人:
```
SELECT * FROM table_name WHERE city IN ('北京','上海');
```
排序查询
排序查询是根据特定的列对数据进行排序,基本语法如下:
```
SELECT * FROM table_name ORDER BY column_name [ASC|DESC];
```
其中`ORDER BY`表示排序条件,`column_name`是要排序的列名,`ASC`表示升序,`DESC`表示降序。下面是一些例子:
- 按年龄从小到大排序:
```
SELECT * FROM table_name ORDER BY age ASC;
```
- 按工资从高到低排序:
```
SELECT * FROM table_name ORDER BY salary DESC;
```
聚合查询
聚合查询用于对数据进行汇总和计算,可以使用聚合函数进行计算,包括`COUNT`,`AVG`,`SUM`,`MAX`和`MIN`。基本语法如下:
```
SELECT aggregate_function(column_name) FROM table_name;
```
下面是一些例子:
- 统计人数:
```
SELECT COUNT(*) FROM table_name;
```
- 计算平均工资:
```
SELECT AVG(salary) FROM table_name;
```
- 计算最高工资:
```
SELECT MAX(salary) FROM table_name;
```