这是一道经典SQL题

建表语句

 --产品表
create table Production(P# int not null,Pname varchar2(32),Pdate date);
alter table Production add constraint pk_p# primary key (P#);insert into Production values(1,'产品A',to_date('2017-6-25','yyyy-mm-dd'));
insert into Production values(2,'产品B',to_date('2017-5-25','yyyy-mm-dd'));
insert into Production values(3,'产品C',to_date('2016-8-10','yyyy-mm-dd'));--代理商表
create table Agent(A# int not null,Aname varchar2(32));
--添加主键
alter table Agent add constraint pk_a# primary key (A#);insert into Agent values(1,'AAA有限公司');
insert into Agent values(2,'BBB有限公司');
insert into Agent values(3,'CCC有限公司');--销售人员表
create table Sales(S# int not null,Sname varchar2(32),A# int not null);
alter table Sales add constraint pk_s# primary key (S#);
alter table Sales add constraint fk_a# foreign key (A#) references Agent(A#);insert into Sales values(1,'小赵',2);
insert into Sales values(2,'小钱',2);
insert into Sales values(3,'小孙',3);
insert into Sales values(4,'小李',1);
insert into Sales values(5,'小石',3);
insert into Sales values(6,'小刘',1);--销售量表
create table Deal(S# int not null,P# int not null,Volume int not null);
alter table Deal add constraint fk_s# foreign key (S#) references Sales(S#);
alter table Deal add constraint fk_p# foreign key (P#) references Production(P#);insert into Deal values(1,1,21);
insert into Deal values(1,2,56);
insert into Deal values(1,3,33);
insert into Deal values(2,2,120);
insert into Deal values(2,1,32);
insert into Deal values(2,3,26);
insert into Deal values(3,1,73);
insert into Deal values(3,3,45);
insert into Deal values(4,2,111);
insert into Deal values(4,3,84);
insert into Deal values(5,3,52);
insert into Deal values(5,1,38);
insert into Deal values(5,2,91);
insert into Deal values(6,2,36);
insert into Deal values(6,3,48);
insert into Deal values(6,1,15);

1.查询销量最高的产品的前两名使用 in 关键字

 --查询销量最高的产品的前两名使用 in 关键字
select * from dealselect p.* from Production p  where p.p# in (
select d.dp from (
select d.p# dp ,sum(d.volume) from deal d group by d.p#     order by   sum(d.volume) desc
) d
where rownum<=2)

2.查询每种产品销售量最高的销售人员 (使用 group by 关键字)

 --查询每种产品销售量最高的销售人员 (使用 group by 关键字)-- select d.p#       , max(d.volume) from deal d group by d.p#      ---  select * from deal d  select * from sales  s where s.s# in( select d.s# from deal d ,( select d.p# dp , max(d.volume) m from deal d group by d.p#   ) b where d.volume =b.m and  d.p# =b.dp)

3.查询产品编号为2 且 销售量超过100的姓名及所在公司

--查询产品编号为2 且 销售量超过100的姓名及所在公司select a.a#, a.aname ,hh.sn from agent  a ,(select  s.a# sa , s.sname  sn from sales s where s.s# in(select d.s# from deal d where d.p#=2 and d.volume>100))    hhwhere a.a#  =hh.sa

4.查询所有代理商所有产品的销售量

 --查询所有代理商所有产品的销售量--select d.p# dp ,sum(d.volume) from deal d group by d.p#     order by   sum(d.volume) desc--select a.*,s.* from agent a -- left join sales s-- on   a.a# =s.a#
--  left join deal d
--  on s.s#=d.s#--select a.*,s.* from agent a , sales s   where a.a#=s.a# select e.aa,sum(e.bb) from( select a.a# aa ,a.*   , s.* ,    (select  sum(d.volume)  from deal d where d.s#=s.s# ) bbfrom agent a , sales s   where a.a#=s.a#  ) e  group by e.aa

5.查询每个产品有多少个销售人员在销售

 --查询每个产品有多少个销售人员在销售
select * from deal d
select d.p#,count(d.s#) from deal d  group by d.p#

6.查询名称包含BBB的代理商的所有销售人员

--查询名称包含BBB的代理商的所有销售人员select a.*,s.* from agent a left join sales son   a.a# =s.a#where a.aname like '%BBB%'

7.查询总销量最差的产品

--查询总销量最差的产品
select  *  from Production p where p.p# in
(select d.dp from (select d.p# dp ,sum(d.volume) from deal d group by d.p#     order by            sum(d.volume) desc
) d
where rownum<=1)

8.查询2017年生产的产品总销量

 --查询2017年生产的产品总销量select  sum(f.ff)  from  Production p,
(
select d.p# dp ,sum(d.volume) ff from deal d group by d.p#     order by   sum(d.volume) desc
) fwhere  to_char(p.pdate,'yyyy')='2017'  and f.dp=p.p#

祝你幸福
送你一首歌:《Something Just Like This》The Chainsmokers
附图:稻城亚丁 水蓝色星球上的最后一片净土 国家地理 作者: 车可

SQL语句经典面试题相关推荐

  1. sqlserver sql语句|经典sql语句|实用sql语句

    sqlserver sql语句|经典sql语句|实用sql语句 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop databa ...

  2. SQL语句经典50题

    Sql语句经典50题 注:数据库版本为mysql 8.0 #学生表 CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) N ...

  3. sql语句常见面试题

    sql语句常见面试题 1.建表 (1)student学生信息表 CREATE TABLE student (id INT (20) NOT NULL,NAME VARCHAR (20) NOT NUL ...

  4. 软件测试面试中会碰到sql语句的笔试题

    在面试大公司的时候,很多情况下都有笔试题,笔试题经常包含软件测试的基础知识点.逻辑题.等等,有时候也会碰到关于sql语句的题目,今天来列举一些简单的sql语句,希望对大家有所帮助. 创建表语句 SET ...

  5. SQL语句常见面试题(一)

    SQL语句中常用关键词及其解释如下: 1)SELECT 将资料从数据库中的表格内选出,两个关键字:从 (FROM) 数据库中的表格内选出 (SELECT).语法为 SELECT "栏位名&q ...

  6. 使用with语句来写一个稍微复杂sql语句(经典,转载)

    偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章,自己添加了一些内容,做了简单的总结,这个语句还是第一次见到,学习了.我从简单到复杂地写,希望 ...

  7. Hive SQL 五大经典面试题

    目录 第 1 题 连续问题 分析: 解法: 第 2 题 分组问题 分析: 解法: 第 3 题 间隔连续问题 分析: 解法: 第 4 题 打折日期交叉问题 分析: 解法: 第 5 题 同时在线问题 分析 ...

  8. 数据库SQL命令经典面试题65道

    员工表 部门表 工种表 位置表 以下65道经典题目都是围绕这四张表进行的操作 1.查询员工的姓.名和薪资,并且姓和名拼接起来 (别名:AS 或者as可以省略) SELECT CONCAT(first_ ...

  9. sql语句相关面试题

    朋友面试的基础数据库面试题,自己做了下 业务情景限制: 1. 一个班级有且有多名学生,一名学生只属于一个班级: 2. 学生有可能没有成绩: 考题: (1) 查询所有学生的信息(学号.姓名.性别.班级名 ...

最新文章

  1. C#Swagger使用
  2. 浅谈视觉设计的准确性
  3. 基于React Native和Ethers.js的电子钱包(三):Ethers.js
  4. 拷贝的Android源码不能单独编译mmm命令提示找不到
  5. 跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析
  6. qlabel文本改变信号_周明:NLP进步将如何改变搜索体验
  7. java spring注入 静态方法_java相关:spring为类的静态属性实现注入实例方法
  8. 浏览器专属 CSS Hack:区分 Firefox / Opera / Safari / Internet Explorer
  9. java+创建metaq生产者_微服务架构【技术点4】windows下rocketMQ配置及java端生产者消费者配置-Go语言中文社区...
  10. 使用反射获取类的静态属性值
  11. 鱼哥,我怕蛇,可以搞Python么?
  12. github 从0开始的基本操作到fork和pr项目
  13. 解决Ubuntu 22.04 LTS作为nfs server时根文件系统挂载失败的问题
  14. 自学编程,痛并快乐着
  15. mysql8 vs postgresql_“王者对战”之 MySQL 8 vs PostgreSQL 10
  16. 软件测试周刊(第52期):世事多难料,唯独花期会如期。
  17. 双球坐标系_2.1 天球坐标系和地球坐标系
  18. 获取文件夹里图片的所有名称,并在Excel里进行统计
  19. seamless clone
  20. 【Apache S4 介绍】

热门文章

  1. 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。
  2. CSS3 连续向下循环播放动画
  3. 线程都有哪几种状态?
  4. 申请linux邮件列表
  5. [UML 扫盲]什么是UML?
  6. 22 freertos信号量
  7. C++using声明和using指示
  8. 核心频率个加速频率_NVIDIA GTX 1650正式升级GDDR6显存:核心频率砍一刀
  9. vb html单选按钮,VB单选按钮和复选框练习
  10. android 耳机数据线,如果买安卓手机不送充电器和耳机?你还买不买