logo资料库

经典50个Sql语句.docx

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
--(下面表的结构以给出,自己在数据库中建立表.并且添加相应的数据,数据要全面些. 其中 Student 表中,#为学生的 ID) 经典 50 个 Sql 语句 ------------------------------------表结构-------------------------------------- Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 --------------------------------------------------------------------------------- 建表: 建 库 建 表 建 约 束 , 插 入 测 试 数 据 /********************************* ******************************************/ Use master go if db_id('MySchool') is not null Drop Database MySchool Create Database MySchool go Use MySchool go create table Student ( StuId varchar(5) primary key, StuName nvarchar(10) not null, StuAge int, StuSex nchar(1) not null ) create table Teacher ( TId varchar(3) primary key, Tname varchar(10) not null ) create table Course ( CId varchar(3) primary key, Cname nvarchar(20) not null, TId varchar(3) not null, foreign key(TId) references Teacher(TId)
) create table SC ( SId varchar(5) not null, CId varchar(3) not null, foreign key(Sid) references Student(SId), foreign key(CId) references Course(CId), Score float ) ----------------------------------表结构---------------------------------------------------- --学生表 Student(编号 S#、姓名 Sname、年龄 Sage、性别 Ssex) --课程表 Course(课程编号 C#、课程名称 Cname、教师编号 T#) --成绩表 Sc(学生编号 S#、课程编号 C#、成绩 Score) --教师表 Teacher(教师编号 T#、姓名 Tname) --------------------------------插入数据------------------------------------------------- insert into Student select '1000','张无忌',18,'男' union select '1001','周芷若',19,'女' union select '1002','杨过',19,'男' union select '1003','赵敏',18,'女' union select '1004','小龙女',17,'女' union select '1005','张三丰',18,'男' union select '1006','令狐冲',19,'男' union select '1007','任盈盈',20,'女' union select '1008','岳灵珊',19,'女' union select '1009','韦小宝',18,'男' union select '1010','康敏',17,'女' union select '1011','萧峰',19,'男' union select '1012','黄蓉',18,'女' union select '1013','郭靖',19,'男' union select '1014','周伯通',19,'男' union select '1015','瑛姑',20,'女' union select '1016','李秋水',21,'女' union select '1017','黄药师',18,'男' union select '1018','李莫愁',18,'女' union select '1019','冯默风',17,'男' union select '1020','王重阳',17,'男' union select '1021','郭襄',18,'女' go into Teacher insert select '001','姚明' union select '002','叶平' union select '003','叶开' union
select '004','孟星魂' union select '005','独孤求败' union select '006','裘千仞' union select '007','裘千尺' union select '008','赵志敬' union select '009','阿紫' union select '010','郭芙蓉' union select '011','佟湘玉' union select '012','白展堂' union select '013','吕轻侯' union select '014','李大嘴' union select '015','花无缺' union select '016','金不换' union select '017','乔丹' go insert into Course select '001','企业管理','002' union select '002','马克思','008' union select '003','UML','006' union select '004','数据库','007' union select '005','逻辑电路','006' union select '006','英语','003' union select '007','电子电路','005' union select '008','毛泽东思想概论','004' union select '009','西方哲学史','012' union select '010','线性代数','017' union select '011','计算机基础','013' union select '012','AUTO CAD 制图','015' union select '013','平面设计','011' union select '014','Flash 动漫','001' union select '015','Java 开发','009' union select '016','C#基础','002' union select '017','Oracl 数据库原理','010' go insert into Sc select '1001','003',90 union select '1001','002',87 union select '1001','001',96 union select '1001','010',85 union select '1002','003',70 union select '1002','002',87 union select '1002','001',42 union
select '1002','010',65 union select '1003','006',78 union select '1003','003',70 union select '1003','005',70 union select '1003','001',32 union select '1003','010',85 union select '1003','011',21 union select '1004','007',90 union select '1004','002',87 union select '1005','001',23 union select '1006','015',85 union select '1006','006',46 union select '1006','003',59 union select '1006','004',70 union select '1006','001',99 union select '1007','011',85 union select '1007','006',84 union select '1007','003',72 union select '1007','002',87 union select '1008','001',94 union select '1008','012',85 union select '1008','006',32 union select '1009','003',90 union select '1009','002',82 union select '1009','001',96 union select '1009','010',82 union select '1009','008',92 union select '1010','003',90 union select '1010','002',87 union select '1010','001',96 union select '1011','009',24 union select '1011','009',25 union select '1012','003',30 union select '1013','002',37 union select '1013','001',16 union select '1013','007',55 union select '1013','006',42 union select '1013','012',34 union select '1000','004',16 union select '1002','004',55 union select '1004','004',42 union select '1008','004',34 union
select '1013','016',86 union select '1013','016',44 union select '1000','014',75 union select '1002','016',100 union select '1004','001',83 union select '1008','013',97 go 问题:(红色问题选作) 1、查询“001”课程比“002”课程成绩高的所有学生的学号; --3、查询所有同学的学号、姓名、选课数、总成绩; --4、查询姓“李”的老师的个数; --5、查询没学过“叶平”老师课的同学的学号、姓名; --6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; --7、查询学过“叶平”老师所教的所有课的同学的学号、姓名; --8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名; --9、查询所有课程成绩小于 60 分的同学的学号、姓名; --10、查询没有学全所有课的同学的学号、姓名; --11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名; --12、查询至少学过学号为“1001”同学所有课程的其他同学学号和姓名; --13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩; (从子查询中 获取父查询中的表名,这样也行????) --创建测试表 --14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名; --15、删除学习“叶平”老师课的 SC 表记录; --16、向 SC 表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的 同学学号、'002'号课的平均成绩;
--17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成 绩,按如下形式显示: 学生 ID,,数据库,企业管理,英语,有效课程数,有效平均分 --18、查询各科成绩最高和最低的分:以如下形式显示:课程 ID,最高分,最低分 --19、按各科平均成绩从低到高和及格率的百分数从高到低顺序 (百分数后如何格式化为两 位小数?) --20、查询如下课程平均成绩和及格率的百分数(用"1 行"显示): 企业管理(001),马克思(002), OO&UML (003),数据库(004) --21、查询不同老师所教不同课程平均分从高到低显示 --22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002), UML (003),数据库(004) 格式:[学生 ID],[学生姓名],企业管理,马克思,UML,数据库,平 均成绩 --23、统计列印各科成绩,各分数段人数:课程 ID,课程名称,[100-85],[85-70],[70-60],[ <60] --24、查询学生平均成绩及其名次 --25、查询各科成绩前三名的记录:(不考虑成绩并列情况) --26、查询每门课程被选修的学生数 --27、查询出只选修了一门课程的全部学生的学号和姓名 --28、查询男生、女生人数 --29、查询姓“张”的学生名单 --30、查询同名同性学生名单,并统计同名人数 --31、1981 年出生的学生名单(注:Student 表中 Sage 列的类型是 datetime)
--32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降 序排列 --33、查询平均成绩大于 85 的所有学生的学号、姓名和平均成绩 --34、查询课程名称为“数据库”,且分数低于 60 的学生姓名和分数 --35、查询所有学生的选课情况; --36、查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数; --37、查询不及格的课程,并按课程号从大到小排列 --38、查询课程编号为 003 且课程成绩在 80 分以上的学生的学号和姓名; --39、求选了课程的学生人数 --40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩 --41、查询各个课程及相应的选修人数 --42、查询不同课程成绩相同的学生的学号、课程号、学生成绩 --43、查询每门功成绩最好的前两名 --44、统计每门课程的学生选修人数(超过 10 人的课程才统计)。要求输出课程号和选修人 数,查询结果按人数降序排列,若人数相同,按课程号升序排列 --45、检索至少选修两门课程的学生学号 --46、查询全部学生都选修的课程的课程号和课程名 --47、查询没学过“叶平”老师讲授的任一门课程的学生姓名
--48、查询两门以上不及格课程的同学的学号及其平均成绩 --49、检索“004”课程分数小于 60,按分数降序排列的同学学号 (ok) --50、删除“002”同学的“001”课程的成绩
分享到:
收藏