补充SQL练习(参考答案)PPT课件

合集下载

SQL基础培训教材课件pptx-2024鲜版

SQL基础培训教材课件pptx-2024鲜版

2024/3/27
17
03
数据库创建与管理操作
Chapter
2024/3/27
18
创建数据库及设置参数
01
选择数据库管理系 统(如MySQL、 Oracle、SQL Server等)
02
确定数据库名称、 存储位置、字符集 等参数
03
使用CREATE DATABASE语句创 建数据库
04
设置数据库参数, 如最大连接数、日 志文件大小等
03
注意事项
2024/3/27
04
确保插入的数据类型与表定义的数据类型一致。
05
对于自增列,无需指定值,数据库会自动生成。
06
对于非空列,必须指定值,否则会报错。 34
更新数据策略及最佳实践
更新指定列的数据:使用UPDATE语句,指定表名、要更 新的列名及新的值,同时可以通过WHERE子句指定更新 条件。
2024/3/27
25
索引优化查询性能
索引的作用
加快数据的检索速度,提高查 询效率。
索引的创建原则
根据查询需求和表结构特点, 选择合适的字段创建索引。
索引的维护
定期分析和优化索引,避免索 引过多或不合理导致性能下降。
2024/3/27
26
实例演示:设计并实现一个用户信息表
01
表结构设计
根据实际需求设计用户信息表的字 段和数据类型。
2
01
SQL概述与基础知识
Chapter
2024/3/27
3
SQL定义及发展历程
SQL(Structured Query Language)是结构化查询语 言的缩写,用于管理关系数据库管理系统(RDBMS)。

《sql数据库入门》课件

《sql数据库入门》课件
《SQL数据库入门》PPT课 件
目录
• SQL数据库概述 • SQL基础语法 • 数据库设计和创建 • 数据插入、更新和删除 • 数据库查询优化 • SQL函数和存储过程 • SQL数据库安全
01
SQL数据库概述
SQL数据库的定义
1
SQL数据库是一种关系型数据库管理系统,它使 用结构化查询语言(SQL)来创建、操作和管理 数据库。
非关系型数据库
非关系型数据库不使用关系模型来组 织和存储数据,如NoSQL数据库,如 MongoDB、Cassandra等。
SQL数据库的应用场景
电子商务
SQL数据库可以用于电子商务 网站的数据存储和管理,如商
品信息、订单信息等。
金融
SQL数据库可以用于金融行业 的数据存储和管理,如银行系 统、证券交易系统等。
分析查询执行计划
通过查看查询执行计划,分析查询过程中的 瓶颈和问题,针对性地进行优化。
监控数据库性能
实时监控数据库性能指标,及时发现和解决 性能问题。
定期维护数据库
对数据库进行定期的清理、优化和更新,保 持数据库的健康状态。
学习和实践
不断学习和实践新的查询优化技术和方法, 提高自己的技能水平。
06
可扩展性
设计时考虑未来的数据增长和业务变化,确保数 据库能够灵活适应变化。
ABCD
规范化设计
遵循数据库规范化原则,如第一范式、第二范式 等,以减少数据冗余和提高数据一致性。
性能优化
根据查询需求和数据量,合理设计索引、分区等 ,以提高查询效率。
创建数据库
选择数据库管理系统( DBMS)
根据需求选择合适的DBMS, 如MySQL、Oracle、SQL Server等。

SQL语句练习及参考答案

SQL语句练习及参考答案

SQL语句练习及参考答案SQL 语句练习1.设学⽣选课数据库有关系S (sno,sname,age,sex )、SC (sno,cno,grade )和C(cno,cname,teacher ),分别表⽰学⽣、选课和课程,sno 代表学号,sname 代表学⽣姓名,age 代表年龄,sex 代表性别,grade 代表成绩,cno 代表课程号,teacher 代表任课教师。

试完成表⽰下列查询。

(1)检索年龄⼤于21的男学⽣学号(sno)和姓名(sname)。

(2)建⽴性别只能为“男”、“⼥”的约束。

(3)创建⼀个视图v1,该视图⽤来查询学⽣的选课情况,要求包含:学⽣姓名(sname),课程名(cname),任课教师teacher 和成绩grade 。

(4)检索选修课程号为k1和k5的学⽣学号(sno)。

(5)检索全部学⽣都选修的课程的课程号(cno)和课程名(cname)。

(6)删除所有男同学的选课记录。

1.(1)select sno,snae from s where sex=’男’ and age>21 (2)alter table s add constraint c1 check sex in (‘男’,’⼥’)(3)create view v1 as select sname,cname,teacher,grade from s,sc,c where s.sno=sc.sno and/doc/62176c89fe4733687e21aaca.html o=/doc/62176c89fe4733687e21aaca.html o (4)select sno fromsc sc1 where cno=’k1’ and exists (se lect * fromsc sc2 where sc1.sno =sc2.sno and/doc/62176c89fe4733687e21aaca.html o=’k5’)(5)select cno,cnam from c where not exists (select * from s where not exists (select * from sc where/doc/62176c89fe4733687e21aaca.html o=/doc/62176c89fe4733687e21aaca.html o and s.sno=sc.sno)(6)delete from sc where sno in (select sno from s where sex=’男’)或delete sc from sc,s where s.sno=sc.sno and sex=’男’2.设图书借阅数据库有关系图书(图书编号,书名,作者,出版社,出版时间,图书类别)、读者(读者编号,姓名,读者类别)和借阅(读者编号, 图书编号, 借阅⽇期,还期)。

第6章结构化查询语言SQL - 第6章结构化查询语言SQL-PPT课件

第6章结构化查询语言SQL - 第6章结构化查询语言SQL-PPT课件

6.4.3 特殊运算符
使用BETWEEN、LIKE、IN和NOT IN等特殊运 算符,使查询更为方便灵活。 【例6-21】在Student表中查询年龄在19到20之间 的学生记录,并按出生日期排序后显示出来。 SELECT * FROM Student; WHERE 年龄 BETWEEN 19 AND 20; ORDER BY 出生日期
6.2 SQL的定义功能
6.2.1 建立表结构
格式:CREATE TABLE|DBF <表名1> [NAME <长表名>][FREE] (<字段名> <字段类型> [(字段宽度[,小数位数])] [NULL][NOT NULL] [CHECK <逻辑表达式1> [ERROR<文本信息1>]] [DEFAULT <表达式1>] [PRIMARY KEY|UNIQUห้องสมุดไป่ตู้] [REFERENCES <表名2> [TAG <标识名1>]] [NOCPTRANS] [,<字段名2>…] [,PRIMARY KEY <表达式2> TAG <标识名2> |,UNIQUE <表达式3> TAG <标识名3>] [,FOREIGN KEY <表达式4> TAG <标识名4> [NODUP] REFERENCES <表名3> [TAG <标识名5>]] [,CHECK <逻辑表达式2> [ERROR<文本信息2>]]) |FROM ARRAY <数组名>
6.3.3 删除纪录
格式:DELETE FROM <表名> [WHERE <逻辑表达式>] 功能:对指定表中符合条件的记录,进行 逻辑删除。

SQL练习题参考答案(2)

SQL练习题参考答案(2)

第2章 SQL Server简介练习题一、单项选择题1.B 2.C 3.D 4.B 5.C6.D 7.C 8.C 9.B 10.A11.B 12.B二、简答题1.答:客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。

客户机上的任务只要有:●建立和断开与服务器的连接。

●提交数据访问请求。

●等待服务通告、接受请求结果或错误。

●处理数据库访问结果或错误、包括重发请求和终止请求。

●提供应用程序的友好用户界面。

●数据输入输出及验证。

服务器上的任务主要有:●为多用户管理一个独立的数据库。

●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。

●管理用户帐号、控制数据库访问权限和其他安全性。

●维护数据库,包括数据库备份和恢复。

保证数据库数据的完整或为客户提供完整性控制手段。

2.答:(1)两层结构在两层结构中,SQL Server 2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。

众多的客户机通过网络直接访问数据库服务器。

客户机运行处理业务的程序和显示处理结果的程序。

两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。

(2)三层结构在三层结构中引入了一层应用服务器。

客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。

三层结构适用于客户量较大的情况。

3.答:SQL Server 2000的四个系统数据库是master、model、msdb和tempdb数据库。

(1)master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、SQL Server的初始化信息和其它系统及用户数据库的相关信息。

《数据库语言SQL》课件

《数据库语言SQL》课件

06 SQL综合案例分析
CHAPTER
案例一:学生信息管理系统
要点一
总结词
要点二
详细描述
简单易用、功能全面
学生信息管理系统是一个常见的数据库应用案例,主要用 于存储和管理学生信息。通过SQL语言,可以实现对学生 信息的增删改查、排序、筛选等操作,方便学校对学生信 息的管理和维护。
案例二:商品销售系统
数据控制语言(DCL)
总结词
用于控制对数据库的访问权限
详细描述
DCL(Data Control Language)包括 GRANT和REVOKE等命令,用于控制对数 据库的访问权限。GRANT命令用于授予用
户或角色对数据库对象的访问权限,而 REVOKE命令则用于撤销先前授予的权限。 通过合理地使用DCL,可以确保数据库的安
数据操纵语言(DML)
总结词
用于插入、更新和删除数据库中的数据
详细描述
DML(Data Manipulation Language) 包括INSERT、UPDATE和DELETE等命令, 用于插入、更新和删除数据库中的数据。 INSERT命令用于向表中插入新行, UPDATE命令用于修改表中的现有行,而 DELETE命令则用于删除表中的行。
《数据库语言SQL》PPT课件
目录
CONTENTS
• SQL简介 • SQL基础语法 • SQL进阶知识 • SQL应用实践 • SQL与其他数据库语言的比较 • SQL综合案例分析
01 SQL简介
CHAPTER
Sured Query Language)是一种用于管理关系数 据库的标准编程语言。
分组等高级功能来处理查询结果。
数据定义语言(DDL)
总结词

SQL(精简版)ppt课件

SQL(精简版)ppt课件
SQL入门基础
概要与大纲
SELECT语句的使用 表达式、条件语句与运算 SQL的子句 表的联合 子查询、内嵌SQL
2023年11月27日
2
SELECT语句的使用
数据报的形成--SELECT 和FROM SELECT <列名> FROM <表名> Select表示需要取什么 From表示从哪里取
2023年11月27日
17
SQL的子句--group by & order by
SELECT <列名> FROM <表名> WHERE <过滤条件> GROUP BY <需要分组的列> ORDER BY <需要排序的列>
2023年11月27日
18
SQL的子句--group by & order by
SELECT PAYEE, SUM(AMOUNT) FROM CHECKS GROUP BY PAYEE(正确)
SELECT PAYEE, AMOUNT FROM CHECKS GROUP BY PAYEE(错误)
为什么第一个是正确的,第二个是错误的
2023年11月27日
23
SQL的子句--group by 示例
5
SELECT语句的使用--示例
显示所有行 select amount from checks
显示不重复的行 select DISTINCT amount from checks
2023年11月27日
6
表达式、条件语句与运算
SELECT <列名> FROM <表名> WHERE <过滤条件> Select表示需要取什么 From表示从哪里取 Where表示需要满足哪些条件

SQL语言习题参考答案

SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案

一在数据库 school 中建立student , sc, course 表。

学生表、课程表、选课表属于数据库School ,其各自的数据结构如下:学生Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学生选课SC(Sno,Cno,Grade)二设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使用 Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男生delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学生的系科为: JSJ2 把陈小明的年龄加1岁,性别改为女。

2 修改李文庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句一单表1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。

2查询姓名中第2个字为“明”字的学生学号、性别。

3查询 1001课程没有成绩的学生学号、课程号4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系排列5按10分制查询学生的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。

90-100为10)6查询 student 表中的学生共分布在那几个系中。

第5章结构化查询语言SQLppt课件全

第5章结构化查询语言SQLppt课件全

基本查询
❖ 例1:列出“学生”表中所有同学名单
▪ SELECT * FROM 学生
❖ 例2:列出成绩表中所有学生的学号,去掉重复值。
▪ SELECT DISTINCT 学号 FROM 成绩
SELECT命令中的函数
❖ 例3、列出所有学生的学号,姓名和入学成绩, 其中入学成绩四舍五入保留整数。
▪ SELECT 学号,姓名,ROUND(入学成绩,0) AS “入学成 绩” FROM 学生
WHERE——BETWEEN
❖ WHERE子句中的BETWEEN运算符用来确定范围 。
❖ 格式:
▪ BETWEEN…AND…或NOT BETWEEN…AND ▪ 其中BETWEEN后是范围的下限(低值),AND后是范围的
上限(高值)。
❖ 例1、列出入学成绩在560分到600分之间的学生 名单和成绩。
SQL89 ▪ 1992年公布了SQL的新标准,即SQL-92。 ▪ SQL99——SQL3
SQL语言的特点
❖ SQL是一种结构一体化的语言。它包括了数据定义 、数据查询、数据操纵和数据控制等功能,可以完 成数据库活动中的全部工作。
SQL语言的组成
❖ 数据定义:CREATE、DROP(删除)、
ALTER(修改)
▪ SELECT * FROM 学生 WHERE 专业<>“计算机”
❖ 例4、统计计算机专业入学成绩在600分以上的 学生的人数。
▪ SELECT COUNT(姓名) 人数 FROM 学生 WHERE 入 学成绩>=600 AND 专业=“计算机”
WHERE——IN
❖ WHERE子句中的IN谓词用来确定查询的集合。 ❖ 例1、查询计算机专业和外语专业的学生姓名和

《SQL语言》课件

《SQL语言》课件
总结词
财务管理、人力资源管理、供应链管理
详细描述
在企业资源计划(ERP)系统中,SQL语言用于财务管理、人力资源管理和供应链管理 等模块。通过使用SQL语言,企业可以有效地管理财务数据、员工信息和供应链资源等
。此外,ERP系统中的报表生成和数据分析功能也依赖于SQL语言。
THANKS
感谢观看
SQL安全
• 最小权限原则:数据库账号应具 有完成其任务所需的最小权限, 避免使用高权限账号进行日常操 作。
SQL安全
要点一
存储过程
使用存储过程可以限制对数据的直接操作,减少注入攻击 的风险。
要点二
错误处理
避免显示详细的数据库错误信息给用户,以防止攻击者利 用错误信息进行攻击。
05
SQL语言应用实例
触发器类型
根据触发的事件类型,可以分为INSERT触发器、 UPDATE触发器和DELETE触发器。
触发器作用
用于实现复杂的业务逻辑,如数据完整性维 护、自动日志记录等。
04
SQL语言优化与安全
SQL查询优化
查询优化概述
VS
查询优化是提高数据库性能的关键手 段,通过合理地组织和利用数据库资 源,使查询操作更加高效。
SQL安全
SQL安全的重要性
SQL注入是一种常见的网络攻击手段,攻击 者通过在输入字段中注入恶意SQL代码,可 以绕过身份验证、篡改数据或窃取敏感信息

SQL安全
参数化查询
使用参数化查询可以确保输入数据被正确处理,防止攻击者 注入恶意SQL代码。
输入验证
对用户输入进行严格的验证和过滤,只接受符合预期格式的 数据。
SQL语言高级特性
事务处理
01

第08讲 (补充)T-SQL语言-函数-语句new

第08讲 (补充)T-SQL语言-函数-语句new

字符串串联运算符为(+),允许通过加号 在多个字符串间进行字符串串联操作。
例7.6 使用串联运算符进行操作。
DECLARE @myvar char(20) SET @myvar='SQL'+'SERVER'+'2000' SELECT @myvar AS '运算结果为:'
SQL Server
FLOOR (numeric_expression ) :返回小于等于 给定数据的最大整数。 例如, select FLOOR (13.5)返回13。
SQL Server
ROUND (numeric_expression,length ): 按 四 舍 五入返回给定数据的近似值。
例如, select ROUND(156.45678,3) 返回156.457。
POWER(numeric_expression,y ): 返 回 给 定 数 据 的幂方值。 例如, select POWER(2.50,2) 返回6.25。 RAND ( [ seed ] ) :返回一个介于 0 和 1 之间的 隨机数。其中任选项seed是个整数。
SQL Server
SQL Server
LEFT(char_exp,int_exp):返回字符串char_exp 最左端的int_exp个字符。 例如,select LEFT('CHINA',3) 返回'CHI'。
RIGHT(char_exp,int_exp):返回字符表达式 char_exp最右端的int_exp个字符。
DECLARE @xb char(2), @sr datetime
SET @xb = '女'

《数据库语言SQL》课件

《数据库语言SQL》课件
ALTER语句
CREATE语句
用于创建新表、删除或修改列。
DROP语句
用于删除表、视图、索引等数据 库对象。
总结词
用于定义或修改数据库结构
TRUNCATE语句
用于快速删除表中的所有记录, 但不删除表本身。
数据控制语言(DCL)
总结词
用于控制对数据库的访问权限
CHAPTER 06
SQL未来发展展望
新特性的引入与支持
01
JSON支持
02
更高级的窗口函数
随着大数据和NoSQL数据库的普及, 对JSON数据的支持变得越来越重要 。未来版本的SQL可能会引入对 JSON数据的直接查询和操作功能。
现有的窗口函数(如 ROW_NUMBER(), LAG(), LEAD()等 )已经非常强大,但未来版本可能会 引入更多功能,以支持更复杂的分析 查询。
03
多维数据分析
多维数据分析(OLAP)是数据库分 析的一个重要方向。未来版本的SQL 可能会引入对多维数据集的更直接支 持,如星型模型和雪花型模型。
数据库技术的发展趋势
云数据库
随着云计算的普及,越来越多的企业开始将数据库部署在云端。 未来版本的SQL可能会更好地支持云数据库的部署和管理。
实时分析
VS
函数
函数与存储过程类似,也是一组SQL语句 的集合。但函数必须返回一个值,通常用 于计算并返回单一数据值。
触发器
• 触发器是一种特殊的存储过程, 它会在数据库表上执行特定操作 (如INSERT、UPDATE或 DELETE)时自动执行。触发器可 以用于实现复杂的业务规则和数 据完整性约束。
视图
通过SQL查询语言分析用户属性 和行为特征,制定精准的广告投 放策略。

《SQL基础知识培训》课件

《SQL基础知识培训》课件
查询语句优化
使用合适的查询语句,避免使用复杂的子查询和联接操作,减少数据量。
数据库设计优化
合理地设计数据库表结构,规范数据类型,避免数据冗余和异常。
SQL注入与防范
SQL注入定义
SQL注入是一种攻击手段 ,攻击者通过在输入字段 中插入恶意的SQL代码, 来获取、修改或删除数据 库中的数据。
防范措施
06
SQL实践案例
简单查询案例
总结词
通过简单的查询语句,学习如何使用 SELECT语句从数据库表中检索数据。
查询订单信息
从订单表中检索订单号、客户名称和订单金 额。
查询员工信息
从员工表中检索所有员工的姓名、年龄和职 位。
查询商品信息
从商品表中检索商品名称、价格和库存数量 。
复杂查询案例
使用JOIN子句将员工表和部门表进行 关联,检索员工的姓名、部门名称和 职位。
03
视图可以用于限制用户 对数据库的访问权限, 只展示用户需要的部分 数据。
04
视图可以用于实现数据 的汇总和聚合操作,方 便进行数据分析和管理 。
索引
索引是一种数据库对象,它可 以帮助加快对数据库表中数据
的检索速度。
索引可以大大提高查询操作的 效率和性能,特别是对于大型 数据库表来说效果更加明显。
根据业务需求和岗位职责,合理分配数 据库权限,遵循最小权限原则。
权限审计
定期进行权限审计,检查权限设置是 否合理和安全,及时发现和处理潜在
的安全风险。
权限控制策略
制定严格的权限控制策略,限制对敏 感数据的访问和修改,对高权限用户 进行重点监控和管理。
权限变更管理
对权限变更进行记录和管理,确保权 限变更符合安全要求和业务需求。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/10/13
Wei Lu Zhang SCU

2
补充练习
• 查询所有没有被选过的课程。 • Select *
from course c where not exists (select *
from c_s where c.course_no=c_s.course_no);
2020/10/13
Wei Lu Zhang SCU
3
查询选了“数据库原理”课程的所有学生的学号和姓名。 select id,
from student s, c_s, course c where s.id=c_s.student_id
and c_s.course_no=c.course_no and ='数据库原理';
2020/10/13
Wei Lu Zhang SCU
4
查询选课总分最多的学生的姓名及其选课总学分。 select , sum (credit)
from student s, c_s, course c where s.id=c_s.student_id
and c_s.course_no=c.course_no group by s.id,
• 创建上述关系及部分数据的的SQL语句见文件 createdb.sql
• 请完成以下查询:
– 查询所有没有被选过的课程。 – 查询选了“数据库原理”课程的所有学生的学号和姓名。 – 查询选课总学生最多的学生的姓名及其选课总学分。 – 查询选课门数最多的学生姓名及其选课门数。 – 查询选了其所在系开始所有课程的学生姓名。
having sum(credit)>= all (select sum(credit) from student s, c_s, course c where s.id=c_s.student_id
and c_s.course_no=c.course_no group by s.id);
2020/10/13
Wei Lu Zhang SCU
5
查询选课门数最多的学生姓名及其选课门数。 select , count(*)
from student s, c_s, course c where s.id=c_s.student_id
and c_s.course_no=c.course_no group by s.id,
6
谢谢您的指导
THANK YOU FOR YOUR GUIDANCE.
感谢阅读!为了方便学习和使用,本文档的内容可以在下载后随意修改,调整和打印。欢迎下载!
2020/10/13
汇报人:XXXX 日期:20XX年XX月XX日
having count(*)>= all (select count(*) from student s, c_s, course c where s.id=c_s.student_id
and c_s.course_no=c.course_no group by s.id);
2020/10/13
Wei Lu Zhang SCU
补充SQL练习
Tianqing Zhang School of Computer (School of Software) SCU 2006-2009
补充练习
• 有以下三个关系的学生选课数据库
– 学生(学号,姓名,性别,所在系,生日) – 课程(课程号,课程名,学分,开课系) – 选课(学号,课程号,成绩)
相关文档
最新文档