1、基本连接

select A.姓名,A.性别,B.班级名,B.家庭住址
From 学生信息 A,班级信息 B
where A.所属班级=B.班级编号
--把A表与B表连接起来

2、内连接

--内连接语法格式
select select_list
From table1 INNER join table2 [on join_conditions]
where search_conditions
order by order_expression
--INNER可以省略,使用join就把两个表连接起来 例子:
select A。班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A inner join 辅导员信息 B
on A.辅导员=B.辅导员编号 select A。班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A inner join 辅导员信息 B
on A.辅导员=B.辅导员编号 AND B.性别='女'
--注意:B.性别='女'为限制条件,等价于下例
select A。班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A inner join 辅导员信息 B
on A.辅导员=B.辅导员编号
where B.性别='女'

3、外连接包含(左外连接,右外连接,全连接)

外连接有主从表之分。以主表的每行数据匹配i从表中的数据,如果符合条件则直接而返回到查询结果中,如果主表的行在从表中没有找到匹配的行,则主表数据仍保留,并返回到查询结果中,相应的从表中的行被填上空值后也返回到查询结果中。

左外连接(左表时主表)

select A.班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A LEFT OUTER join 辅导员信息 B
on A.辅导员=B.辅导员编号
--OUTER可以省略,但是查询条件放到ON中跟放到where中相差比较大 例子:
select A.班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A LEFT OUTER join 辅导员信息 B
on A.辅导员=B.辅导员编号 AND A.班级人数> select A.班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A LEFT OUTER join 辅导员信息 B
on A.辅导员=B.辅导员编号
where A.班级人数>

右外连接(右表是主表)

select A.班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A RIGHT OUTER join 辅导员信息 B
on A.辅导员=B.辅导员编号

全连接(会显示两个表信息,不匹配的填空值)

select A.班级名,A.班级人数,B.姓名,B.联系方式
From 班级信息 A FULL OUTER join 辅导员信息 B
on A.辅导员=B.辅导员编号

4、交叉连接

他返回被连接的两个表所有数据的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行乘以第二个表中符合查询条件的数据行数。

--语法格式
select select_list
From table1 Cross Join table2
where search_conditions
order by conditions 例子:
select A.班级名称,A.班级人数,B.姓名
From 班级信息 A Cross Join 辅导员信息 B

5、自连接

select A.班级名,A。班级人数,B.班级名
From 班级信息 A,班级信息 B
where A.班级人数=B.班级人数
--注意A和B是同一个表 select A.班级名,A。班级人数,B.班级名
From 班级信息 A,班级信息 B
where A.班级人数=B.班级人数 AND a.班级编号<>B.班级编号
--注意A和B是同一个表
上个例子中会有重复的数据

SqlServer2012——多表连接查询的更多相关文章

  1. SQL多表连接查询(详细实例)

    转载博客:joeleo博客(http://www.xker.com/page/e2012/0708/117368.html) 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:stud ...

  2. SQL多表连接查询

    SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图如下: 表2:course  截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际 ...

  3. oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图

        多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所 ...

  4. Access数据库多表连接查询

    第一次在Access中写多表查询,就按照MS数据库中的写法,结果报语法错,原来Access的多表连接查询是不一样的 表A.B.C,A关联B,B关联C,均用ID键关联 一般写法:select * fro ...

  5. PostgreSQL-join多表连接查询和子查询

    一.多表连接查询 1.连接方式概览 [inner] join 内连接:表A和表B以元组为单位做一个笛卡尔积,记为表C,然后在C中挑选出满足符合on 语句后边的限制条件的内容. left [outer] ...

  6. SQL表连接查询(inner join、full join、left join、right join)

    SQL表连接查询(inner join.full join.left join.right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner ...

  7. SQL的多表连接查询

    SQL的多表连接查询 多表连接查询具有两种规范,SQL92和SQL99规范. SQL92规范支持下列多表连接查询: (1)等值连接: (2)非等值连接: (3)外连接: (4)广义笛卡尔积: SQL9 ...

  8. hibernate 实现多表连接查询(转载)

    http://www.cnblogs.com/lihuiyy/archive/2013/03/28/2987531.html 为了方便,直接粘过来,方便查看.不收藏了 Hibernate主要支持两种查 ...

  9. django ORM model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct

    版权归作者所有,任何形式转载请联系作者.作者:petanne(来自豆瓣)来源:https://www.douban.com/note/301166150/ 1.多表连接查询:感觉django太NX了. ...

随机推荐

  1. 一阶 斜率 二阶 原函数的粗糙度 roughness

    1 2 损失函数+惩罚函数 2阶导数

  2. 关于SAP S4 HANA 的13个问题

    SAP S/4HANA的路线图是怎样的?价格是多少?下一步还将添加哪些新模块?莫不闻专业SAP问答平台结合SAP HANA及SAP HANA应用商务套件开发全球负责人Uwe Grigoleit帮大家整 ...

  3. Python实现简易HTTP服务器

    一.Python3 搭建简易HTTP服务器 python -m http.server 浏览器访问:http://localhost:8000 Python3 cgiserver python -m  ...

  4. ubuntu14开发环境配置

    1 配置JDK1.8 jdk工具从官网下载,我下载到了~/tool目录下,首先进入用户的bash配置目录,打开配置文件: cd ~ vi .bashrc 编辑.bashrc文件,在适当位置或者文件最后 ...

  5. Oracle 数据库SQL

    原作者:http://blog.csdn.net/jihuanliang/article/details/7205968 总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字 ...

  6. JavaScript(3)

    var a=90; switch(a){ case "890": window.alert("ok"); break; case 90: window.aler ...

  7. BrowserSync(省时的浏览器同步测试工具)

    第一步:安装node 第二步:安装BrowserSync npm install -g browser-sync 第三部:启动BrowserSync 假如我在D盘建立一个文件test,里面分别包括in ...

  8. .DS_Store 文件是什么?Mac下面如何禁止.DS_Store生成

    .DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini. 1,禁止.DS_store生成:打开 “终端” ,复制黏贴下 ...

  9. python处理时间汇总

    1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" 将其转换为时间数组 import time timeArray = time.strpt ...

  10. BZOJ_2813_奇妙的Fibonacci_线性筛

    BZOJ_2813_奇妙的Fibonacci_线性筛 Description Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 . . . Fi = Fi-1 + ...