MySQL连接查询
2022/9/1 2:22:55
本文主要是介绍MySQL连接查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 左连接
- 右连接
- 子查询
左连接
左连接以tb_students_info
为基表
,以tb_course
为参考表
,进行查询时可以查询到基表tb_students_info
和参考表tb_course
匹配的条件,如果基表tb_students_info
在参考表tb_course
中没有匹配的行,那么在返回中参考表tb_cours
e的字段均为null
select s.name, c.course_name from tb_students_info s LEFT JOIN tb_course c on s.course_id = c.id
name | course_name |
---|---|
林杨 | Java |
赵峰凯 | MySQL |
杨浩宇 | Java |
李俊飞 | Python |
赵虎 | MySQL |
王途峰 | Go |
李明 | NULL |
右连接
右连接以tb_students_info
为参考表
,以tb_course
为基表
,进行查询时可以查询到参考tb_students_info
和基表tb_course
匹配的条件,如果参考表tb_students_info
在基表tb_course
中没有匹配的行,那么在返回中基表tb_cours
e的字段均为null
select s.name, c.course_name from tb_students_info s right join tb_course c on s.course_id = c.id
name | course_name |
---|---|
林杨 | Java |
赵峰凯 | MySQL |
杨浩宇 | Java |
李俊飞 | Python |
赵虎 | MySQL |
王途峰 | Go |
NULL | HTML |
子查询
子查询是最常用的查询方法,通过子查询可以实现多表查询,子查询将一个查询语句嵌套再另一个查询语句中。子查询可以在SELECT
、UPDATE
、DELETE
语句中使用,而且可以进行多层嵌套。在实际开发中经常出现在WHERE
语句中。
使用子查询查询在tb_students_info表
和tb_course表
中查询学习Java课程的学生姓名。
select name from tb_students_info where course_id in (select id from tb_course where course_name = 'Java');
外层的SELECT查询为父查询,圆括号内SELECT查询为子查询。执行流程为:先进行子查询再进行父查询。
name |
---|
林杨 |
杨浩宇 |
这个查询条件分为两步执行,首先进行单独的查询,查询出tb_course表
中课程为Java的id。
select id from tb_course where course_name = 'Java';
id |
---|
1 |
然后执行外层查询,在tb_students_info表
中查询course_id
等于1
的学生姓名。
select name from tb_students_info where course_id in (1);
使用子查询来进行查询没有学习Java的学生。
select name from tb_students_info where course_id not in (select id from tb_course where course_name = 'Java');
name | course_name |
---|---|
赵峰凯 | MySQL |
李俊飞 | Python |
赵虎 | MySQL |
王途峰 | Go |
李明 | NULL |
使用=
运算符来进行查询学习Java的学生,=
运算符与in
等效
select name from tb_students_info where course_id = (select id from tb_course where course_name = 'Java');
这篇关于MySQL连接查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程