sql学习 inner join,left join,right join

总结:

JOIN(或 INNER JOIN)只返回两个表中匹配的记录。

LEFT JOIN(或 LEFT OUTER JOIN)从左表返回所有的记录,即使右表中没有匹配。如果右表中没有匹配,则结果中右表的部分将是 NULL。

RIGHT JOIN(或 RIGHT OUTER JOIN)从右表返回所有的记录,即使左表中没有匹配。如果左表中没有匹配,则结果中左表的部分将是 NULL。

$ db2 "select * from liys.test1"

ID NAME


1 test_01

2 test_02

3 test_03

3 record(s) selected.

$ db2 "select * from liys.test2"

ID NAME


3 test_03

4 test_04

5 test_05

3 test_03_03

4 record(s) selected.

$ db2 "select t1.id ,t1.name ,t2.id, t2.name from liys.test1 t1 inner join liys.test2 t2 on t1.id=t2.id "

ID NAME ID NAME


3 test_03 3 test_03

3 test_03 3 test_03_03

2 record(s) selected.

$ db2 "select t1.id ,t1.name ,t2.id, t2.name from liys.test1 t1 left join liys.test2 t2 on t1.id=t2.id "

ID NAME ID NAME


3 test_03 3 test_03

3 test_03 3 test_03_03

2 test_02 - -

1 test_01 - -

4 record(s) selected.

$ db2 "select t1.id ,t1.name ,t2.id, t2.name from liys.test1 t1 right join liys.test2 t2 on t1.id=t2.id "

ID NAME ID NAME


3 test_03 3 test_03

3 test_03 3 test_03_03

    • 5 test_05
    • 4 test_04

4 record(s) selected.

相关推荐
Ai 编码助手14 分钟前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
P.H. Infinity16 分钟前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天19 分钟前
java的threadlocal为何内存泄漏
java
陈燚_重生之又为程序员29 分钟前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle31 分钟前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻32 分钟前
MySQL排序查询
数据库·mysql
萧鼎34 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^36 分钟前
数据库连接池的创建
java·开发语言·数据库
苹果醋340 分钟前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神41 分钟前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle