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 查询语句/