介绍一下mysql中查询的重中之重,连接查询
创建student和teacher表,表中数据如下:
student | ![]() |
teacher | ![]() |
交叉连接查询
查询结果是连接的几个表中满足条件的相关联的数据的交集
sql |
|
结果 | ![]() |
内连接查询
将连接的几个表中满足条件的数据的交集查询出来,同上
sql |
|
结果 | ![]() |
左外连接查询
将连接的左表中满足条件(where后边的数据)的全部数据和右表中满足连接条件(on后边的条件)的数据查询出来,如果在右表中没有满足连接条件的数据则以NULL值代替,右连接同理
sql |
|
结果 | ![]() |
右外连接查询
sql |
|
结果 |
|
分析
由于未进行任何优化处理,使用explain来分析以上sql时,结果如下:
使用连接查询时,一定要注意连接条件一定要添加,不然容易造成大量冗余数据出现