• SQL 课程 子查询


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

    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

  • 相关阅读:
    AtCoder agc023_f
    CodeForces 1328
    洛谷 P4437
    Spark读取txt文件跳过第一行
    斯特林数学习笔记。
    hackrank subsets
    题解 CF1004F 【Sonya and Bitwise OR】
    [NOI2020]美食家
    Educational Codeforces Round 94 题解
    Delphi 与 C/C++ 数据类型对照表
  • 原文地址:https://www.cnblogs.com/hongsen3/p/5834533.html
Copyright © 2020-2023  润新知