数据库系统实验4:SQL语言——SELECT查询操作

  • 数据库系统实验4:SQL语言——SELECT查询操作

    • 实验环境
    • 实验内容
    • 步骤及过程
      • 首先按以下SQL语句创建测试用的jxgl数据库
      • 使用SQL语句表达以下查询

实验环境

windows10操作系统,使用MySQL 5.5 Command Line完成实验

实验内容

实验课教材(MySQL数据库技术与实验指导)第73页“实验内容与要求”第1题
基于jxgl数据库,使用SQL语句表达以下查询

  1. 检索年龄大于23岁的男学生的学号和姓名
  2. 检索至少选修一门课程的女学生姓名
  3. 检索王林不学的课程的课程号
  4. 检索至少选修两门课程的学生学号
  5. 检索全部学生都选修的课程的课程号和课程名
  6. 检索选修了所有3学分的每门课程的学生平均成绩

步骤及过程

首先按以下SQL语句创建测试用的jxgl数据库

CREATE DATABASE jxgl;
use jxgl;CREATE TABLE IF NOT EXISTS student(
sno CHAR(7) NOT NULL,
sname VARCHAR(16),
sage SMALLINT CHECK(sage>=16 AND sage<=45),
ssex CHAR(2) DEFAULT '男' CHECK(ssex='男' OR ssex='女'),
sdept CHAR(2),
PRIMARY KEY(sno)
) ENGINE=InnoDB;INSERT INTO student
VALUES
('2005001', '钱横', 18, '男','Cs'),
('2005002', '王林', 19, '女','Cs'),
('2005003', '李民', 23, '男','Is'),
('2005004', '赵欣然', 16, '女','Ma');CREATE TABLE IF NOT EXISTS course(
cno CHAR(2) NOT NULL,
cname VARCHAR(20),
cpno CHAR(2),
ccredit SMALLINT,
PRIMARY KEY(cno)
) ENGINE=InnoDB;INSERT INTO course
VALUES
('1', '数据库系统', '5', 4),
('2', '数学分析', '', 2),
('3', '信息系统导论', '1', 3),
('4', '操作系统原理', '6', 3),
('5', '数据结构', '7', 4),
('6', '数据处理基础', '', 4),
('7', 'C语言', '6', 3);CREATE TABLE IF NOT EXISTS sc(
sno CHAR(7) NOT NULL,
cno CHAR(2) NOT NULL,
grade SMALLINT,
PRIMARY KEY(sno, cno),
FOREIGN KEY(sno) REFERENCES student(sno),
FOREIGN KEY(cno) REFERENCES course(cno)
) ENGINE=InnoDB;INSERT INTO sc
VALUES
('2005001', '1', 87),
('2005001', '2', 67),
('2005001', '3', 90),
('2005001', '4', 90),
('2005001', '5', 90),
('2005001', '6', 90),
('2005001', '7', 90),
('2005002', '2', 95),
('2005002', '4', 88),
('2005003', '3', 88),
('2005003', '4', 88),
('2005004', '4', 88);

使用SQL语句表达以下查询

  • 检索年龄大于23岁的男学生的学号和姓名
SELECT sno, sname
FROM student
WHERE sage>23 AND ssex='男';
  • 检索至少选修一门课程的女学生姓名
SELECT student.sname
FROM student, sc
WHERE student.ssex='女' AND student.sno=sc.sno
GROUP BY student.sno
HAVING count(*)>=1;
  • 检索王林不学的课程的课程号
SELECT cno
FROM course
WHERE NOT EXISTS
(SELECT * FROM student, sc
WHERE sc.sno=student.sno
AND sc.cno=course.cno AND student.sname='王林');
  • 检索至少选修两门课程的学生学号
SELECT student.sno
FROM student, sc
WHERE student.sno=sc.sno
GROUP BY student.sno
HAVING count(*)>=2;
  • 检索全部学生都选修的课程的课程号和课程名
SELECT cno, cname
FROM course
WHERE NOT EXISTS
(SELECT * FROM student
WHERE NOT EXISTS
(SELECT * FROM sc
WHERE sno=student.sno AND cno=course.cno));
  • 检索选修了所有3学分的每门课程的学生平均成绩
SELECT AVG(grade)
FROM course, sc
WHERE course.cno=sc.cno AND course.ccredit=3;

数据库系统实验4:SQL——SELECT查询操作相关推荐

  1. 数据库实验4 SQL语言-SELECT查询操作

    数据库实验4 SQL语言-SELECT查询操作 1.首先按照第三章的jxgl数据库的模板创建jxgl数据库并插入数据: 创建数据库jxgl: create database jxgl; 创建相应的表: ...

  2. 实验二 SQL 语言——SELECT 查询操作(第一部分)

    SQL 语言--SELECT 查询操作 实验目的: -了解查询的概念和方法:-掌握 SQL Server 集成管理器查询子窗口中执行 SELECT 操作的方法:-掌握 SELECT 语句在单表查询中的 ...

  3. 实验2 SQL Server 表操作

    实验2 SQL Server 表操作 一.实验目的 1.了解表设计和表结构相关知识. 2.掌握管理工具创建.修改.查看和删除表的方法. 3.掌握T-SQL语句创建.修改.查看和删除表的方法. 4.了解 ...

  4. mysql实验训练2 数据查询操作_实验训练2:数据查询操作.doc

    实验训练2:数据查询操作.doc 实验训练2数据查询操作请到电脑端查看实验目的基于实验1创建的汽车用品网上商城数据库Shopping,理解MySQL运算符.函数.谓词,练习Select语句的操作方法. ...

  5. 《数据库原理》实验六 SQL数据查询实验

    本系列传送门: 实验二 SQL Server SSMS工具创建和管理数据库及数据表 实验三 SQL Server SSMS工具添加数据 实验四 SQL的数据定义语句 实验五 数据库完整性约束的实现与验 ...

  6. 【SQL语言——SELECT查询操作】

    基于创建的数据库(包含读者.图书.借阅三张表),试用SQL的查询语句表达下列查询: 1.查询图书表中售价介于50元到70元之间的图书的全部信息 2.查询图书表中全部图书的最高售价.最低售价和平均售价. ...

  7. 基于SqlServer的DML(数据查询)实验,掌握select查询语句的使用、掌握有无条件查询、结果排序与分组、掌握视图用法

    实验三 数据库的查询一.实验目的及要求 1. 熟练掌握SELECT查询语句的使用 2. 掌握无条件.有条件查询及查询结果排序与分组 3. 掌握视图的用法二.实验任务 1.掌握查询语句的一般格式. 2. ...

  8. 【数据库系统】嵌入式SQL语言查询编程

    学生表S(SNO,SNAME,SSEX,SAGE,SADDR) 要求:使用嵌入SQL对数据库进行单表精确查询.模糊查询 主语言:Java 平台:Eclipse DBMS:SQL SERVER 2019 ...

  9. 数据库系统实验8 SQL语言-存储过程基本操作

    数据库实验8 SQL语言-存储过程基本操作 一.实验环境: ​ MYSQL WORKBENCH 二.实验内容与完成情况: (逐题给出相应的SQL语句及执行结果,SQL语句必须能够拷贝,实验结果可截图: ...

最新文章

  1. 不甘心只做输入工具,搜狗输入法上线AI助手,提供智能服务
  2. 查询表空间是否是设置了自增
  3. PowerPoint动画制作时的需要注意的N个事项
  4. 牛客题霸 NC21 链表内指定区间反转
  5. mysql003三表查询.三表查询.自链接查询
  6. JdbcTemplate(操作数据库-修改和删除功能)
  7. linux 打开大文件命令,linux查看大文本文件命令
  8. 入行Web前端的学习方法有哪些?
  9. UVA1584 UVALive3225 Circular Sequence【水题】
  10. Android 得到函数耗时多少的方法
  11. AjaxControlToolkit的TabContainer控件下用html上传控件显示有问题
  12. Microsoft Visual Studio 2012 旗舰版 镜像 ISO 官方下载地址 旗舰版 序列号 SN VS2012_ULT_chs.iso
  13. 重启iis最快速的方法
  14. 毕业第一站 | 北京游
  15. 【怎么制作PPT】Focusky教程 | 设置画面显示比例
  16. 搭载敏捷飞天底座 阿里云专有云敏捷版全面升级
  17. 《Python编程快速上手——让繁琐工作自动化》第2版的中文版上市了
  18. 【vue报错】npm ERR code EJSONPARSE
  19. #include<>和#include“”的区别
  20. python2 unicode_python2 中列表中unicode转换为输出中文

热门文章

  1. android车载应用市场,车载市场
  2. 1688店铺所有商品API接口(整店商品查询API接口)
  3. 公式编译器AxMath安装包及在word中使用的教程
  4. opencv 棋盘标定
  5. mac 4k分辨率 字太小 27寸 hidpi_2019年显示器选购经验分享 上篇(点距与尺寸和分辨率的关系)...
  6. 光模块COB工艺之耦合激光焊
  7. 高德地图jsapi开发-定位失败
  8. 无人船成渡过大西洋将来发展又会如何?
  9. 网易的315页面碉堡了,速围观
  10. 中国“钱”途光明10所大学