IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL数据库数据查询大型实操 第二波 -> 正文阅读

[大数据]SQL数据库数据查询大型实操 第二波

1、集合查询

  • 并操作UNION (相当于or)
  • 交操作INTERSECT (相当于and)
  • 差操作EXCEPT

2、写第5题时重要的参考

数据库SQL语句中 查询选修了全部课程的学生的学号和姓名 - Angel_Q - 博客园

3、DATEPART() 函数用于返回日期/时间的单独部分,比如年yy、月mm、日dd、小时hh、分钟mi、秒ss等等。eg:截取年份:DATEPART?(yy,'2022-1-1') 返回:2022

GETDATE():获取当前日期函数

课上实训 3个表+15道题

police(pno警号,pid身份证号)

pcase(cno案件编号,cname案件名称,ctype案件类型,cbrief案件简介)

pc(pno警号,cno案件编号,ptime出警时间)

??

(1) 查询“100010”和“100043”警员同时处警的案件编号(分别使用嵌套查询和集合查询实现);

嵌套查询:

select cno
from PC
where pno ='100010' and cno in
(select cno
from PC
where pno ='100043');

集合查询:

(select cno from PC where pno ='100010' )
intersect
(select cno from PC where pno ='100043');

(2) 查询年龄超过平均值的所有警员名单,按年龄的降序显示;

select pname?
from Police?
where page>(select avg(page) from Police )?
order by page desc;?

(3) 按人数降序显示各个案件处警的总人数;

select cno,count(cno)
from pc
group by cno
order by count(cno) desc;

(4) 查询“100010”或“100043”警员处警的案件编号;

select pno,cno from pc where pno = '100010'
union
select pno,cno from pc where pno = '100043';

(5) 查询参与处警全部案件的警员的警号;

select pno?
from pc?
group by pno having count(cno) = (select count(distinct cno) from pc);

(6) 查询各警衔的警员人数,显示警衔、人数;

select prank,count(prank)
from police
group by prank
order by count(prank);

(7) 使用嵌套查询列出“孙宾”处警的案件编号、案件名称、简要案情;

select cno,cname,cbrief
from pcase
where cno in(select cno from PC where pno in(select pno from police where pname='孙宾'));

(8) 使用集合查询列出同时参与案件“201901050081”和“202001100005”处警的警员的警号、警员姓名、职务;

select pno,pname,pduty from police where pno in (select pno from pc where cno='201901050081')
intersect
select pno,pname,pduty from police where pno in (select pno from pc where cno='202001100005')

(9) 查询与“杨刚”警衔相同的警号、姓名、警衔;

select pno,pname,prank from police where prank = (select prank from police where pname='杨刚') and pname != '杨刚';

(10) 分性别统计警员中,年龄小于45岁的警员人数,显示性别、人数;

select psex,count(pno)
from police
where page<45
group by psex;

(11) 查询所有处警警员中男、女警员各多少人;

select psex,count(pno)
from police
where pno in (select distinct pno from pc)
group by psex;

(12) 使用嵌套查询显示“一级警督”的处警情况,显示警号、案件编号;

select pno,cno
from pc
where pno in (select pno from police where prank ='一级警督');

(13) 使用集合查询列出没有处警的警员的警号。

select pno
from police
where pno not in (select pno from pc);

(14) 查询处警时间1年以上的案件编号及处警时间(只计算处警的年份);

select cno,ptime
from pc
where 2022-datepart(yy,ptime)>1
order by cno;

(15) 按照“案件名,处警结束时长”的顺序列出案件的处警情况(其中处警结束时长为当前年份与处警年份的差)

select pcase.cname,2022-datepart(yy,pc.ptime) as '出警结束时长',pcase.ctype,pcase.cno,pcase.cbrief,pc.pno,police.pname
from pcase
inner join pc
on pcase.cno=pc.cno
inner join police
on police.pno=pc.pno
order by pcase.cname,2022-datepart(yy,pc.ptime);

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-10 11:58:25  更:2022-05-10 11:58:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:51:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码