SQL server 查询语句大全
在 SQL Server 中,查询语句是最常用的语句类型,用于从数据库中提取有用的信息。SQL Server 中常用的查询语句有 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY。
1. SELECT
SELECT 语句用于从表中选取数据进行查询,语法如下:
```sql
SELECT column1, column2, column3, ...
FROM table_name;
```
在这个语句中,“column1, column2, column3, ...”是指需要查询的列的名称,“table_name”是指需要查询的表名。
例如,如果需要查询 `employee` 表中的所有员工姓名和工资,可以使用以下语句:
```sql
SELECT name, salary
FROM employee;
```
2. FROM
FROM 语句用于指定需要查询的表,语法如下:
```sql
SELECT column1, column2, column3, ...
FROM table_name;
```
在这个语句中,“table_name”是指需要查询的表名。
例如,如果需要查询 `employee` 表中的所有员工姓名和工资,可以使用以下语句:
```sql
SELECT name, salary
FROM employee;
```
3. WHERE
WHERE 语句用于过滤查询结果,只返回符合条件的行,语法如下:
```sql
SELECT column1, column2, column3, ...
FROM table_name
WHERE condition;
```
在这个语句中,“condition”是指需要过滤的条件表达式。
例如,如果需要查询 `employee` 表中工资大于 5000 元的员工姓名和工资,可以使用以下语句:
```sql
SELECT name, salary
FROM employee
WHERE salary > 5000;
```
4. GROUP BY
GROUP BY 语句用于根据一个或多个列对结果集进行分组,语法如下:
```sql
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...;
```
在这个语句中,“column1, column2, ...”是指需要进行分组的列名。
例如,如果需要查询 `employee` 表中按照性别统计员工数和平均工资,可以使用以下语句:
```sql
SELECT gender, COUNT(*) AS Total, AVG(salary) AS AverageSalary
FROM employee
GROUP BY gender;
```
5. HAVING
HAVING 语句用于过滤 GROUP BY 语句分组后的结果集,只返回符合条件的分组结果,语法如下:
```sql
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...
HAVING condition;
```
在这个语句中,“condition”是指需要过滤的条件表达式。
例如,如果需要查询 `employee` 表中工资平均值大于 5000 元的性别和平均工资,可以使用以下语句:
```sql
SELECT gender, AVG(salary) AS AverageSalary
FROM employee
GROUP BY gender
HAVING AVG(salary) > 5000;
```
6. ORDER BY
ORDER BY 语句用于指定查询结果按照一个或多个列的升序或降序进行排序,语法如下:
```sql
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
```
在这个语句中,“column1 [ASC|DESC], column2 [ASC|DESC], ...”是指需要排序的列名以及其排序方式(升序或降序)。
例如,如果需要查询 `employee` 表中按照工资降序排序后的所有员工姓名和工资,可以使用以下语句:
```sql
SELECT name, salary
FROM employee
ORDER BY salary DESC;
```
需要注意的是,以上语句可以组合使用以实现更复杂的查询需求。例如可以使用 WHERE 和 ORDER BY 语句一起使用,以过滤和排序查询结果。