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 不支持。