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. 九度OJ 1021:统计字符 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5418 解决:3146 题目描述:     统计一个给定字符串中指定的字符出现的次数. 输入:     测试输入包含若干测试用例,每个测试用 ...

  2. cocos2d-js添加艾盟插屏(通过jsb反射机制)

    1.导入jar包 2.修改AndroidManifest.xml文件 添加:         <activity            android:name="com.xingka ...

  3. ubuntu 下解决sublime v3 中文输入法时 退格键删除不了拼音的问题

    ubuntu下,sulime想要支持中文需要这样设置: 1.安装中文输入解决的github git clone https://github.com/lyfeyaj/sublime-text-imfi ...

  4. Appium移动自动化配置-ios&安卓

    官网安装参考:https://www.npmjs.com/package/appium Appium安装 1.安装nodejs 2.安装appium iOS侧环境安装 1.安装xcode 2.安装Xc ...

  5. 解决ubuntu12.04下安装gitlabError Compiling CSS asset的错误以及401资源错误

    安装过程 https://www.gitlab.com.cn/installation/#ubuntu 解决过程 12.04ubuntu坑太多 解决有用的链接如下 https://blog.csdn. ...

  6. debian支持的系统架构介绍

    debian系统支持类型有armel.armhf.i386.amd64.mips.mipsel, powerpc.sparc.s390.s390x等. 详细对比文章见https://www.debia ...

  7. UVA12103 —— Leonardo's Notebook —— 置换分解

    题目链接:https://vjudge.net/problem/UVA-12103 题意: 给出大写字母“ABCD……Z”的一个置换B,问是否存在一个置换A,使得A^2 = B. 题解: 对于置换,有 ...

  8. TopCoder SRM420 Div1 RedIsGood —— 期望

    题目链接:https://vjudge.net/problem/TopCoder-9915 (论文上的题) 题解: 更正:, i>0, j>0 代码如下: #include <ios ...

  9. 分享知识-快乐自己:intellij Idea报错Could not autowire. No beans of...

    intellig idea 使用@Resource或者@Autowire报错,出现红色波浪线: 虽然不影响使用,但是看着很不爽,所以还是解决了下: 报错提示: Could not autowire. ...

  10. ActorModel 概念翻译

    学习 skynet 时初次接触到 ActorModel 模型,始终觉得有必要从宏观上了解 ActorModel 的概念,所以以维基上这篇文章为参考,把文章中的部分内容翻译成中文,好让自己体会一下 Ac ...