SQL Sever 中的连接

内连接:是一种比较常用的链接查询方式,列出这些基表中与连接条件相匹配的所有数据行。

语法是:

Select select_list

From table1inner join table2

Where search_conditions

Order byorder_expression

给定连个表:一个student 表  一个是grade表

student表

Number

Name

1

张一

2

张二

3

张三

4

张四

 

grade表

Number

Grade

1

90

2

98

3

95

4

 

 

内连接 inner join(查找条件中对应的数据,Number4没有数据不列出来)

语法:select * from student inner join grade on student.Number= grade.Number

结果

student.Number

Name

grade

1

张一

90

2

张二

98

3

张三

95

 

外连接:以某个表为基础把对应数据查出来(全连接是以多个表为基础) 。在使用外连接的时候,所用的基表有主从表之分,连接时是以主表中美行的数据去匹配从表中的数据行。如果符合连接条件则返回到结果中,如果没有匹配行,则主表的行仍然保留,并且返回到结果集中,相应的从表中的数据行则被填上null 值返回到结果集中。

    根据匹配行与不匹配行的主从表形式不同,外链接分为三种类型:左外连接右外连接 全外连接

 

左连接(左表中所有数据,右表中对应数据)

语法:select * from student left join grade on student.Number= grade.Number

结果:

student.Number

Name

grade

1

张一

90

2

张二

98

3

张三

95

4

张四

Null

 

右连接(右表中所有数据,左表中对应数据)

语法:select * from student right join grade on student.Number= grade.Number

结果:

student.Number

Name

grade

1

张一

90

2

张二

98

3

张三

95

 

 

 

 

 

全连接

语法:select * from student full join grade on student.Number= grade.Number

结果:

     

student.Number

Name

grade

1

张一

90

2

张二

98

3

张三

95

4

张四

Null

1

张一

90

2

张二

98

3

张三

95

 

你可能感兴趣的:(SQL Sever 中的连接)