问题描述:

  为管理岗位业务培训信息,建立3个表:

  S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄

  C (C#,CN ) C#,CN 分别代表课程编号、课程名称

  SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩

--1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名

SELECT SN,SD FROM S   WHERE [S#] IN(SELECT [S#] FROM C,SC WHERE C.[C#]=SC.[C#]AND CN='税收基础')

--2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位

SELECT S.SN,S.SD FROM S,SC WHERE S.[S#]=SC.[S#] AND SC.[C#]='C2'

--3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位

SELECT SN,SD FROM S WHERE [S#] NOT IN(SELECT [S#] FROM SC   WHERE [C#]='C5')

--4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

SELECT SN,SD FROM S WHERE [S#] IN(SELECT [S#] FROM SC RIGHT JOIN C ON SC.[C#]=C.[C#] GROUP BY [S#] HAVING COUNT(*)=COUNT([S#]))

--5. 查询选修了课程的学员人数

SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC

--6. 查询选修课程超过5门的学员姓名和所属单位

SELECT SN,SD FROM S WHERE [S#] IN(SELECT [S#] FROM SC GROUP BY [S#] HAVING COUNT(DISTINCT [C#])>5)

--7.学生所有的成绩表单

SELECT S.S# as 学号,S.SN as 姓名,S.SD AS 职业 , SS.[语文],SS.[英语] ,SS.[数学],SS.[政治],SS.[物理],SS.[化学] FROM S ,
(SELECT SC1.S#,[语文]=SC1.G ,[英语]=SC2.G ,[数学]=SC3.G,[政治]=SC4.G,[物理]=SC5.G,[化学]=SC6.G
from SC SC1,SC SC2,SC SC3,SC SC4,SC SC5,SC SC6,C C1,C C2 ,C C3,C C4,C C5,C C6
WHERE C1.C#=SC1.C#   AND C2.C#=SC2.C#   AND C3.C#=SC3.C# AND C4.C#=SC4.C# AND C5.C#=SC5.C# AND C6.C#=SC6.C#
AND SC1.S#=SC2.S# and SC2.S#=SC3.S#   and SC3.S#=SC4.S# and SC4.S#=SC5.S# and SC5.S#=SC6.S#    AND C1.CN='语文' AND C2.CN='英语'   AND C3.CN='数学'   AND C4.CN='政治'   AND C5.CN='物理'   AND C6.CN='化学'   )SS WHERE S.S#=SS.S#   -- and S.S#='1'

--8.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
SELECT S.S#,S.SN,AVG_SCGRADE=AVG(SC.G) FROM S,SC,
(SELECT S# FROM SC WHERE G<60 GROUP BY S# HAVING COUNT(DISTINCT C#)>=2 )A
WHERE S.S#=A.S# AND SC.S#=A.S# GROUP BY S.S#,S.SN

数据库笔试题(经典select语句的用法)【转载】的更多相关文章

  1. 面试题 | 数据库笔试题集合·之·SQL语句(2)

    第2章 SQL 语句 2.1 选择2.1.1 DELETE FROM S WHERE 年龄>60 语句的功能是( A ) A.从 S 表中彻底删除年龄大于 60 岁的记录B.S 表中年龄大于 6 ...

  2. T-SQL 数据库笔试题

    1.说明:创建数据库 Create DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建备份数 ...

  3. oracle数据库存储过程中的select语句的位置

    导读:在oracle数据库存储过程中如果用了select语句,要么使用"select into 变量"语句要么使用游标,oracle不支持单独的select语句. 先看下这个存储过 ...

  4. MySql数据库笔试题总结

    数据库面试题94577265 1,设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号.姓名.工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER ...

  5. SQL语句-SELECT语句

    select语句 Select语句是指从现存的一个或多个表中查看满足条件的数据 Select语句常规用法: 查看表中所有数据 Select * from students; 查看所有的sid和snam ...

  6. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  7. 数据库MySQL经典面试题之SQL语句

    数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学 ...

  8. SQLServer 常见SQL笔试题之语句操作题详解

    SqlServer 常见SQL笔试题之语句操作题详解 by:授客 QQ:1033553122 测试数据库 CREATE DATABASE handWriting ON PRIMARY ( name = ...

  9. MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

    本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下   MySQL数据库insert和update语句引:用于操作数 ...

随机推荐

  1. IP查找工具——angry IP Scanner

    作用] 若树莓派没有屏幕可通过该工具查找树莓派的IP地址.例如下图的树莓派IP地址可能为192.168.1.107. 图1 IP scan查找树莓派IP地址

  2. Java for循环的几种用法详解

    本文非常适合初学Java的程序员,主要是来了解一下Java中的几种for循环用法,分析得十分详细,一起来看看. J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方 ...

  3. homework-05 服务器与客户端

    首先非常抱歉第三次和第四次作业我没交上来,不想找借口强调原因,但是这两次作业我一定会补上,到时候会@助教.谢谢 回到这次作业! 这次作业邹老师没说博客的格式,所以在这里就没有什么回答问题的东西了.这次 ...

  4. Fragment详解

    1 Fragment简介 1.1 Fragment的设计初衷 Android3.0引入Fragment的初衷是为大屏幕的设备提供更加灵活的动态UI设计,由于大屏设备可以容纳更多的UI组件,且这些UI组 ...

  5. React Native学习笔记-1:JSC profiler is not supported.(转载)

    运行react-native中Example下的UIEXPLORER Project 遇到虾面报错: 2016-03-21 14:12:18.941 [trace][tid:com.facebook. ...

  6. struts2—拦截器

    在Struts2中,如果用户没有指定执行哪些拦截器,struts2有一个默认执行的栈,defaultStack; 一旦如果用户有指定执行哪些拦截器,默认的拦截器栈就不会被执行 拦截器配置举例(stru ...

  7. 【M12】了解“抛出一个exception”与“传递一个参数”或“调用一个虚函数”之间的差异

    1.方法参数的声明语法和catch语句的语法是一样的,你可能会认为主调方法调用一个方法,并向其传递参数,与抛出一个异常传递到catch语句是一样的,是的,有相同之处,但也有更大的不同. 2.主调方法调 ...

  8. 【转】Oracle 10g RAC TAF

    本人转自:http://www.cnblogs.com/future2012lg/archive/2013/10/12/3365978.html Oracle RAC 同一时候具备HA(High Av ...

  9. Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动

    不多说了,直接看代码, NB人会懂的! package com.example.vdisktest; import android.app.Activity; import android.conte ...

  10. android学习日记13--数据存储之SQLite

    2.SQLite 开源轻量级数据库,支持92-SQL标准,主要用于嵌入式系统,只占几百K系统资源此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constr ...