28.MySQL中的左(右)外连接 LEFT(RIGHT) [OUTER] JOIN

1.准备

<code>

CREATE

DATABASE

mahaiwuji;

USE

mahaiwuji;

CREATE

TABLE

grade(

id

INT

(

4

) PRIMARY

KEY

,

name

VARCHAR

(

36

) )

ENGINE

=

INNODB

DEFAULT

CHARSET

= utf8;

INSERT

INTO

grade

VALUES

(

1

,

'一班'

);

INSERT

INTO

grade

VALUES

(

2

,

'二班'

);

INSERT

INTO

grade

VALUES

(

3

,

'三班'

);

INSERT

INTO

grade

VALUES

(

4

,

'四班'

);

CREATE

TABLE

student(

id

INT

(

4

) PRIMARY

KEY

,

name

VARCHAR

(

36

), gid

INT

(

4

) )

ENGINE

=

INNODB

DEFAULT

CHARSET

= utf8;

INSERT

INTO

student

VALUES

(

1

,

'a1'

,

1

);

INSERT

INTO

student

VALUES

(

2

,

'a2'

,

1

);

INSERT

INTO

student

VALUES

(

3

,

'a3'

,

2

);

INSERT

INTO

student

VALUES

(

4

,

'a4'

,

2

);

INSERT

INTO

student

VALUES

(

5

,

'a5'

,

3

);

INSERT

INTO

student

VALUES

(

6

,

'a6'

,

3

);

INSERT

INTO

student

VALUES

(

7

,

'a7'

,

3

);

INSERT

INTO

student

VALUES

(

8

,

'a8'

,

3

);

INSERT

INTO

student

VALUES

(

9

,

'a9'

,

5

);/<code>
28.MySQL中的左(右)外连接 LEFT(RIGHT) [OUTER] JOIN

28.MySQL中的左(右)外连接 LEFT(RIGHT) [OUTER] JOIN

2.左外连接

左外连接是外连接查询中的一种,也可以将其称为左连接。

它用于返回连接关键字(LEFT JOIN)左表中所有的记录,以及右表中符合连接条件的记录。

当左表的某行记录在右表中没有匹配的记录时,右表中相关的记录将设为空值。

语法

<code>

SELECT

查询字段

FROM

1

LEFT

[

OUTER

]

JOIN

2

ON

匹配条件;/<code>

关键字“LEFT [OUTER] JOIN”左边的表(表1)被称为左表,也可称为主表

关键字右边的表(表2)被称为右表,也可称为从表

OUTER在查询时可以省略。

<code>

SELECT

*

FROM

grade

LEFT

JOIN

student

ON

grade.id=student.gid;/<code>
28.MySQL中的左(右)外连接 LEFT(RIGHT) [OUTER] JOIN

3.右外连接

右外连接也是外连接查询中的一种,可以将其称为右连接。

它用于返回连接关键字(RIGHT JOIN)右表(主表)中所有的记录,以及左表(从表)中符合连接条件的记录。

当右表的某行记录在左表中没有匹配的记录时,左表中相关的记录将设为空值。

语法

<code>

SELECT

查询字段

FROM

1

RIGHT

[

OUTER

]

JOIN

2

ON

匹配条件;/<code>
<code>

SELECT

*

FROM

grade

RIGHT

JOIN

student

ON

grade.id=student.gid;/<code>
28.MySQL中的左(右)外连接 LEFT(RIGHT) [OUTER] JOIN

4.总结

  1. 外连接是最常用的一种查询数据的方式,分为左外连接(LEFT JOIN)和右外连接(RIGHT JOIN)。
  2. 外连接与内连接的区别是,内连接只能获取符合连接条件的记录,而外连接不仅可以获取符合连接条件的记录,还可以保留主表与从表不能匹配的记录。
  3. 右连接查询正好与左连接相反。因此,在应用外连接时仅调整关键字(LEFT JOIN或RIGHT JOIN)和主从表的位置,即可实现左连接和右连接的互换使用。


分享到:


相關文章: