50条常用sql语句(以学生表为例)
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“”课程比“”课程成绩高的所有学生的学号;
SELECT a.S# from (SELECT s#,score from SC WHERE C#='001') a,
(SELECT s#,score from SC WHERE C#='002') b
WHERE a.score>b.score AND a.s#=b.s#;
2、查询平均成绩大于分的同学的学号和平均成绩;
SELECT S#,avg(score)
from sc
GROUP BY S# having avg(score) >60;
3、查询所有同学的学号、姓名、选课数、总成绩;
SELECT Student.S#,Student.Sname,count(SC.C#),sum(score)
from Student left Outer JOIN SC on Student.S#=SC.S#
GROUP BY Student.S#,Sname
4、查询姓“李”的老师的个数;
SELECT count(distinct(Tname))
from Teacher
WHERE Tname like '李%';
5、查询没学过“叶平”老师课的同学的学号、姓名;
SELECT Student.S#,Student.Sname
from Student
WHERE S# not in (SELECT distinct( SC.S#) from SC,Course,Teacher WHERE SC.C#=Course.C# AND Teacher.T#=Course.T# AND Teacher.Tname='叶平');
6、查询学过“”并且也学过编号“”课程的同学的学号、姓名;
SELECT Student.S#,Student.Sname from Student,SC WHERE Student.S#=SC.S# AND SC.C#='001'and exists( SELECT * from SC as SC_2 WHERE SC_2.S#=SC.S# AND SC_2.C#='002');
7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;
SELECT S#,Sname
from Student
WHERE S# in (SELECT S# from SC ,Course ,Teacher WHERE SC.C#=Course.C# AND Teacher.T#=Course.T# AND Teacher.Tname='叶平' GROUP BY S# having count(SC.C#)=(SELECT count(C#) from Course,Teacher WHERE Teacher.T#=Course.T# AND Tname='叶平'));
8、查询课程编号“”的成绩比课程编号&ldqu
相关文档:
一、SQL SERVER 和ACCESS的数据导入导出
常规的数据导入导出:
使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:
○1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation
○2Services(数据转换服务),然后选择 czdImport Dat ......
如果你经常遇到下面的问题,你就要考虑使用SQL Server的模板来写规范的SQL语句了:
SQL初学者。
经常忘记常用的DML或是DDL SQL 语句。
在多人开发维护的SQL中,每个人都有自己的SQL习惯,没有一套统一的规范。
在SQL Server Management Studio中,已经给大家提供了很多常用的现成SQL规范模板。
SQL Server Management ......
1、SQL逻辑查询处理中的各个阶级顺序
(8)SELECT (9) DISTINCT (11) <tOP_Specification> <select list>
(1)from <Left tables>
(3)<Join type>Join<Right_table>
&n ......
(http://www.builder.com.cn/2008/0211/733054.shtml) 基础知识(4)
不论是 聚集索引,还是非聚集索引,都是用B+树来实现的。我们在了解这两种索引之前,需要先了解B+通过总结,我发现自己以前很多很模糊的概念都清晰了很多。
不论是 聚集索引,还是非聚集索引,都是用B+树来实现的。我们在了解这两种索引之前,需要先 ......
Oracle系列:Record和PL/SQL表
一,什么是记录Record和PL/SQL表?
记录Record:由单行多列的标量类型构成的临时记录对象类型。类似于多维数组。
PL/SQL表:由多行单列的索引列和可用列构成的临时索引表对象类型。类似于一维数组和键值对。
都是用户自定义数据类型。
......