几道 SQL 语句面试题
--S (sno,sname)学生关系,sno为学号 sname为姓名
--C(cno,cname,Cteacher)课程关系 cno为课程号,cname为课程名,cteacher 为任课教师
--SC(sno,cno,scgrade)选课关系 scgrade为成绩 ---- 没有选修过 李明 老师讲授课程的所有学生姓名 SELECT * FROM S WHERE SNO NOT IN( SELECT DISTINCT A.sno FROM SC A INNER JOIN ( SELECT * FROM C A WHERE A.Cteacher='李明') B
ON A.cno=B.cno
) ---- 列出二门以上(含两门)不及格课程学生姓名及学号
WITH TB AS
(
SELECT A.SNO FROM SC A WHERE A.scgrade<60 GROUP BY A.sno HAVING COUNT(*)>=2
) SELECT S.* FROM TB INNER JOIN S ON TB.SNO=S.SNO --- 列出学过 “1” 号课程 又学过 “2” 号课程的所有学生姓名
WITH TB AS
(
SELECT DISTINCT SC.CNO FROM SC WHERE SC.CNO IN ( SELECT CNO FROM C WHERE C.CNAME IN('1','2') ) GROUP BY SC.CNO
HAVING COUNT(*)>=2
) SELECT S.* FROM TB INNER JOIN S ON TB.SNO =S.SNO 或采用 INTERSECT 关键字
WITH TC AS
(
SELECT SNO FROM SC WHERE SC IN ( SELECT CNO FROM C WHERE C.CNAME ='1') INTERSECT SELECT SNO FROM SC WHERE SC IN ( SELECT CNO FROM C WHERE C.CNAME ='2') ) SELECT * FROM S WHERE S.SNO IN ( SELECT * FROM TC ) --- 列出 “1” 号课程 比 “2” 号课程成绩高的所有学生号 SELECT A.SNO FROM ( SELECT * FROM SC WHERE SC.SNO = (SELECT CNO FROM C WHERE C.CNAME='1')) A
LEFT JOIN
( SELECT * FROM SC WHERE SC.SNO = (SELECT CNO FROM C WHERE C.CNAME='2')) B
ON A.SNO=B.SNO AND A.scgrade>B.scgrade --- 列出 “1” 号课程成绩 比“2” 号课程成绩高所有学生学号 及其 “1” 号课程 及 “2” 号课程成绩 SELECT A.SNO ,A.scgrade,B.scgrade FROM ( SELECT * FROM SC WHERE SC.SNO = (SELECT CNO FROM C WHERE C.CNAME='1')) A
LEFT JOIN
( SELECT * FROM SC WHERE SC.SNO = (SELECT CNO FROM C WHERE C.CNAME='2')) B
ON A.SNO=B.SNO AND A.scgrade>B.scgrade
几道 SQL 语句面试题的更多相关文章
- 【转】SQL语句面试题
		1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2 ... 
- sql语句 面试题
		ql语句 面试题 自动编号 学号 姓名 课程编号 课程名称 分数 1 2005001 张三 0001 数学 69 2 2005002 李四 ... 
- 几个SQL语句笔试题
		1.表A和表B具有完全相同的结构,查出表A中有但表B中没有的数据: create table A( id int , name ), password ) ); create table B( id ... 
- 根据题目完成以下50道SQL语句
		已知有如下4张表: 学生表:STUDENT(S#,SNAME,SAGE,SSEX) 课程表:COURSE(C#,CNAME,T#) 成绩表:SC(S#,C#,SCORE) 教师表:TEACHER(T# ... 
- SQL语句操作数据试题
		1.在SQL Server中,下列关于数据完整性的说法错误的是(). (选择一项) A:实体完整性要求表中的每一行数据都反映不同的试题,不能存在相同的数据行 B:域完整性是只给定列的输入有效性 C:在 ... 
- 经典的SQL语句面试题
		Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ... 
- 经典的SQL语句面试题(转)
		Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题:1. ... 
- 一条SQL语句面试题:求选修所有课程的学生
		前几天求职面试,有一道SQL题:给出三个表:学生.课程.成绩,求选修了所有课程的学生. 一道看似很简单的问题,把我难住了,我改了又改,涂涂画画,抓耳挠腮,因为试卷没有多少空白位置了,最后只好放弃.心情 ... 
- 【转】经典的SQL语句面试题
		Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题: 1 ... 
随机推荐
- Java [Leetcode 319]Bulb Switcher
			题目描述: There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off ... 
- Android自定义的webView——可实现的网页文本的复制
			package com.example.customlinearlayout.view; import android.app.ProgressDialog; import android.conte ... 
- <三>面向对象分析之UML核心元素之参与者
			一:版型 --->在UML里有一个概念叫版型.有些书里也称类型,构造型. --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ... 
- 【转】linux中wait与waitpid的差别
			原文网址:http://blog.163.com/libo_5/blog/static/15696852010324287748/ zombie不占用内存也不占用CPU,表面上我们可以不用在乎它们的存 ... 
- jquery生成二维码
			下载Demo js下载: jquery-1.8.3.js .qrcode.js.jquery.qrcode.js <!DOCTYPE html> <html> <head ... 
- hdu 3518(后缀数组)
			题意:容易理解... 分析:这是我做的后缀数组第一题,做这个题只需要知道后缀数组中height数组代表的是什么就差不多会做了,height[i]表示排名第i的后缀与排名第i-1的后缀的最长公共前缀,然 ... 
- C#中的值类型(value type)与引用类型(reference type)的区别
			ylbtech- .NET-Basic:C#中的值类型与引用类型的区别 C#中的值类型(value type)与引用类型(reference type)的区别 1.A,相关概念返回顶部 C#中 ... 
- How to enable DateTimePicker to use both date and time z
			Recently in one of my project I needed to have an option to display the DateTimePicker allowing user ... 
- python 资料
			主站: 主页:http://python.org/下载:http://python.org/download/文档:http://python.org/doc/ books: ActivePython ... 
- codeforces 696C PLEASE 概率dp+公式递推+费马小定理
			题意:有3个杯子,排放一行,刚开始钥匙在中间的杯子,每次操作,将左右两边任意一个杯子进行交换,问n次操作后钥匙在中间杯子的概率 分析:考虑动态规划做法,dp[i]代表i次操作后的,钥匙在中间的概率,由 ... 
