今天,我主要学习了子查询的内容。

create database lianxi0720

go

use lianxi0720
go
create table bumen
(
bcode int primary key,--部门编号
bname varchar(20), --部门名称
bceo varchar(20), --部门负责人
btel varchar(20) --部门电话
)
go
create table renyuan
(
code int primary key identity(10001,1),
name varchar(20),
sex varchar(10),
age int,
bc int
)
go

--设置好外间关系之后来插入数据
--先插入部门的数据
insert into bumen values(1001,'财务部','张三','1234567')
insert into bumen values(1002,'销售部','李四','2345678')
insert into bumen values(1003,'人事部','王五','3456789')
insert into bumen values(1004,'技术部','赵六','4567890')
go

select * from bumen
--插入人员表的信息
insert into renyuan values('张三','男',33,1001)
insert into renyuan values('李四','女',27,1002)
insert into renyuan values('王五','男',25,1003)
insert into renyuan values('赵六','女',24,1004)

insert into renyuan values('王祖蓝','男',38,1001)
insert into renyuan values('马蓉','女',33,1002)
insert into renyuan values('王宝强','男',36,1003)
insert into renyuan values('杨颖','女',28,1004)

insert into renyuan values('郑恺','男',29,1001)
insert into renyuan values('范冰冰','女',40,1002)
insert into renyuan values('张伟','男',30,1003)
insert into renyuan values('蔡依林','女',37,1004)

--查询年纪最大的人的部门名称
select MAX(age) from renyuan
select bc from renyuan where age=40
select bname from bumen where bcode=1002
--子查询
select bname from bumen where bcode=

(select bc from renyuan where age =
(select max(age) from renyuan )
)

--按照年龄排序后的前三个人的所有信息
select top 3 * from renyuan order by age
--按照年龄排序后的6/7/8名人员的所有信息
select top 3 * from renyuan where code not in
(select top 5 code from renyuan order by age)
order by age
--分页查询,要求 一页给显示5条数据
--第一页
select top 5 * from renyuan
--第二页
select top 5 * from renyuan where code not in(select top 5 code from renyuan)
--第三页
select top 5 * from renyuan where code not in(select top 10 code from renyuan)

--总共有几页????
select CEILING( COUNT(*)/5.0) from renyuan
--查询销售部里的年龄大于35岁的人的所有信息
select * from renyuan where code in
(select code from renyuan where age>35 and bc=
(select bcode from bumen where bname='销售部')
)

--查看所有人员信息,将部门编号替代为部门名称
select code , name, sex , age , (select bname from bumen where bumen.bcode= renyuan.bc)as 部门 from renyuan
--将每个人的主管添加上
select code , name, sex , age , (select bname from bumen where bumen.bcode= renyuan.bc)as 部门,
(select bceo from bumen where bumen.bcode= renyuan.bc) from renyuan

SQL 课程 子查询的更多相关文章

  1. SQL Fundamentals: 子查询 || 分析函数(PARTITION BY,ORDER BY, WINDOWING)

    SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...

  2. SQL Fundamentals: 子查询 || WHERE,HAVING,FROM,SELECT子句中使用子查询,WITH子句

    SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...

  3. SQL Fundamentals: 子查询 || 行列转换(PIVOT,UNPIVOT,DECODE),设置数据层次(LEVEL...CONNECT BY)

    SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...

  4. SQL的子查询操作

    对于表中的每一个记录,我们有时候需要提取特殊的或者你需要的记录,要提前做一个表的筛选,之后再对你选出的记录做一个修改,此时你必须使用SQL的子查询操作.如:修改id=5的记录的strContent字段 ...

  5. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  6. SQL关联子查询

    SQL关联子查询执行顺序: 1.先取到主查询中的相关数据,一次取一行主查询的数据 2.然后传入子查询,进行子查询 3.最后做主查询where筛选,注意子查询的where条件同样需要加在主查询后 参考: ...

  7. SQL server 子查询、设置主键外键、变量及变量查询

    一.子查询 子查询,又叫做嵌套查询. 将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. 子查询有两种类型: 一种是只返回一个单值的子查询,这 ...

  8. sql server 子查询 和exists使用

    概述 子查询的概念: 当一个查询是另一个查询的条件时,称之为子查询.子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 外面的 ...

  9. SQL 数据库 子查询、主外键

    子查询,又叫做嵌套查询. 将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. 子查询有两种类型: 一种是只返回一个单值的子查询,这时它可以用在 ...

随机推荐

  1. MySQL之索引优化

    很多数据库系统性能不理想是因为系统没有经过整体优化,存在大量性能低下的SQL 语句.这类SQL语句性能不好的首要原因是缺乏高效的索引.没有索引除了导致语句本身运行速度慢外,更是导致大量的磁盘读写操作, ...

  2. cmd 进入mysql

    从cmd中进入MySQL的命令界面 1.开始中找出运行:输入cmd2.查找appserv所在盘,我的在D盘,所以接着输入:d:3.在d盘中查找mysql所在目录:cd appserv\mysql\bi ...

  3. delphi 快捷键大全

    ************************* 1.功能键 2.组合键 3.其他快捷键 4.补充 5.补充1(带分类) 6.补充2 --Edit by 2013.1.14 ************ ...

  4. 一个IT人士的个人经历,给迷失方向的朋友(转)

    作者: 果子狸  来源: WP开发者社区  发布时间: 2013-11-08 10:43  阅读: 50078 次  推荐: 494   原文链接   [收藏] 这些日子我一直在写一个实时操作系统内核 ...

  5. HDU 5868 Different Circle Permutation(burnside 引理)

    HDU 5868 Different Circle Permutation(burnside 引理) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=586 ...

  6. es6 语法

    1.定义变量 使用let,const.let可以定义变量,相当于var,定义的变量只在局部范围内使用.const用来定义常量. 2.解构 自动解析数组或者对象中的值,比如一个函数要返回多个值,通常的做 ...

  7. Node.js入门 NPM

    参考一 Node入门  七天学会NodeJS  Node.js v4.2.4 手册 & 文档  Node.js 教程 node.js摸石头系列 从零开始学习node.js   What is ...

  8. Hive中频繁报警的问题

    在使用Hive的过程中,是不是会在shell中报一堆警告,虽然说不影响正常使用,但是看着很烦人,而且指不定会影响数据的准确性和运行的稳定性. 警告的内容如下: Tue Aug :: CST WARN: ...

  9. 分布式版本控制系统Git-----8.fst-forward与no fast foward

    当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针.这个过程叫做fastforward. 举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个develop的分 ...

  10. hexo常用命令笔记

    hexo npm install -g hexo npm update -g hexo hexo init 常用 hexo n == hexo new "a new post" 新 ...