一、子查询补充:

Exists的用法:
select*from haha where exists(select*from bumen where bumen.code=haha.bumen,and bumen.name='销售部')and age>35--相当于循环嵌套语句
一般用法:=
select*from haha where bumen=(select code from bumen where name='销售部')and age>35--括号里面查询出来的当作参数使用
二、连接查询

子查询不仅能放在where后当作条件使用

原句:句式一:Select name,sex,age,bumen from haha

替换句,将haha里的bumen替换成bumen里的code:句式二:Select name,sex,age,(select name from bumen where bumen.code=haha.bumen)as 部门,(select ceo from bumen where bumen.code=haha.bumen) from haha

以上就是连接查询的格式。

简化连接查询语句格式:Select.haha.name,sex,age,bumen.name,ceo from haha,bumen where haha.bumen=bumen.code

还能放在select.和from 中间使用。相当于一个转换函数,查询出来的必须是一行一列。

表与表哪个表在前面就先执行哪个表的查询,必须在表与表之间存在连接关系时才能使用。

1、横向联合

拼接查询--join...on...(将两个表拼在一起显示,最多三个表)

Select haha.name,sex,age,bumen.name,ceo from haha

Join bumen on haha.bumen=bumen.code--将join之后的语句加入到上面的表中。

【注意事项】查询到的结果必须是在select..from之间写出来才能显示。

Join前面可以加三种修饰符:

1)Full join...on

加full:全部列出数据,把两个表中的数据全部显示出来,即使其中一个表中的数据与另一表没有任何关系。

2)Left join..on

加Left:(通过关系显示)显示左边表中的全部数据,按照左边表的顺序排列,而右边表的数据则通过关系排列,右边没有关系的不显示。

3)Right join..on

加right:(通过关系显示)显示右边表的全部数据,按照右表的顺序排序,而左边表的数据通过关系排列,左边没有关系的不显示。

2、纵向联合union:

一个表存放现有数据,另一个表存放已删除的数据.

列必须要对应一致。

1)、将haha表中年龄>40岁或者年龄

Select * from haha where age>40

Union

Select * from haha where age<30

2)、将haha表中name,bumen和bumen表中的ceo,code查询,同时出现在同一个表中

select name,bumen from haha

Union

Select ceo,code,from bumen

【注意事项】1.具备自动去重的功能。

2.数据类型必须对应一致

【案例1】--创建学生信息表:学号、姓名、班级、性别、语文教师编号、数学教师编号、英语教师编号

--创建教师表:教师编号、姓名、课程、性别、出生日期

--创建分数表:语文分数、数学分数、英语分数、学生学号

--分别插入虚拟数据,之后进行查询操作:

约束 除了主键/外键约束,还有其他的约束
1、设置唯一性约束(作为候选索引)提前设置好,防止录入出错;
只要是设置了唯一性的列都可以作为外键使用。
方法二:需要设置唯一键的列名直接加unique.
 例:cid varchar(50) unique
 
2、查看查询代码

3、check约束

表达式可以用and连接(可以加多个表达式),等同于where 条件

SQLserver基础--连接查询、联合查询、索引的更多相关文章

  1. MySQL的查询,子查询,联结查询,联合查询

    MySQL的查询,子查询,联结查询,联合查询 一.mysql查询的五种子句where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 二 ...

  2. 11-04 SQLserver基础--连接查询、联合查询、索引

    一.子查询补充: Exists的用法: select*from haha where exists(select*from bumen where bumen.code=haha.bumen,and  ...

  3. MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

    有二三年没写代码了,**内的工作就是这样,容易废人!看到园子里这么多大侠朝气蓬勃的,我想也要学点东西并和大家分享,共同进步!快乐每一天,进步每一天!言归正传! 通过最近一段时间对MVC5.EF6的学习 ...

  4. SQLServer之多表联合查询

    多表联合查询简介 定义:连接查询是关系型数据库最主要的查询,通过连接运算符可以实现多个表连接数据查询. 分类:内连接,外连接,全外连接. 内连接 定义 内联接使用比较运算符根据每个表的通用列中的值匹配 ...

  5. MySQL数据库8 -子查询,联合查询

    一 使用IN关键字的子查询 问题: 查询游戏类型是'棋牌类' 的游戏的分数信息 - 游戏分数表中并未包含游戏类型信息 思路一:采用链接查询 思路二: 分两步进行,首先找到所以'棋牌类'游戏的编号,再以 ...

  6. MySQL数据库 —子查询,联合查询

    一 使用IN关键字的子查询 1.查询游戏类型是'棋牌类' 的游戏的分数信息 游戏分数表中并未包含游戏类型信息 思路一:采用链接查询 思路二: 分两步进行,首先找到所以'棋牌类'游戏的编号,再以这一组编 ...

  7. 子查询 & 联合查询

    子查询 嵌套在其他语句内部的select语句称为子查询或内查询,外层的语句可以是insert.update.delete.select等,一般select作为外层语句较多.外面如果为select语句, ...

  8. MSSQLServer基础05(联合查询,连接查询)

    联合结果集union(集合运算符) 集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个 ...

  9. SqlSever基础 union all 联合查询,简单的组合 两个查询结果拼在一起

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

随机推荐

  1. Oracle SQL调优

    在多数情况下,Oracle使用索引t来更快地遍历表,优化器主要根据定义的索引来提高性能. 但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种 ...

  2. python列表,字典,集合

    初识模块 import sys print(sys.path)#查看化境变量 print(sys.argv)#查看文件的相对路径,但是在pachrm中 会自动转为绝对路径 import os #os. ...

  3. [51Nod1623] 完美消除

    link $solution:$ 首先我们可以发现一个结论,对于一个数 $x$ ,它的最低修改次数为它每位与前去中是否都比此位上的数大,有则答案 $-1$ .因为若有小数则没有办法将其答案贡献变低. ...

  4. C#设计模式:解释器模式(Interpreter Pattern)

    一,C#设计模式:解释器模式(Interpreter Pattern) 1,解释器模式的应用场合是Interpreter模式应用中的难点,只有满足“业务规则频繁变化,且类似的模式不断重复出现,并且容易 ...

  5. Zookeeper入门概要

    ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现.ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集 ...

  6. HTML-美化

    1.美化文本 1.1第一部分 font-size:字体大小,常用em.px.%.rem作单位,预设值small.large.medium,可继承, font-weight:加粗字体,属性为bold,加 ...

  7. 56. Merge Intervals (JAVA)

    Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8, ...

  8. 关于spring 获取不到网站上的xsd的处理记录

    前两天做一个项目还好好的,今天突然报出这个错误 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration ...

  9. HBase(一)——HBase介绍

    HBase介绍 1.关系型数据库与非关系型数据库 (1)关系型数据库 ​ 关系型数据库最典型的数据机构是表,由二维表及其之间的联系所组成的一个数据组织 ​ 优点: ​ 1.易于维护:都是使用表结构,格 ...

  10. 美国Science公布:全球125个最前沿的科学难题(图)

    文章来源:https://www.toutiao.com/i6637224168045675021 美国Science在庆祝创刊125周年之际,公布了125个最具挑战性的科学问题.这些前沿科学和研究方 ...