LEFT JOIN和RIGHT JOIN是MySQL中用于连接两个或多个表的操作。
LEFT JOIN(左连接)返回左表中的所有记录和右表中匹配的记录。如果右表中没有匹配的记录,则返回NULL。
实例: 假设有两个表:表A和表B。
表A的结构如下:
id | name
---|------
1 | John
2 | Mike
3 | Tom
表B的结构如下:
id | age
---|-----
1 | 20
3 | 25
4 | 30
使用LEFT JOIN连接表A和表B,查询结果如下:
SELECT A.id, A.name, B.age
FROM A
LEFT JOIN B ON A.id = B.id;
结果:
id | name | age
---|------|-----
1 | John | 20
2 | Mike | NULL
3 | Tom | 25
可以看到,左连接返回了表A中的所有记录,以及与表B中匹配的记录。对于没有匹配的记录,age列显示为NULL。
RIGHT JOIN(右连接)与LEFT JOIN相反,返回右表中的所有记录和左表中匹配的记录。如果左表中没有匹配的记录,则返回NULL。
使用RIGHT JOIN连接表A和表B,查询结果如下:
SELECT A.id, A.name, B.age
FROM A
RIGHT JOIN B ON A.id = B.id;
结果:
id | name | age
---|------|-----
1 | John | 20
3 | Tom | 25
NULL | NULL | 30
可以看到,右连接返回了表B中的所有记录,以及与表A中匹配的记录。对于没有匹配的记录,id和name列显示为NULL。
总结:
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站