好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

SQL语句强化练习题及答案.doc

7页
  • 卖家[上传人]:夏**
  • 文档编号:451594906
  • 上传时间:2023-08-30
  • 文档格式:DOC
  • 文档大小:58KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • SQL语句强化练习题及答案一、简单查询1、列出全部学生的信息SELECT * FROM 学生2、列出软件专业全部学生的学号及姓名SELECT 学号,姓名 FROM 学生 WHERE 专业="软件"3、列出所有必修课的课号SELECT DISTINCT 课号 FROM 必修课4、求1号课成绩大于80分的学生的学号及成绩,并按成绩由高到低列出SELECT 学号,成绩 FROM 选课 WHERE 课号="1" AND 成绩>80 ORDER BY 成绩 DESC5、列出非软件专业学生的名单方法一:SELECT 姓名 FROM 学生 WHERE 专业<>"软件"方法二:SELECT 姓名 FROM 学生 WHERE NOT 专业="软件"方法三:SELECT 姓名 FROM 学生 WHERE 专业!="软件"6、查询成绩在70~80分之间的学生选课得分情况方法一:SELECT * FROM 选课 WHERE 成绩>=70 AND 成绩<=80方法二:SELECT * FROM 选课 WHERE 成绩 BETWEEN 70 AND 80不在此范围内的查询:(注意写出和以下语句等价的语句)SELECT * FROM 选课 WHERE 成绩 NOT BETWEEN 70 AND 807、列出选修1号课或3号课的全体学生的学号和成绩。

      方法一:SELECT 学号,成绩 FROM 选课 WHERE 课号="1" OR 课号="3"方法二:SELECT 学号,成绩 FROM 选课 WHERE 课号 IN ("1","3")相反条件查询:SELECT 学号,成绩 FROM 选课 WHERE 课号 NOT IN ("1","3")8、列出所有98级学生的学生成绩情况SELECT * FROM 选课 WHERE 学号 LIKE "98%"SELECT * FROM 选课 WHERE 学号 LIKE "98_ _ _ _"相反条件查询:SELECT * FROM 选课 WHERE 学号 NOT LIKE "98%"9、列出成绩为空值(或不为空值)的学生的学号和课号答案一:SELECT 学号,课号 FROM 选课 WHERE 成绩 IS NULL答案二:SELECT 学号,课号 FROM 选课 WHERE 成绩 IS NOT NULL10、求出所有学生的总成绩SELECT SUM(成绩) AS 总成绩 FROM 选课11、列出每个学生的平均成绩SELECT 学号,AVG(成绩) AS 平均成绩 FROM 选课 GROUP BY 学号12、列出各科的平均成绩、最高成绩、最低成绩和选课人数。

      SELECT 课号,AVG(成绩) AS 平均成绩,MAX(成绩) AS 最高分,;MIN(成绩) AS 最低分,COUNT(学号) AS 选课人数 FROM 选课 GROUP BY 课号二、连接查询(一)简单连接1、列出选修1号课的学生姓名及成绩SELECT 姓名,成绩 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课号="1"2、列出选修1号课的学生的学号、姓名及成绩SELECT 学生.学号,姓名,成绩 FROM 学生 S,选课 X WHERE S.学号=X.学号 AND 课号="1"3、求出总分大于150的学生的学号、姓名及总成绩SELECT 学生.学号,姓名,SUM(成绩) AS 总成绩 FROM 学生,选课;WHERE 学生.学号=选课.学号 GROUP BY 选课.学号 HAVING SUM(成绩)>150(二)自连接查询1、列出那些专业相同的学生相应的姓名及专业信息2、求至少选修1号课和2号课的学生的学号SELECT X.学号 FROM 选课 X,选课 Y WHERE X.学号=Y.学号 AND X.课号="1" AND Y.课号="2" 币种1代码 C(2)、币种2代码 C(2)、买入价 N(8,4)、卖出价 N(8,4) 币种1 C(4)、币种2 C(4)、买入价 N(8,4)、卖出价 N(8,4) 外汇名称 C(10)、外汇代码 C(10)要求:将所有“外汇汇率”表中的数据插入rate表中并且顺序不变,由于“外汇汇率”中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应该存放外币代码,所以插入时要做相应的改动,外币名称与外向代码的对应关系存储在“外汇代码”表中。

      SELECT A.外币代码 AS 币种1代码,B.外币代码 AS 币种2代码,;买入价,卖出价 FROM 外汇代码 A,外汇汇率,外汇代码 B;WHERE A.外币名称=外汇汇率.币种1 AND B.外币名称=外汇汇率.币种2 INTO TABLE rate4、假定有“雇员”表(雇员号 C(2),雇员姓名 C(6),经理号 C(2)),根据雇员关系列出上一级经理及其所领导的职员清单教案中的例题)(三)超连接1、列出选修1号课的学生姓名及成绩方法一:(使用简单连接查询格式)SELECT 姓名,成绩 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课号="1"方法二:(使用内部连接格式)SELECT 姓名,成绩 FROM 学生 INNER JOIN 选课 ON 学生.学号=选课.学号 WHERE 课号="1"方法三:内部连接的INNER短语可以省略与方法二等价)SELECT 姓名,成绩 FROM 学生 JOIN 选课 ON 学生.学号=选课.学号 WHERE 课号="1"2、查询订货管理数据库中数据的仓库号、城市、供应商名和地址信息方法一:使用简单连接格式SELECT 仓库.仓库号,城市,供应商名,地址 FROM 供应商,订购单,职工,仓库;WHERE 供应商.供应商号=订购单.供应商号 AND订购单.职工号=职工.职工号 ;方法二:使用超连接的内部连接格式。

      注意连接条件的顺序)SELECT 仓库.仓库号,城市,供应商名,地址 FROM 供应商 JOIN 订购单 JOIN 职工 JOIN 仓库 ;3、查询没有选修任何课程的学生姓名方法一:使用嵌套查询SELECT 姓名 FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 选课)方法二:使用超连接的右连接方法三:使用超连接的左连接注意表名顺序和方法二的不同)三、嵌套查询(一)普通嵌套与谓词EXISTS1、列出选修汇编语言课的学生的学号方法一:SELECT 学号 FROM 选课 WHERE 课号=(SELECT 课号 FROM 课程 WHERE 课名="汇编语言")方法二:使用谓词EXISTS注意和方法一格式上的不同SELECT 学号 FROM 选课 WHERE EXIST (SELECT * FROM 课程 ;WHERE 课名="汇编语言" AND 选课.课号=课程.课号)2、求软件专业所有必修课的课程信息方法一:SELECT * FROM 课程 WHERE 课号 IN; (SELECT 课号 FROM 必修课 WHERE 必修专业="软件")方法二:SELECT * FROM 课程 WHERE EXIST (SELECT * FROM 必修课 WHERE 必修专业="软件" ;AND 课程.课号=必修课.课号)(二)量词ANY、SOME、ALL1、求选修2号课的学生中,成绩比选修1号课的最低成绩要高的学生的学号和成绩。

      方法一:SELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>;(SELECT MIN(成绩) FROM 选课 WHERE 课号="1")方法二:ANY等价于SOME,所以可将ANY换成SOMESELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>ANY ;(SELECT 成绩 FROM 选课 WHERE 课号="1")2、求选修2号课的学生中,成绩比选修1号课的任何学生的成绩都要高的那些学生的学号和成绩方法一:SELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>;(SELECT MAX(成绩) FROM 选课 WHERE 课号="1")方法二:SELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>ALL ;(SELECT 成绩 FROM 选课 WHERE 课号="1")(三)内外层互相关嵌套(外层依赖于内层的查询结果,内层依赖于外层来进一步查询)1、列出每门课程中成绩最高的选课信息SELECT * FROM 选课 A WHERE 成绩=(SELECT MAX(成绩) FROM 选课 B WHERE A.课号=B.课号)2、列出每个学生中成绩低于本人平均成绩的选课信息。

      SELECT * FROM 选课 A WHERE 成绩<(SELECT AVG(成绩) FROM 选课 B WHERE A.学号=B.学号)3、列出表“”(其内容就是在订购单表的基础上增加一个总金额字段)中每个职工经手的具有最高总金额的订购单信息教案中例题)SELECT out.职工号,out.供应商号,out.订货单号,out.订货日期,out.总金额;FROM 订购单 out WHERE 总金额=(SELECT MAX(总金额) FROM 订购单 inner1;Where out.职工号=inner1.职工号)四、操作功能1、在课程表中插入新的元组(5,大学英语)INSERT INTO 课程(课号,课名) VALUES("5","大学英语")2、给学生表中男生的记录加上删除标记DELETE FROM 学生 WHERE 性别="男"3、将选课表中所有课程的成绩分别提高5分将课号为“4”的课程的成绩置为空值UPDATE 选课 SET 成绩=成绩+5UPDATE 选课 SET 成绩=NULL WHERE 课号="4"五、定义表结构1、建立研究生表,该表不属于任何数据库,其结构如表所示:字段名字段类型字段长度小数位数特殊要求学号C6 姓名C8 性别C2 年龄N30 入学年月D 允许空值CREATE TABLE 研究生 FREE (学号 C(6),姓名 C(8),性别 C(2),年龄 N(3,0),入学年月 D NULL)2、假设已经建立了XSK数据库,在XSK中建立“学生1”表,其结构如表所示字段名字段类型字段长度小数位数特殊要求学号C6 主索引姓名C8 不能为空性别C2 年龄N30年龄大于10小于45是否党员L 入学年月D 默认值为1999年9月1日OPEN DATABASE XSKCREATE TABLE 学生1 (学号 C(6) PRIMARY KEY,姓名 C(8) NOT NULL,性别 C(2),;年龄 N(3,0) CHECK 年龄>10 AND 年龄<45 ERROR "年龄必须大于10小于45",是否党员 L,;入学年月 D DEFAULT {^1999-9-1})3、在XSK数据库建立“课程1”表,其结构如表所示:字段名。

      点击阅读更多内容
      相关文档
      25秋国家开放大学《0-3岁婴幼儿的保育与教育》形考任务1-4参考答案.docx 25秋国家开放大学《0-3岁婴幼儿卫生与保育》形考任务1-3+期末大作业参考答案.docx 25秋国家开放大学《0-3岁婴幼儿教育学》期末大作业参考答案.docx 25秋国家开放大学《Android核心开发技术》形考任务1-7参考答案.docx 国开2025年秋季《形势与政策》大作业答案.docx 国开2025年秋季《形势与政策》专题测验1-5答案.docx 2025年辽宁普通高中学业水平选择性考试语文试卷(原卷+答案).doc 2025年广西普通高中学业水平选择性考试英语试卷(原卷+答案).doc 2025年6月浙江普通高中学业水平选择性考试地理试卷(原卷+答案).doc 2025年江西普通高中学业水平选择性考试英语试卷(原卷+答案).doc 2025年广东普通高中学业水平选择性考试数学试卷(原卷+答案).doc 2025年内蒙古普通高中学业水平选择性考试语文试卷(原卷+答案).doc 2025年贵州普通高中学业水平选择性考试英语试卷(原卷+答案).doc 2025年安徽普通高中学业水平选择性考试生物试卷(原卷+答案).doc 2025年辽宁普通高中学业水平选择性考试数学试卷(原卷+答案).doc 2025年广东普通高中学业水平选择性考试语文试卷(原卷+答案).doc 2025年1月云南省高考适应性测试物理试卷(原卷+答案).doc 2025年江苏普通高中学业水平选择性考试语文试卷(原卷+答案).doc 2025年甘肃普通高中学业水平选择性考试语文试卷(原卷+答案).doc 2025年陕西普通高中学业水平选择性考试生物试卷1(原卷+答案).doc
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.