Join的用法

t1表的结构与数据如下:

t1表
t2 表的结构与数据如下:
t2表

inner join

select * from t1 inner join t2 on t1.id = t2.id;

inner join
inner join会把 公共部分的数据查询出来
inner join查询结果

left join

select * from t1 left join t2 on t1.id = t2.id;

left join
left join查询出来的 结果和前表记录数一样多,后表如果没有对应记录,则列为空
left join查询结果

right join

right join能转化为left join,例如:

select * from t1 right join t2 on t1.id = t2.id;

能转化为

select * from t2 left join t1 on t1.id = t2.id;

只是前表发生了变化而已。


大伙可结合自己的业务场景,选择正确的join。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: left join是一种关系型数据库中的SQL查询语句,用于连接两个或多个表格。left join会返回左侧表格中的所有行,同时匹配右侧表格中的行。如果右侧表格中没有匹配的行,则结果集中右侧表格的列将显示为null。 具体用法如下: ``` SELECT * FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name; ``` 其中,table1和table2是要连接的两个表格,column_name是用于连接两个表格的列名。 left join返回的结果集包含两个表格中所有的列和行,其中左侧表格中的所有行都会被返回,而右侧表格中的行只有在与左侧表格中的行有匹配时才会被返回。如果右侧表格中没有匹配的行,则结果集中右侧表格的列将显示为null。 ### 回答2: 在SQL中,LEFT JOIN(左连接)是一种连接(JOIN)的方式之一,用于将两个或多个表的行与根据特定条件进行匹配并将结果返回。 LEFT JOIN 结合了左边表(主表)和右边表(从表)的数据,保留了左边表中的所有记录,而右边表中没有匹配的记录则返回NULL。 LEFT JOIN 使用的语法如下: SELECT 列表 FROM 左表 LEFT JOIN 右表 ON 连接条件 左表是指要保留所有记录的表,右表是需要连接的表。连接条件则指定了能够将两个表的行进行匹配的条件。 例如,假设有两个表A和B,表A包含了员工的信息,表B包含了员工所属的部门信息。我们需要查询所有员工的信息以及他们所属的部门(如果有的话),可以使用LEFT JOIN来实现: SELECT A.员工姓名, B.部门名称 FROM 表A LEFT JOIN 表B ON A.部门ID = B.部门ID 在这个例子中,LEFT JOIN 将会保留表A中的所有记录,而表B中没有匹配的记录则返回 NULL。这样我们就可以得到所有员工的信息,并且能够显示他们所属的部门(如果有的话)。 总结来说,LEFT JOIN 是一种连接的方式,用于根据连接条件将两个表的行进行匹配,并返回左表中所有记录以及与它们匹配的右表的记录。这在需要保留左表中所有数据的情况下十分有用。 ### 回答3: left join是一种关系型数据库中的查询语句,用于连接两个表并返回左表中的所有记录,以及与右表中匹配的记录。在使用left join时,左边的表被称为左表,右边的表被称为右表。 left join的语法格式如下: SELECT 列名 FROM 左表 LEFT JOIN 右表 ON 左表.列名 = 右表.列名; 左表中的所有行都会被返回,而右表中匹配的行将与左表的对应行进行连接。如果右表中没有与左表中某行匹配的行,则返回的结果集中该行的右表列将为NULL。 例如,有两个表A和B,它们有一个共同的列id。我们想要查询表A中的所有记录,以及与表B中匹配的记录,这时可以使用left join。 SELECT A.id, A.name, B.age FROM A LEFT JOIN B ON A.id = B.id; 这样查询将返回表A中的所有记录,以及与表B中匹配的记录的年龄列。如果没有匹配的记录,年龄列将显示为NULL。 left join的应用场景包括在需要查询两个表中某一列的关联数据时,或者需要获取主表中的所有数据,而次表中一些关联数据可能不存在的情况。 总而言之,left join用于连接两个表并返回左表中的所有记录以及与右表中匹配的记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值