文章插图
这时就解决了之前列存在重名,无法连接的情况 。
外连接左外连接: 左表是主表,右表时从表 。
SELECT * FROM Student as s LEFT JOIN Class as c on s.class_id = c.id;ORSELECT * FROM Student as s LEFT OUTER JOIN Class as c on s.class_id = c.id;
右外连接:左表是从表,右表时主表 。
SELECT * FROM Student as s RIGHT JOIN Class as c on s.class_id = c.id;ORSELECT * FROM Student as s RIGHT OUTER JOIN Class as c on s.class_id = c.id;
全外连接: 左外连接 + 右外的连接的合集
SELECT * FROM Student as s FULL JOIN Class as c ON s.class_id = c.id;
MySQL 中没有全外连接的概念 。自连接:
SELECT c2.* FROM Class c1 JOIN Class c2 ON c1.number < c2.number and c1.name = "1年1班";
SQL92 和 SQL99 的对比- SQL92 中的等值连接(内连接),非等值连接,自连接对应了 SQL99 的 ON 连接,用于筛选满足连接条件的数据行 。
- SQL92 的笛卡尔积连接,对应了 SQL99 的交叉连接 。
- SQL92 中的外连接并不包含全外连接,而 SQL99 支持,并且将 SQL92 中 WHERE 换为 SQL99 的 ON. 这样的好处可以更清晰的表达连接表的过程,更直观 。SELECT ... FROM table1 JOIN table2 ON filter_condition JOIN table3 ON filter_condition
- SQL99 多了自然连接和 USING 连接的过程,两者的区别是是否需要显式的指定列名 。
接着,对比了 92 和 99 两者的不同,发现 99 的标准在连接时,更加符合逻辑并且更加直观 。
【关于 JOIN 耐心总结,学不会你打我系列】
推荐阅读
- 开设淘宝店铺需要做好哪些准备 关于淘宝开店的相关知识
- 茶器的实用性与美感,关于紫砂壶的实用性使用功能
- 关于未来办公室CIO必须要问7个问题
- 选茶攻略:普洱茶与绿茶的区别,陆羽与常伯熊的茶道选择
- 关于火花收藏的一些知识
- 有关普洱茶文化的知识
- 春节关于茶的习俗,蒙舍蛮的品饮习俗
- 关于Java并发工具,90%的程序员需要了解的那些技术栈
- 快来学,那些关于燃气灶你不知道的事
- 淘宝创意标题怎么设置的 淘宝关于制作标题的注意事项