国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类SQL Server → SQL多表连接查询

SQL多表连接查询

我要评论 2012/07/08 23:50:01 来源:国语自产精品视频在线看 编辑:downcc.com [ ] 评论:0 点击:137次

inner join,full outer join,left join,right jion
内部连【nèi bù lián】接 inner join 两表【biǎo】😿都满足的组合【de zǔ hé】🤾
full outer 全连【quán lián】 两表【biǎo】相⛴同的组【tóng de zǔ】合🤾在一起,A表【biǎo】有💴,B表【biǎo】😿没有的数据(显示为【xiǎn shì wéi】🚡null),同样B表【biǎo】有💴
A表【biǎo】😿没有的显示为【xiǎn shì wéi】🚡(null)
A表【biǎo】😿 left join B表【biǎo】😿 左连【zuǒ lián】🌧,以A表【biǎo】😿为【wéi】🌕基础【jī chǔ】⏺,A表的全【biǎo de quán】📟部数据,B表【biǎo】有的🎟组合🤾。没有的为【wéi】🌕null
A表【biǎo】😿 right join B表【biǎo】😿 右连🤔,以B表【biǎo】😿为【wéi】🌕基础【jī chǔ】⏺,B表的全【biǎo de quán】📟部数据,A表【biǎo】😿的有的组合【de zǔ hé】🤾。没有的为【wéi】🌕null

查询分析器中【xī qì zhōng】执行🍷:
--建表【jiàn biǎo】🤮table1,table2:
create table table1(id int,name varchar(10))
create table table2(id int,score int)
insert into table1 select 1,'lee'
insert into table1 select 2,'zhang'
insert into table1 select 4,'wang'
insert into table2 select 1,90
insert into table2 select 2,100
insert into table2 select 3,70
如表
-------------------------------------------------
table1|table2|
-------------------------------------------------
idname|idscore|
1lee|190|
2zhang|2100|
4wang|370|
-------------------------------------------------

以下均在查询分析器中执行

一、外【wài】连接🚿
1.概念:包括左【bāo kuò zuǒ】🎫向外联【xiàng wài lián】接🚿、右向外联【xiàng wài lián】接🚿或完整外【wài】🗾部联接【lián jiē】🚿

2.左连接:left join 或 left outer join
(1)左向外【zuǒ xiàng wài】联接的【lián jiē de】🚐结果集🔌包括【bāo kuò】 LEFT OUTER 子句中【zǐ jù zhōng】🥁指定的左表的【zuǒ biǎo de】所有行【háng】🤩,而不仅【ér bú jǐn】仅是联接列所匹配的行【háng】🤩。如果左🔭表的某【biǎo de mǒu】⏭行在右【háng zài yòu】🎾表中没【biǎo zhōng méi】有匹配行【háng】🤩,则在相关联的结果集🔌行【háng】中右🕷表的所有选择列表列均为空【jun1 wéi kōng】💿值(null)。
(2)sql语句
select * from table1 left join table2 on table1.id=table2.id
-------------结果🤷-------------
idnameidscore
------------------------------
1lee190
2zhang2100
4wangNULLNULL
------------------------------
注释【zhù shì】:包含🏺table1的所有子句,根据指【gēn jù zhǐ】定条件【dìng tiáo jiàn】返回🙈table2相应的字段😙,不符合🤳的以null显示

3.右连接【jiē】:right join 或 right outer join
(1)右向外【yòu xiàng wài】联接【jiē】是🤤左向外联接【jiē】的反向联🤕接【jiē】。将返回【jiāng fǎn huí】🦃右表的所有行。如果右表的某行在左【háng zài zuǒ】🔎表中没【biǎo zhōng méi】🐶有匹配行,则将为【zé jiāng wéi】👗左表返回空值。
(2)sql语句【yǔ jù】
select * from table1 right join table2 on table1.id=table2.id
-------------结果-------------
idnameidscore
------------------------------
1lee190
2zhang2100
NULLNULL370
------------------------------
注释【zhù shì】🤙:包含table2的所有子句㊗,根据指【gēn jù zhǐ】定条件【dìng tiáo jiàn】返回table1相应的🥈字段,不符合🕑的以null显示【xiǎn shì】🦔

4.完整外【wán zhěng wài】部联接【bù lián jiē】:full join 或【huò】 full outer join
(1)完整外【wán zhěng wài】部联接【bù lián jiē】返回左👞表和右【biǎo hé yòu】表中的所有行🍥。当某行🗾在另一【zài lìng yī】个表中【gè biǎo zhōng】🔃没有匹🔢配行时【pèi háng shí】🍣,则另一🔕个表的选择列表列包含空值📸。如果表之间有匹配行,则整个♊结果【jié guǒ】集行包含基表的数据值。
(2)sql语句🔕
select * from table1 full join table2 on table1.id=table2.id
-------------结果【jié guǒ】-------------
idnameidscore
------------------------------
1lee190
2zhang2100
4wangNULLNULL
NULLNULL370
------------------------------
注释【zhù shì】🍥:返回左👞右连接【yòu lián jiē】的和(见上左、右连接【yòu lián jiē】)

二、内连接
1.概念🖍:内联接【nèi lián jiē】是用比🤒较运算❄符比较要联接【yào lián jiē】列的值的联接【de lián jiē】

2.内连接:join 或【huò】🗜 inner join

3.sql语句【yǔ jù】📭
select * from table1 join table2 on table1.id=table2.id
-------------结果✔-------------
idnameidscore
------------------------------
1lee190
2zhang2100
------------------------------
注释:只返回【zhī fǎn huí】符合条🎒件的table1和【hé】table2的列

4.等价【děng jià】(与下列执行效🥫果相同)
A:select a.*,b.* from table1 a,table2 b where a.id=b.id
B:select * from table1 cross join table2 where table1.id=table2.id (注【zhù】:cross join后加条🚊件只能【jiàn zhī néng】用where,不能用🎋on)

三、交叉连接(完全)

1.概念【gài niàn】:没有 WHERE 子句的♏交叉联接将产生联接所涉及【suǒ shè jí】的表的【de biǎo de】笛卡尔🈁积【jī】。第一个【dì yī gè】📑表的行🌱数乘以🈸第二个表的行🌱数等于【shù děng yú】笛卡尔🈁积【jī】结果集的大🎆小。(table1和【hé】table2交叉连接产生3*3=9条记录【tiáo jì lù】⤴)

2.交叉连🍾接:cross join (不带条【bú dài tiáo】件【jiàn】🔹where...)

3.sql语句【yǔ jù】
select * from table1 cross join table2
-------------结果【jié guǒ】-------------
idnameidscore
------------------------------
1lee190
2zhang190
4wang190
1lee2100
2zhang2100
4wang2100
1lee370
2zhang370
4wang370
------------------------------
注释【zhù shì】💼:返回⬆3*3=9条记录,即笛卡尔积🔴

关键词:SQL

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视