当前位置: 首页 > wzjs >正文

内蒙古自治区建设厅官方网站数字营销沙盘

内蒙古自治区建设厅官方网站,数字营销沙盘,网站浮动窗口怎么设置,php商城网站开发报告世界很大 世界也很小 一、实验目的和要求 了解查询的概念和方法; 掌握查询分析器的使用方法; 掌握SELECT语句在单表查询中的应用; 掌握复杂查询的使用方法; 掌握多表连接的方法; 掌握SELECT语句…

世界很大                

     世界也很小

一、实验目的和要求 

  1. 了解查询的概念和方法;

  2. 掌握查询分析器的使用方法;

  3. 掌握SELECT语句在单表查询中的应用;

  4. 掌握复杂查询的使用方法;

  5. 掌握多表连接的方法;

  6. 掌握SELECT语句在多表查询中的应用;

  7. 掌握子查询语句。

二、实验内容和步骤 

(一)多表查询

        数据库的各个表中存放着不同的数据,用户经常需要用多个表中的数据来组合提炼出所需要的信息,如果一个查询需要对多个表进行操作,就称为联表查询,联表查询的结果集或结果表称为表之间的连接。联表查询实际上是通过各各表之间共同列的关联来查询数据的,它是关系数据库查询最基本的特征。
        按照下表所示,分别在数据库test中构造student、course和student_course三张表,并写入记录。


        在此之前,我们先进行一下准备工作,将需要的信息和表格准备好

CREATE TABLE student(
学号 VARCHAR(8),
学生姓名 VARCHAR(8),
性别 VARCHAR(2),
年龄 SMALLINT,
班级号 CHAR(6),
入学时间 DATE,
家庭住址 VARCHAR(40)
);
CREATE TABLE Course(
课程号 char(10),
课程名称 VARCHAR(20),
课程总学时 TINYINT,
课程学分 TINYINT
);
CREATE TABLE Student_course(
课程号 char(10),
学号 char(20),
成绩 TINYINT
);
INSERT INTO student VALUES
('20230101', '张三', '男', 20, 'jk1', '2023-09-01', '北京市海淀区'),
('20230102', '李四', '女', 21, 'dx2', '2023-09-01', '上海市徐汇区'),
('20230103', '王五', '男', 19, 'dx1', '2024-03-01', '广东省广州市'),
('20230104', '赵六', '女', 22, 'jk1', '2022-09-01', '天津市南开区'),
('20230105', '钱七', '男', 20, 'dx2', '2023-09-01', '山东泰安'),
('20230106', '孙八', '女', 21, 'dx1', '2024-03-01', '浙江省杭州市'),
('20230107', '周九', '男', 19, 'jk1', '2022-09-01', '江苏省南京市'),
('20230108', '吴十', '女', 23, 'dx2', '2021-09-01', '北京市昌平区');INSERT INTO course (课程号, 课程名称, 课程总学时, 课程学分)
VALUES
('CS1001', '计算机导论', 32, 3),
('CS1002', '数据结构', 48, 4),
('CS1003', '操作系统', 40, 3),
('CS1004', '计算机网络', 36, 3),
('CS1005', '数据库原理', 44, 4),
('CS1006', '编译原理', 50, 4),
('CS1007', '人工智能', 42, 3),
('CS1008', '算法分析与设计', 40, 4);INSERT INTO student_course (课程号, 学号, 成绩)
VALUES
('CS1001', '20230101', 85),
('CS1002', '20230101', 88),
('CS1003', '20230101', 90),
('CS1002', '20230102', 92),
('CS1004', '20230102', 85),
('CS1005', '20230102', 80),
('CS1003', '20230103', 78),
('CS1005', '20230103', 85),
('CS1007', '20230103', 70),
('CS1001', '20230104', 87),
('CS1004', '20230104', 75),
('CS1008', '20230104', 92),
('CS1005', '20230105', 95),
('CS1006', '20230105', 80),
('CS1007', '20230105', 78),
('CS1006', '20230106', 88),
('CS1008', '20230106', 84),
('CS1002', '20230106', 77),
('CS1001', '20230107', 80),
('CS1003', '20230107', 83),
('CS1007', '20230107', 75),
('CS1004', '20230108', 92),
('CS1005', '20230108', 85),
('CS1008', '20230108', 89);



        1.进行多表查询

        从student、course和student_course三张表中检索选修了课程的学生的学号、姓名、课程号、课程名及成绩。

SELECT a.`学号`,a.`学生姓名`,b.课程号,b.课程名称,c.成绩
FROM student a,course b,student_course c
WHERE c.`学号` = a.`学号` AND b.`课程号`=c.`课程号` 

         2.用GROUP子句进行查询

        如果要在数据检索时对表中数据按照一定条件进行分组汇总或求平均值,就要在SELECT语句中与GROUP BY子句一起使用集合函数。使用GROUP BY子句进行数据检索可得到数据分类的汇总统计、平均值或其他统计信息。
        (1)使用不带HAVING的GROUP BY子句。 汇总出student_course表中的学生的学号及总成绩

SELECT 学号, SUM(成绩) '总成绩'
FROM Student_course
GROUP BY `学号`

        ⑵ 使用带HAVING 的GROUP BY子句。汇总出student_course表中总分大于240分的学生的学号及总成绩

SELECT 学号, (SUM(成绩)) '总成绩'
FROM Student_course
GROUP BY `学号`
HAVING 总成绩 > 240

(二)子查询

        1.使用IN或NOT IN关键字
SELECT a.`学号`,c.`课程号`,c.`成绩`
FROM student a,course b,student_course c
WHERE a.`学号`=c.`学号` AND b.`课程号` = c.`课程号` AND
a.`班级号` IN('jk1','dx2','dx1') AND
a.`性别` = '男' 
ORDER BY a.`班级号`

        2.使用EXISTS 或NOT EXISTS关键字

        使用EXISTS关键字查询出‘jk1’班选修‘数据结构’课程的学生的学号、姓名;使用NOT EXISTS查询出‘jk1’班没有选修‘数据结构’课程的学生的学号、姓名。

SELECT a.`学号`,a.`学生姓名`
FROM student a, course b,student_course c
WHERE a.`学号` = c.`学号` AND b.`课程号` = c.`课程号`
AND b.`课程名称` = '数据结构'
AND EXISTS (SELECT *FROM student a2WHERE a2.`学号` = a.`学号`AND a2.`班级号` = 'jk1'
);

        NOT EXISTS :   

SELECT a.`学号`,a.`学生姓名`
FROM student a, course b,student_course c
WHERE a.`学号` = c.`学号` AND b.`课程号` = c.`课程号`
AND a.`班级号` = 'jk1'
AND NOT EXISTS (SELECT 1FROM student aa, course bb,student_course ccWHERE aa.`学号` = cc.`学号` AND bb.`课程号` = cc.`课程号`AND aa.`学号` = a.`学号`AND bb.`课程名称`='数据结构'
);

        小结:在用 EXISTS 时,需要注意,它的后面是接一个检测语句,只要它后面的 ( ) 内的命令能查询到一条数据,那么就认为他是EXISTS

三、结语

        希望这篇文章能帮助到正在进行类似作业的同学,一些有错误的地方还请大家指出,期待与你的下次相见

http://www.dtcms.com/wzjs/810756.html

相关文章:

  • 网站管理后台 模板最权威的网站推广设计
  • 垂直网站建设方案hao123浏览器
  • 兴润建设集团有限公司网站什么是网络营销?网络营销与电子商务有什么区别?
  • 公益网站模板seo推广方法
  • 网站建设运行佛山专业网站制作公司
  • 企业网站营销常用的方法家装设计师工作内容
  • 企业网站的cms在网站上做播放视频广告是否违法
  • php网站开发实训心得域名查询注册信息
  • 网站应用市场设计网建科技北京有限公司
  • 爱网站推广优化外发加工费用会计处理
  • 效果好的魔站建站系统咸阳网站建设公司哪家好
  • 好用的html模板网站wordpress地址设置
  • 网站开发需求图企业服务平台网站建设
  • 长春网站建设推广wordpress关于
  • 如何使用腾讯云建网站天津响应式网站建设
  • 怎么建设一个简单的网站做女装的网站有哪些
  • 专门做定制化的网站攻击wordpress
  • 毕业网站设计seo顾问是干什么
  • 淘宝网站内站建设网页游戏排行榜前十名田田田田田田田田田田
  • 深圳便宜的网站建设wordpress文章调用
  • 2016年网站建设方案pptwordpress开发 文档下载
  • 做书照片网站wordpress用户后台插件
  • 公司网站流程情留 蚊子 pj wordpress
  • 大朗做网站网页美工设计主要从哪些方面设计
  • 江苏省城乡建设局网站首页网页开发视频教程
  • 后期网站开发做配电箱的专门网站
  • 沈阳网站icp备案网站首页不见怎么做
  • 广告投放的方式有哪些上海网络优化服务
  • 推广营销海外网站国外c2c平台有哪几个
  • 做淘客网站备案巅云建站