SQL 查询语句
1. 去重查询
在查询数据时,有时需要去除重复的行。SQL 提供了 DISTINCT 关键字来实现去重。
示例:
1 | |
注意:
DISTINCT作用于所有选择的列,返回唯一组合的行。- 如果查询多列,
DISTINCT会基于所有列的组合去重。
2. 别名
在查询结果中,可以为列或表起别名,使结果更易读。
示例:
1 | |
注意:
- 使用
AS关键字为列起别名(AS可以省略)。 - 别名可以用于简化复杂查询或提高结果的可读性。
3. 条件查询
通过 WHERE 子句,可以根据条件过滤数据。
示例:
1 | |
常用条件运算符:
>、<、>=、<=:比较大小。- =、
<>:等于、不等于。 BETWEEN ... AND ...:范围查询。IS NULL、IS NOT NULL:判断空值。
4. 逻辑运算符
在 WHERE 子句中,可以使用逻辑运算符组合多个条件。
示例:
1 | |
逻辑运算符:
AND:同时满足多个条件。OR:满足任意一个条件。NOT:取反。
5. 集合操作
SQL 提供了集合操作符,用于合并、比较多个查询结果。
示例:
1 | |
注意:
UNION和UNION ALL的区别在于是否去重。INTERSECT返回两个查询结果的共同部分。MINUS返回第一个查询结果中不在第二个查询结果中的部分。
6. 范围查询
使用 BETWEEN ... AND ... 可以查询某个范围内的数据。
示例:
1 | |
注意:
BETWEEN包含边界值。- 日期范围查询时,注意日期格式与数据库设置一致。
7. 空值处理
在数据库中,空值(NULL)表示缺失或未知的数据。需要使用 IS NULL 或 IS NOT NULL 来判断空值。
示例:
1 | |
注意:
- 不能使用 = 或
<>判断空值,必须使用IS NULL或IS NOT NULL。
8. 复杂查询
通过组合条件、集合操作和子查询,可以实现复杂的查询需求。
示例:
1 | |
注意:
- 复杂查询时,可以分步骤编写 SQL,逐步验证结果。
- 使用集合操作可以简化某些复杂查询的逻辑。
总结
- 使用
DISTINCT去重。 - 使用
AS起别名。 - 使用
WHERE子句进行条件过滤。 - 使用集合操作符(
UNION、INTERSECT、MINUS)处理多个查询结果。 - 使用
BETWEEN进行范围查询。 - 处理空值(
NULL)。
SQL 查询语句
https://blog.pangcy.cn/2018/09/04/数据库相关/Oracle/SQL 语法/SQL 查询语句/