下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目6查询数据——拓展项目任务单任务名称查询“新闻发布系统”数据库数据任务编号3-1任务目标1.熟悉基本查询的编写方法;2.会使用WHERE子句筛选满足条件的数据;3.会使用GROUPBY与聚合函数分组汇总数据;4.会使用连接查询多张表的数据;5.掌握子查询的相关工作原理。任务描述利用新闻发布系统实现如下操作:1.基本查询(1)查询新闻信息表中发布时间在2024年10月以后的数据,返回新闻ID、新闻标题、新闻内容。(2)查询所有“数据库”相关的新闻信息,返回新闻ID、新闻标题、新闻内容。(3)查询用户编号为“202411001”用户的评论记录,返回评论ID、评论标题、评论内容和评论发布的时间。2.多表连接查询(1)查询“国内新闻”类别的所有新闻信息,返回新闻ID、新闻标题、新闻内容。(2)查看3个月内的评论记录,返回评论编号、所属新闻标题、评论标题、评论内容和评论发布的时间。(3)查询用户评论发布列表,返回用户编号,用户名称,评论标题,评论内容。3.分组汇总查询(1)按照新闻栏目分类统计每个栏目的新闻数量,返回栏目ID、栏目名称、新闻数量。(2)统计评论最多的10篇新闻数据,返回新闻ID、标题、评论数量。(3)按照用户编号统计每个用户的评论数量,返回用户ID、用户名、评论数量。4.子查询(1)查询每个新闻栏目中评论数量最多的新闻信息。(2)查询每个分类评论最多的新闻信息。完成方式¨小组协作完成¨个人单独完成负责人参与人员工作流程/**项目6查询数据-新闻发布系统数据库查询脚本*/USENEWS_DB;GO--=============================================--1.基本查询--=============================================--(1)查询新闻信息表中发布时间在2024年10月以后的数据SELECT新闻ID,新闻标题,新闻内容FROM新闻信息表WHERE发布时间>='2024-10-01'GO--(2)查询所有"数据库"相关的新闻信息SELECT新闻ID,新闻标题,新闻内容FROM新闻信息表WHERE新闻标题LIKE'%数据库%'OR新闻内容LIKE'%数据库%';GO--(3)查询用户编号为“202411001”用户的评论记录,返回评论ID、评论标题、评论内容和评论发布的时间。SELECT评论编号AS评论ID,评论标题,评论内容,评论发布时间FROM新闻评论表WHERE用户编号=202411001GO--=============================================--2.多表连接查询--=============================================--(1)查询“国内新闻”类别的所有新闻信息,返回新闻ID、新闻标题、新闻内容SELECTn.新闻ID,n.新闻标题,n.新闻内容FROM新闻信息表nJOIN新闻栏目分类表cONn.栏目ID=c.栏目IDWHEREc.栏目标题='国内新闻';GO--(2)查看3个月内的评论记录,返回评论编号、所属新闻标题、评论标题、评论内容和评论发布的时间。SELECTcm.评论编号,n.新闻标题,cm.评论标题,cm.评论内容,cm.评论发布时间FROM新闻评论表cmJOIN新闻信息表nONcm.新闻ID=n.新闻IDWHEREcm.评论发布时间>=DATEADD(MONTH,-3,GETDATE())GO--(3)查询用户评论发布列表,返回用户编号,用户名称,评论标题,评论内容。SELECTu.用户编号,u.用户名称,cm.评论标题,cm.评论内容FROM新闻评论表cmJOIN用户信息表uONcm.用户编号=u.用户编号;GO--=============================================--3.分组汇总查询--=============================================--(1)按照新闻栏目分类统计每个栏目的新闻数量,返回栏目ID、栏目名称、新闻数量。SELECTc.栏目ID,c.栏目标题AS'栏目名称',COUNT(n.新闻ID)AS'新闻数量'FROM新闻栏目分类表cLEFTJOIN新闻信息表nONc.栏目ID=n.栏目IDGROUPBYc.栏目ID,c.栏目标题GO--(2)统计评论最多的10篇新闻数据,返回新闻ID、标题、评论数量。SELECTTOP10n.新闻ID,n.新闻标题,COUNT(cm.评论编号)AS'评论数量'FROM新闻信息表nLEFTJOIN新闻评论表cmONn.新闻ID=cm.新闻IDGROUPBYn.新闻ID,n.新闻标题ORDERBYCOUNT(cm.评论编号)DESCGO--(3)按照用户编号统计每个用户的评论数量,返回用户ID、用户名、评论数量。SELECTu.用户编号,u.用户名称,COUNT(cm.评论编号)AS'评论数量'FROM用户信息表uLEFTJOIN新闻评论表cmONu.用户编号=cm.用户编号GROUPBYu.用户编号,u.用户名称GO--=============================================--4.子查询--=============================================--(1)查询每个新闻栏目中评论数量最多的新闻信息SELECTc.栏目标题AS'栏目名称',n.新闻标题,n.新闻内容,cm_count.评论数量FROM新闻信息表nJOIN新闻栏目分类表cONn.栏目ID=c.栏目IDJOIN( SELECT新闻ID,COUNT(*)AS评论数量FROM新闻评论表GROUPBY新闻ID)cm_count--计算每个新闻的评论数ONn.新闻ID=cm_count.新闻IDWHEREcm_count.评论数量=(--找出该栏目的最高评论数SELECTMAX(cnt)FROM(SELECTCOUNT(*)AScntFROM新闻评论表cmJOIN新闻信息表n2 ONcm.新闻ID=n2.新闻IDWHEREn2.栏目ID=n.栏目IDGROUPBYcm.新闻ID)ASmax_counts)GO--(2)查询每个分类评论最多的新闻信息SELECTc.栏目标题AS'栏目名称',n.新闻标题,n.新闻内容,cnt.评论数量FROM新闻信息表nJOIN新闻栏目分类表cONn.栏目ID=c.栏目IDJOIN(--先计算每个新闻的评论数SELECT新闻ID,COUNT(*)AS评论数量FROM新闻评论表GROUPBY新闻ID)cnt ONn.新闻ID=cnt.新闻IDWHEREcnt.评论数量=(--再找出该栏目的最高评论数SELECTMAX(cnt2.评论数量)FROM新闻信息表n2JOIN(SELECT新闻ID,COUNT(*)AS评论数量FROM新闻评论表GROUPBY新闻ID)cnt2 ONn2.新闻ID=cnt2.新闻IDWHEREn2.栏目ID=n.栏目ID)GO
信创技能拓展知识与技能拓展1达梦数据库查询数据:SELECT[ALL|DISTINCT][TOPn]<目标列的列表|*>[FROM]{<表或视图名>}[,…n][WHERE]<搜索条件>[GROUPBY]{<分组表达式>}[,…n][HAVING]<搜索条件>[ORDERBY]{<字段名[ASC|DESC]>}[,…n]1.用[]括起来的是可选项,SELECT子句是不可省略的。2.DISTINCT选项用来从结果集中消除重复的数据行。3.TOPn选项用于限定要返回的结果集行数。4.目标列的列表用于指定要返回的数据列名称,如果要返回所有列的数据,则可以使用“*”代替。5.FROM子句可以限定从哪些表或者视图返回数据。6.WHERE子句用来引入查询的条件,查询仅返回满足条件的数据。在查询条件中,可以使用比较操作符、字符串、逻辑操作符来限制返回的数据。7.GROUPBY子句用于对结果集进行分组,在分组的基础上实现数据的汇总。8.HAVING子句用于在分组的时候,对字段或表达式指定筛选条件。9.ORDERBY子句对结果集按照某种条件进行排序,返回有序的结果集。知识与技能拓展2字符串操作:在达梦数据库中,将两个或多个字符串值连接可以使用“||”运算符。例如:SELECT'Hello'||''||'World'ASgreetingFROMdual;这里的dual是一个虚拟表,常用于在没有实际表的情况下执行选择操作。这个查询将返回结果'HelloWorld',其中'Hello'、空格字符和'World'被“||”运算符连接在一起。如果连接操作中的任何一个字符串值为NULL,则结果也将是NULL。为了避免这种情况,您可以在连接之前使用函数来检查并处理NULL值。达梦数据库提供了类似于其他数据库系统的函数,如NVL()或自定义的逻辑来处理NULL值。知识与技能拓展3日期和时间函数:在达梦数据库提供了大量的时间日期操作函数,例如CURRENT_TIME用于返回当前时间、DATE_ADD用于在日期上增加指定的时间间隔、DATEDIFF用于计算两个日期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《短视频制作》课件 项目三 制作Vlog
- 2026年高职(市场营销)整合营销传播策划综合测试题及答案
- 2026年高职(市场营销)市场开拓实训试题及答案
- 汽车制造装备就业方向分析
- 慢性萎缩性胃炎治疗进展总结2026
- 高职院校就业指导问题
- 2026年商业管道检测合同协议
- 用户需求就业指导调研
- 智慧之剑:策略竞争解析-经济学视角下的市场优势
- 探索初中物理光学知识-物理教师
- 2025年度江西省人才发展集团有限公司春季集中招聘9人笔试参考题库附带答案详解
- 2026年初中五一假期安全知识宣讲
- 温州市2026事业单位联考-综合应用能力A类综合管理模拟卷(含答案)
- 2026年湖南省新高考教学教研联盟(长郡二十校联盟)高三语文4月第二次联考(含参考答案)
- 2026中信证券分支机构校园招聘笔试历年难易错考点试卷带答案解析
- 2025版建筑工程建筑面积计算规范
- 中华人民共和国危险化学品安全法(原版)
- 2026年江苏省英语听力口语考试-话题简述12篇
- 目视化管理培训建议
- (正式版)DB50∕T 1896-2025 《建设项目占用湿地、湿地公园生态影响评价专题报告编制规范》
- 公路道路施工组织设计方案范本(完整版)
评论
0/150
提交评论