码迷,mamicode.com
首页 > 数据库 > 详细

Sql Server数据库之多表查询

时间:2019-01-13 14:58:57      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:查询   prim   style   分享图片   技术分享   weight   右连接   条件   链接   

一.连接查询

  概念:根据两个表或多个表的列之间的关系,从这些表中查询数据

  目的:实现多表查询操作

  语法:From join_table join_type join_table[ON(join_condition)]

      join_table:连接的表名

      join_type:连接类型

      join_condition:连接条件

  连接类型:内连接,外连接,交叉连接

二.内连接

  1.等值连接

    概念:在连接条件中使用"="运算符,其查询结果中列出被连接表中的所有列,包括其中的重复列

    示例:

 1 create table student
 2 (
 3     studentId int not null primary key,
 4     studentName nvarchar(20) not null,
 5     classId int not null
 6 )
 7 create table class
 8 (
 9     classId int not null primary key,
10     className nvarchar(20) not null
11 )
12 insert into student values(1,岳云鹏,1);
13 insert into student values(2,郭德纲,1);
14 insert into student values(3,郭麒麟,1);
15 insert into student values(4,孙越,2);
16 insert into student values(5,于谦,2);
17 insert into student values(6,阎鹤翔,2);
18 insert into class values(1,逗哏班);
19 insert into class values(2,捧哏班);
20 select * from student s inner join class c on s.classId = c.classId 

技术分享图片

  2.不等值连接

    概念:在连接条件中使用除等号之外的运算符

    示例:

1 select * from student s inner join class c on s.classId != c.classId

技术分享图片

三.外链接

  1.左连接

    左表结构:

      技术分享图片

    右表结构:

      技术分享图片

     左连接查询:

select * from student s left join class c on s.classId = c.classId

     查询结果:

      技术分享图片    

  总结:左连接:返回左表中的所有行,如果左表行在右表中没有匹配行,则结果中右表中的列返回控制

  2.右连接

     右连接查询: 

      

select * from student s right join class c on s.classId = c.classId

     查询结果:

      技术分享图片

   总结:右连接:恰与左连接相反,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。

  3.全连接

    全连接查询

select * from student s right join class c on s.classId = c.classId

    查询结果

      技术分享图片

    总结:全连接:返回左表和右表中的所有行,当某行在另一表中没有匹配行,则灵异表中的列返回空值

四.交叉连接(笛卡尔积)

  1.不带where子句

    执行交叉连接:

select * from student cross join class

    查询结果:

      技术分享图片

  2.带where子句

    执行交叉连接:

select * from student s cross join class c where s.classId = c.classId

    查询结果:

技术分享图片  技术分享图片

    

  

Sql Server数据库之多表查询

标签:查询   prim   style   分享图片   技术分享   weight   右连接   条件   链接   

原文地址:https://www.cnblogs.com/alan-1996/p/10262452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!