SQL语句(inner join,left out join,right out join三者的不同用法)

学习 时间:2026-04-01 03:24:08 阅读:5522
SQL语句(inner join,left out join,right out join三者的不同用法)外连接 交叉连接,尤其是标题的几个详细用法 ,最好能给个示例,

最佳回答

忧郁的汉堡

无奈的鸡

2026-04-01 03:24:08

left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。
right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。
inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。
full join:外连接,返回两个表中的行:left join + right join
cross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。
declare @a table(a int,b int)
declare @b table(a int,b int)
insert @a values(1,1)
insert @a values(2,2)
insert @b values(1,1)
insert @b values(3,3)
select * from @a
select * from @b
--左:
select * from @a Aa left join @b Bb on Aa。a=Bb。a
--右:
select * from @a Aa right join @b Bb on Aa。a=Bb。a
--内
select * from @a Aa inner join @b Bb on Aa。a=Bb。a
--外:
select * from @a Aa full join @b Bb on Aa。a=Bb。a
--交叉连接
select * from @a cross join @b
看了就明白了

最新回答共有2条回答

  • 端庄的萝莉
    回复
    2026-04-01 03:24:08

    left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。full join:外连接,返回两个表中的行:left join + right joincross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。declare @a table(a int,b int)declare @b table(a int,b int)insert @a values(1,1)insert @a values(2,2)insert @b values(1,1)insert @b values(3,3)select * from @a select * from @b--左:select * from @a Aa left join @b Bb on Aa。a=Bb。a--右:select * from @a Aa right join @b Bb on Aa。a=Bb。a--内select * from @a Aa inner join @b Bb on Aa。a=Bb。a--外:select * from @a Aa full join @b Bb on Aa。a=Bb。a--交叉连接select * from @a cross join @b看了就明白了

上一篇 雅思在哪里考比较简单?

下一篇 带有比喻的词语水平( )( )