SQL 易错点整理
这份笔记总结了 SQL 练习中常见的错误,涵盖排序、分组、去重、连接等方面,并列举了一些 MySQL 和 Oracle 在使用上的区别。
1. ORDER BY, GROUP BY, DISTINCT
- ORDER BY: 对查询结果进行排序。
- GROUP BY: 对查询结果进行分组,通常与聚合函数(如 SUM、COUNT、AVG 等)一起使用。
- DISTINCT: 去除查询结果中的重复行。
2. SQL 连接
SQL 中的连接用于合并来自多个表的数据。常见的连接方式有:
- 内连接 (INNER JOIN/JOIN): 返回两个表中匹配的行。
- 左外连接 (LEFT JOIN): 返回左表中的所有行,以及右表中匹配的行。如果左表中的行在右表中没有匹配项,则右表对应列的值为 NULL。
- 右外连接 (RIGHT JOIN): 返回右表中的所有行,以及左表中匹配的行。如果右表中的行在左表中没有匹配项,则左表对应列的值为 NULL。
- 全连接 (FULL JOIN): 返回左表和右表中的所有行。如果某个表中的行在另一个表中没有匹配项,则另一个表对应列的值为 NULL。
注意: 连接条件通常使用 ON
关键字指定,用于比较两个表中的共有的列。连接条件中不能使用 !=
(不等于)。
3. MySQL 和 Oracle 的区别
在连接的使用上,MySQL 和 Oracle 存在一些区别。例如,Oracle 支持 (+)
符号来表示外连接,而 MySQL 不支持。