sql,内连接和外连接是怎么回事
发布网友
发布时间:2022-04-11 06:19
我来回答
共4个回答
热心网友
时间:2022-04-11 07:48
内连接就是INNER JOIN,也就是两个表之间对应关系相同的数据集
外连接有左连接LEFT JOIN、右连接RIGHT JOIN、全连接FULL JOIN三种
LEFT JOIN:左面表内容的数据集,以及右面表数据集中满足对应关系的数据
RIGHT JOIN:右面表内容的数据集,以及左面表数据集中满足对应关系的数据
FULL JOIN:满足两个表对应关系的数据集,以及不满足对应关系的其他数据
如果看不懂,就找本SQL的书好好看看,呵呵
热心网友
时间:2022-04-11 09:06
内连接是一个表内部的连接如:select * from A a,A b where a.id=b.id
外连接是多个表之间的连接如:select * from A,B where A.id=B.id
热心网友
时间:2022-04-11 10:41
外连接列子多多啦
看一个FULL JOIN和内连接的
先是FULL JOIN的,看了就知道什么意思了。
SQL> select * from t1 full join t2 on t1.id1 = t2.id1;
ID1 ID2 ID3 ID1 ID2 ID3 ID4 ID5
------- --------- ----- ------- --------- ----- --- ---
ba12it abcd1ad a^&^
12it1 ababcda a^a
ba12it1 ababcd1ad a^&^a
it1 ababcd a^^
a12it1 ababcdad a^^a
i abcd1 ^a
it abcd ^
a a a 12 1
it aabcd1 a^a
已选择9行。
SQL> select * from t1 full join t2 on t1.id3 = t2.id3;
ID1 ID2 ID3 ID1 ID2 ID3 ID4 ID5
------- --------- ----- ------- --------- ----- --- ---
12it1 ababcda a^a it aabcd1 a^a
it1 ababcd a^^
a12it1 ababcdad a^^a
ba12it1 ababcd1ad a^&^a
ba12it abcd1ad a^&^
i abcd1 ^a
it abcd ^
a a a 12 1
已选择8行。
【内连接的列子】
SQL> insert into t1 values ('it1','it1','it1');
已创建 1 行。
SQL> select * from t1 a inner join t1 b on a.id1=b.id2;
ID1 ID2 ID3 ID1 ID2 ID3
------- --------- ----- ------- --------- -----
it1 it1 it1 it1 it1 it1
it1 ababcd a^^ it1 it1 it1
SQL> select * from t1 a inner join t1 b on a.id1=b.id1;
ID1 ID2 ID3 ID1 ID2 ID3
------- --------- ----- ------- --------- -----
12it1 ababcda a^a 12it1 ababcda a^a
a12it1 ababcdad a^^a a12it1 ababcdad a^^a
ba12it1 ababcd1ad a^&^a ba12it1 ababcd1ad a^&^a
it1 it1 it1 it1 ababcd a^^
it1 ababcd a^^ it1 ababcd a^^
ba12it abcd1ad a^&^ ba12it abcd1ad a^&^
it1 it1 it1 it1 it1 it1
it1 ababcd a^^ it1 it1 it1
已选择8行。
SQL> select * from t1 a inner join t1 b on a.id2=b.id3;
ID1 ID2 ID3 ID1 ID2 ID3
------- --------- ----- ------- --------- -----
it1 it1 it1 it1 it1 it1
。。。。。。BAIDU把我的空格全冲没了~~
热心网友
时间:2022-04-11 12:32
一楼二楼的回答太经典了……
三楼的才正确
这个要写例子自己看下才知道
光靠概念看不明白的:P