程序媛计划——mysql连接表

本文详细介绍了SQL中的三种连接类型:inner join(等值连接/内连接)、left join和right join,并通过具体的MySQL示例展示了如何使用这些连接来从不同的表中获取所需的数据。

#inner join等值连接/内连接

mysql> select * from info;
+------+-------------+----------+
| name | phone       | address  |
+------+-------------+----------+
| zhao | 13199999999 | Beijing  |
| qian | 1328888888  | Harbin   |
| sun  | 13366666666 | Shanghai |
+------+-------------+----------+
3 rows in set (0.00 sec)
mysql> select * from score;
+----+------+-------+------------+
| id | name | score | evaluation |
+----+------+-------+------------+
|  1 | zhao | 98.00 | 10         |
|  2 | qian | 90.30 | 10         |
|  3 | sun  | 70.00 | 10         |
|  4 | li   | 80.50 | 10         |
+----+------+-------+------------+
4 rows in set (0.00 sec)

#inner join——按照相同的name值(筛选行)连接两个表中的某些字段(筛选列)构成表

mysql> select score.id,score.name,info.phone from score inner join info on score.name=info.name;
+----+------+-------------+
| id | name | phone       |
+----+------+-------------+
|  1 | zhao | 13199999999 |
|  2 | qian | 1328888888  |
|  3 | sun  | 13366666666 |
+----+------+-------------+
3 rows in set (0.00 sec)

#left join——读取左边表score的字段的所有值,按照相同的name值连接两个表中的字段构成表(右边的表没有对应记录的填null)

mysql> select score.id,score.name,info.phone from score left join info on score.name=info.name;
+----+------+-------------+
| id | name | phone       |
+----+------+-------------+
|  1 | zhao | 13199999999 |
|  2 | qian | 1328888888  |
|  3 | sun  | 13366666666 |
|  4 | li   | NULL        |
+----+------+-------------+
4 rows in set (0.00 sec)

#类似的有right join

mysql> select score.id,score.name,info.phone from score right join info on score.name=info.name;
+------+------+-------------+
| id   | name | phone       |
+------+------+-------------+
|    1 | zhao | 13199999999 |
|    2 | qian | 1328888888  |
|    3 | sun  | 13366666666 |
+------+------+-------------+
3 rows in set (0.00 sec)

 

转载于:https://www.cnblogs.com/IcarusYu/p/7497532.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值