mysql的连接查询
当有一个字段代表另一个表中相同的含义时,字段可用于连接这些表。
参考表:雇员
参考表:部门
你可以看到,上述两个表有相同的字段d_id
当两个表在字段中具有相同的含义(可以不相同的名称)时,可以在连接查询中进行连接查询。
复制代码代码如下所示:
MySQL >选择num,姓名,性别,employee.d_id,d_name,功能
来自,雇员,部门
在d_id = department.d_id ->员工;
+ + + + ------ -------- ------ ------ ----------- -------------- + + +
Num的名字d_id | | | |性| d_name |功能|
+ + + + ------ -------- ------ ------ ----------- -------------- + + +
| 1 |三| 1001 |男性| |科技部研发的产品|
| 2 |李四| 1001 |女| |科技部研发的产品|
| 3 |王五男1002 | | |生产|产品|
+ + + + ------ -------- ------ ------ ----------- -------------- + + +
集合中的行(0秒)
内部连接的查询只能查询完全匹配的结果,而d_id字段是用于连接
下表也使用了相同的字段。
外部连接查询
外部查询也需要由指定字段连接,当值相等时,可以查询记录。
此外,字段中不相等的记录也可以被查询。
外部连接查询包括左连接查询和右连接查询。
左连接查询
复制代码代码如下所示:
MySQL >选择num,名字,employee.d_id,d_name,功能
员工左接部门>
在d_id = department.d_id ->员工;
+ + + + ------ -------- ------ ----------- -------------- + +
Num的名字d_id | | | | d_name |功能|
+ + + + ------ -------- ------ ----------- -------------- + +
| 1 |三| 1001 |科技部研发的产品| |
| 2 |李四| 1001 |科技部研发的产品| |
| 3 |王五| 1002 |生产|产品|
| 4 | ARIC | 1004 |空|空|
+ + + + ------ -------- ------ ----------- -------------- + +
集合中的行(0秒)
在这里不仅可以查询相匹配的d_id场在两个表的信息
员工表中所有指定字段的信息是通过左连接查询的。
因为Aric不符合d_name和功能的信息,空的显示
右连接查询
复制代码代码如下所示:
MySQL >选择num,名字,employee.d_id,d_name,功能
雇员权利加入部门>
在d_id = department.d_id ->员工;
+ + + + ------ -------- ------ ----------- -------------- + +
Num的名字d_id | | | | d_name |功能|
+ + + + ------ -------- ------ ----------- -------------- + +
| 1 |三| 1001 |科技部研发的产品| |
| 2 |李四| 1001 |科技部研发的产品| |
| 3 |王五| 1002 |生产|产品|
空空空| | | | | |规划销售部
+ + + + ------ -------- ------ ----------- -------------- + +
集合中的行(0秒)
相反,它查询部表中匹配和所有指定字段的信息。
但是由于员工表中的一些字段不对应,所以最后一行有空的显示。
复杂条件连接查询
复制代码代码如下所示:
MySQL >选择num,姓名,性别,年龄,地址employee.d_id,
来自,雇员,部门
在d_id = department.d_id ->员工。
和>年龄= 25;
+ + + + ------ -------- ------ ------ ------ ------------- + + +
Num的名字d_id | | | |性|年龄|地址|
+ + + + ------ -------- ------ ------ ------ ------------- + + +
| 1 |三| 1001 |男性| 26 | 3号楼5层|
| 3 |王五男1002 | | | 25 | 5号楼1层|
+ + + + ------ -------- ------ ------ ------ ------------- + + +
集合中的行(0秒)
复杂的条件连接查询是连接查询的一个约束,这里的年龄> > 25
一般来说,约束条件越多,查询就越准确,并且可以将约束添加到
此外,可以用复合条件对订单进行排序。
提示:连接查询中最常用的是内部连接查询,但是外部连接查询的使用频率很低。