SQL数据库关联是什么怎么用

SQL数据库关联是什么怎么用,第1张

使用外联

仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回

FROM

子句中提到的至少一个表或视图的所有行,只要这些行符合任何

WHERE

HAVING

搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。

Microsoft®

SQL

Server™

2000

对在

FROM

子句中指定的外联接使用以下

SQL-92

关键字:

LEFT

OUTER

JOIN

LEFT

JOIN

RIGHT

OUTER

JOIN

RIGHT

JOIN

FULL

OUTER

JOIN

FULL

JOIN

SQL

Server

支持

SQL-92

外联接语法,以及在

WHERE

子句中使用

=

=

运算符指定外联接的旧式语法。由于

SQL-92

语法不容易产生歧义,而旧式

Transact-SQL

外联接有时会产生歧义,因此建议使用

SQL-92

语法。

使用左向外联接

假设在

city

列上联接

authors

表和

publishers

表。结果只显示在出版商所在城市居住的作者(本例中为

Abraham

Bennet

Cheryl

Carson)。

若要在结果中包括所有的作者,而不管出版商是否住在同一个城市,请使用

SQL-92

左向外联接。下面是

Transact-SQL

左向外联接的查询和结果:

USE

pubs

SELECT

aau_fname,

aau_lname,

ppub_name

FROM

authors

a

LEFT

OUTER

JOIN

publishers

p

ON

acity

=

pcity

ORDER

BY

ppub_name

ASC,

aau_lname

ASC,

aau_fname

ASC

如有表

a(col1,col2),

a,1

b,1

b(col1,col2)

a,3

c,2

内部联接是指只返回符合联接条件的资料,

如select from a join b on acol1 = bcol1 只返回符合条件acol1 = bcol1的资料

结果如下

a,1,a,3

左外联接不仅返回符合条件的资料还返回左表中的资料

如select from a left join b on acol1 = bcol1 返回符合条件acol1 = bcol1的资料,及a中其馀不符

合条件的资料,此时b中对应的资料为null

结果如下

a,1,a,3

b,1,null,null

右外联接不仅返回符合条件的资料还返回右表中的资料

如select from a right join b on acol1 = bcol1 返回符合条件acol1 = bcol1的资料,及b中其馀不符合条件的资料,此时a中对应的资料为null

结果如下

a,1,a,3

null,null,c,2

1INNER JOIN (内连接)

        内连接是一种一一映射关系,就是两张表都有的才能显示出来

            SELECT APK AS A_PK,AValue AS A_Value,BPK AS B_PK,BValue AS B_Value

            FROM table_a A

            INNER JOIN table_b B

            ON APK = BPK;

2LEFT JOIN (左连接)

        左连接是左边表的所有数据都有显示出来,右边的表数据只显示共同有的那部分,没有对应的部分只能补空显示,所谓的左边表其实就是指放在left join的左边的表

用韦恩图表示如下:

                SELECT APK AS A_PK,AValue AS A_Value,BPK AS B_PK,BValue AS B_Value

               FROM table_a A

                LEFT JOIN  table_b B

                ON APK = BPK;

3RIGHT JOIN(右连接)

        右连接正好是和左连接相反的,这里的右边也是相对right join来说的,在这个右边的表就是右表

用韦恩图表示如下:

            SELECT APK AS A_PK,AValue AS A_Value,BPK AS B_PK,BValue AS B_Value

            FROM table_a A

            RIGHT JOIN  table_b B

            ON APK = BPK;

4OUTER JOIN(外连接、全连接){mysql不支持外连接}

        查询出左表和右表所有数据,但是去除两表的重复数据

韦恩图表示如下:

            SELECT APK AS A_PK,AValue AS A_Value,BPK AS B_PK,BValue AS B_Value

            FROM table_a A

            FULL  JOIN table_b B

            ON APK = BPK;

悬浮元组:

    在自然连接中,被舍弃的元组被称为悬浮元组

1、 左连接

    是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。左联接的结果集包括 LEFT 子句中指定的左表的所有行,而不仅仅是联接列所 匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

2、 右联接

    是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值

3     全连接:

        是返回两个表中的所有的值,没有对应的数据则输出为空。

         内连接

                       等值连接

                       非等值连接

                       自链接

         外连接

                        左外连接

                        右外连接

                        全外连接

         交叉连接

数据库中有两种联接:内连接,外连接。

一、其中内连接就是一般的相等连接。

如:select from a, b where aid = bid

二、外连接

对于外连接,可以分为左外连,右外连,全外连。详细介绍如下:

1 LEFT OUTER JOIN:左外关联

SELECT elast_name, edepartment_id, ddepartment_name

FROM employees e

LEFT OUTER JOIN departments d

ON (edepartment_id = ddepartment_id);

结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

2 RIGHT OUTER JOIN:右外关联

SELECT elast_name, edepartment_id, ddepartment_name

FROM employees e

RIGHT OUTER JOIN departments d

ON (edepartment_id = ddepartment_id);

结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

3 FULL OUTER JOIN:全外关联

SELECT elast_name, edepartment_id, ddepartment_name

FROM employees e

FULL OUTER JOIN departments d

ON (edepartment_id = ddepartment_id);

结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

你可以自己建两张表,到库里看看到底是怎样的数据,这样你就会很容易理解了!

1意思不一样。

左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来。

右连接:右连接是只要右边表中有记录,数据就能检索出来。

2用法不一样。

右连接与左连接相反,左连接A LEFT JOIN B,连接查询的数据,在A中必须有,在B中可以有可以没有。

3空值不一样。

左连接是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

定义:

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。

即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

以上就是关于SQL数据库关联是什么怎么用全部的内容,包括:SQL数据库关联是什么怎么用、解释数据库中左联,内联,右联的用法、数据库左连接、右连接、内连接、全连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9807401.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存