SELECT c.id AS course_id,c.*,t.* FROM course c INNER JOIN teacher t ON c.teacher_id=t.id;执行结果如下图:
文章插图
Tips:INNER JOIN 为内连接,展示的是左右两表都有对应的数据 。4.RIGHT JOIN 右连接同样以表 course 和 teacher 右连接为例:
SELECT c.id AS course_id,c.*,t.* FROM course c RIGHT JOIN teacher t ON c.teacher_id=t.id;执行结果如下图:
文章插图
Tips:RIGHT JOIN 为右连接,是以右边的表为’基准’,若左表没有对应的值,用 NULL 来填补 。5. 多表混合连接以本小节所有数据全部连接查询为例:
SELECT * FROM student a LEFT JOIN student_course b ON a.id=b.student_id RIGHT JOIN course c ON b.course_id=c.id INNER JOIN teacher d ON c.teacher_id=d.id;执行结果如下图:
文章插图
Tips:多表混合连接查询时,后面可以把前面执行的结果集整体当成一个表,例如 SELECT * FROM student a LEFT JOIN student_course b ON a.id=b.student_id RIGHT JOIN course c ON b.course_id=c.id 可以理解为 student 和 student_course 左连接查询之后的结果集再对 course 右连接查询 。6. 小结本小节介绍了如何使用 LEFT JOIN、INNER JOIN、RIGHT JOIN 对表数据进行连接查询,需要注意的是,ON 后面的表示对连表条件,并且还能对表连接查询的结果集用 WHERE 进行筛选,例如:
SELECT * FROM student a LEFT JOIN student_course b ON a.id=b.student_id RIGHT JOIN course c ON b.course_id=c.id INNER JOIN teacher d ON c.teacher_id=d.idWHERE a.age > 18 AND d.age < 55;代码块1234567891011以上 sql 语句后面使用了 WHERE 条件筛选,表示学生年龄大于 18,教师年龄小于 55 。推荐阅读
- 作家|爆火网剧《司藤》作者尾鱼坐牢?本人发声否认:走法律程序
- 电影|国产科幻神作!电影《流浪地球2》青岛部分杀青 吴京、刘德华主演
- 电影|好莱坞大片《新蝙蝠侠》成今年全球票房冠军:内地市场仅零头
- 《雪中悍刀行》:宁峨眉的这个举动,暗示了徐凤年比徐骁厉害
- 干部任免审批表是什么意思?
- 《武林闲侠》玄甲堡石室机关怎么破?
- 游戏|致敬《辐射:全集》 硬核玩家将迷你核弹游戏包装改造成电脑
- 木偶奇遇记作者及内容介绍
- 竹叶青×《只此青绿》联名春茶:首发五重科技定义高端绿茶
- 红魔手机|电竞游戏手机强在哪?2小时《原神》后我懂了
