SQL
题目1:
问题描述:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
1.(1)找出选修过“李明”老师讲授课程的所有学生姓名
--实现代码:法一
Select *
from SC,C,S
Where SC.CNO=C.CNO AND SC.SNO=S.SNO AND CTEACHER='李明'
---法二:-------------
Select *
from S
Where Sno IN( Select Sno
from C,SC
Where C.[Cno]=SC.[Cno] AND CTEACHER='李明')
(2)找出没有选修过“李明”老师讲授课程的所有学生姓名
--实现代码:法一
Select SName
from S
Where [Sno] NOT IN( Select SC.[Sno]
from SC,C
Where SC.CNO=C.CNO AND CTEACHER='李明')
(3)找出没有选修过课程号为"1"的所有学生姓名
--实现代码
Select SName
from S
Where [Sno] NOT IN( Select [Sno] from SC Where CNO='1')
------------------------------------------------------------------------------------------------------------------------------------------
2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
--实现代码:
Select S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)
from S,SC,( Select SNO
from SC
Where SCGRADE<60
GROUP BY SNO
&nb
相关文档:
1.一道SQL语句面试题,关于group by
表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜 负
2005-05-09 2 2
2005-05-10 ......
背景:系统要支持多种数据库,统一insert的时候获取自动增长列的处理方式
问题1:insert select方案
sqlserver2000能够使用insertSql SELECT @@IDENTITY AS 'Identity'的方式来获得,但是mysql则只能使用executeUpdate(insertSql);
executeQuery('SELECT last_insert_id() ')这样的方式,否则会抛出异常:java.sql.SQ ......
微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)……
(一)深入浅出理解索引结构
实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称 ......
2.根据Oracle 数据库scott 模式下的emp 表和dept 表,完成下列操作:
(1) 查询20号部门的所有员工信息;
(2) 查询所有工种为CLERK 的员工的员工号、员工名和部门号;
(3) 查询奖金COMM 高于工资SAL 的员工信息;
  ......