select sname from student where not exists (select * from course where not exists   (select * from sc where sno =student.sno and cno=course.cno); 最内部的 select * from sc where sno=student.sno and cno = course.cno是查询出所有已经选择过课程的学生及相应课程,select * from cour…
查询选修了全部课程的学生姓名:student 是学生表 course 是选课表 sc 是课程表select snamefrom studentwhere not exists(select *from coursewhere not exists  (select *from scwhere sno =student.snoand cno=course.cno)如何解释呢?我只是约约的明白,但就是给别人解释不明白.希望高手给解释一下. ------回答--------- ------其他回答(1…
一.SQL语言查询选修了全部课程的学生的学号和姓名. 两种解决途径: 第一种: 我们可以表示为在SC表中某个学生选修的课程数等于C表中课程总数.相应的SQL语言如下: select S#,SNAME from S where S# in (select S# from SC group by S# --根据Sno分组,统计每个学生选修了几门课程.如果等于C表课程的总数,就是我们要找的S# having count(*) = (select count(*) from C))--统计C表中共有几门…
name   kecheng    fenshu 张三     语文     81 张三     数学     75 李四     语文     76 李四     数学     90 王五     语文     81 王五     数学     100 王五     英语     90 方法一: 思路:如果能获得一张表,由学生姓名,语文成绩,数学成绩,英语成绩的表,剩下的就是在WHERE条件中筛选及可以获得想要的结果. 具体办法:通过自连接的办法,以“姓名”为连接条件,自连接三次,便可以获得包…
首先: 1 .  EXISTS 子查询找到的提交 NOT EXISTS 子查询中 找不到的提交 说明:不要去翻译为存在和不存在,把脑袋搞晕. 2 . 建立程序循环的概念,这是一个动态的查询过程.如 FOR循环 . 3 . Exists执行的流程Exists首先执行外层查询,再执行内存查询,与IN相反. 流程为首先取出外 层中的第        一  元组, 再执行内层查询,将外层表的第一元组代入,若内层查询为真,即有结果 时.返回外层表中的第一元 组,接着取出第二元组,执行相同的算法.一直到扫描…
sql查询作业答案   阅读目录 一 题目 二 答案 一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均成绩 5.查询所有学生的学号,姓名,选课数,总成绩 6. 查询姓李老师的个数 7. 查询没有报李平老师课的学生姓名 8. 查询物理课程比生物课程高的学生的学号 9. 查询没有同时选修物理课程和体育课程的学生姓名 10.查询挂科超过两门(包括两门)的学生姓名和班级 .查询…
1.查询全体学生的学号与姓名select sno,snamefrom student;3.查询全体学生的详细信息select *from student;4.查询全体学生的姓名及其出生年份select sname,2004-sagefrom student;5.查询全体学生的姓名,出生年份和所在院系,要求用小写字母表示所有系名select sname,'year of birth:',2004-sage,lower(sdept)from student;6.查询选修课程的学生学号,DISTINC…
阅读目录 一 题目 二 答案 一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均成绩 5.查询所有学生的学号,姓名,选课数,总成绩 6. 查询姓李老师的个数 7. 查询没有报李平老师课的学生姓名 8. 查询物理课程比生物课程高的学生的学号 9. 查询没有同时选修物理课程和体育课程的学生姓名 10.查询挂科超过两门(包括两门)的学生姓名和班级 .查询选修了所有课程的学生姓名…
(网络搜集) 0x00 表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) –教师编号,教师姓名 –4.成绩表 Score(s_id,c_id,s_score) –学生编号,课程编号,分数 0x01 测试数据 --建表 --学生表 CREATE TAB…
[写在前面~~] [PS1:建议SQL初学者一定要自己先做一遍题目,这样才有效果~~(做题时为验证查询结果是否正确,可更改表中数据)] [PS2:文末最后一条代码整合了全部51道题目及答案~~] [PS3:题目是网上所找,文中代码为自己练习编写,若有错误,请尽情指出~~] 一.创建数据库 create database 测试1 on primary (name='测试1.mdf', filename='E:\学习\SQL\实例目录\DATA\测试1.mdf', SIZE=5MB, MAXSIZE…
数据表介绍 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号 --3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名 --4.成绩表 SC(SId,CId,score) --SId 学生编号,CId 课程编号,score 分数…
前几天求职面试,有一道SQL题:给出三个表:学生.课程.成绩,求选修了所有课程的学生. 一道看似很简单的问题,把我难住了,我改了又改,涂涂画画,抓耳挠腮,因为试卷没有多少空白位置了,最后只好放弃.心情大受影响,尽管最后还是获得offer. 但是心中有愧呀! 于是在机器上试了试: 先建好表 use test; go create table student(sno varchar(50) not null,name varchar(50) not null); insert into studen…
编程萌新,因为遇到这么个SQL 查询的问题:在一张表A里有如下字段:学生姓名.学科名.学科成绩.写一条SQL 语句查出各科平均成绩并按学生姓名分组,按如下格式显示:学生姓名|语文|数学|英语.一开始遇到的时候挺懵的,有印象但是却忘了怎么写了,接下来就是查阅资料并亲自上手测试是否可行~ 第一次代码修修改改如下,此时还是在只用一张表来查询(无法实现上述目标结果,贴图只是为了说明下思考路线): select UName, (select AVG(Grades) from UserInfo where…
查询基础练习 练习一: <学生信息表>:students(学号,姓名,性别,出生年,省份,入学年份,班级) <学生选修信息表>:stucourses(学号,课程号,课程名称,分数) 一.单表查询 .查询<学生信息表>,查询学生张三的全部基本信息 .查询<学生信息表>,查询学生张三和李四的基本信息 .查询<学生信息表>,查询姓张学生的基本信息 .查询<学生信息表>,查询姓名中含有四字的学生的基本信息 .查询<学生信息表>,查…
SQL查询练习题目 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构 表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno Char(3) 否 学号(主码) Sname Char(8) 否 学生姓名 Ssex Char(2) 否 学生性别…
最近在学习SQL嘛,所以各个地方找题目来练手,毕竟现在能离得开数据库么? Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询“001”课程比“002”课程成绩高的所有学生的学号:   select a.S# from (select s#,score from SC where C#='001') a,(select s#,score…
今天没事又专门学习了一下sql查询语句,个人感觉太重要了,于是就找了网上的一个示例自己练了起来,感觉学到了很多,下面跟大家分享一下sql查询语句的示例操作. 首先,我建了5张表,分别如下: (a)学生表 STUDENTS: (b)成绩表 ENROLLS: (c)课程表 COURSES: (d)教师表 TEACHERS: (e)任课表 TEACHING: 以下是一些查询的sql语句,由简单到复杂 表操作 1. 根据 STUDENTS 表,建立一个只包含学号.姓名.年龄的女学生表. 视图操作 2. …
学好SQL查询:无他,概手熟耳. 1. 基础表: 学生表: 老师表: 课程表: 成绩表: 2. 题目: 1.查询名字中含有"华"字的学生信息 select * from 学生 where sname like '%华%' 2.查询并统计同龄学生人数 select sage,count(sid) from 学生 group by sage 3.查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列 select cid,avg(Cscore) from 成绩 g…
  创建学生表,成绩表,教师表,课程表,分别添加数据信息 create table student( sno ) primary key, sname ), sage ), ssex ) ); create table teacher( tno ) primary key, tname ) ); create table course( cno ), cname ), tno ), constraint pk_course primary key (cno,tno) ); create tabl…
1.复杂SQL查询 1.1.单表查询 (1)选择指定的列 [例]查询全体学生的学号和姓名 select Sno as 学号,Sname as 姓名 from student; select Sno,Sname from student; (2)查询全部列 [例]查询全体学生的详细信息 select * from student; (3)对查询后的指定列进行命名 [例]查询全部学生的“姓名”及其“出生年”两列 select Sname as 姓名,(2014-Sage) as 出生年 from s…
学习了 1.查询“001”课程比“002”课程成绩高的所有学生的学号: 2.查询平均成绩大于60分的同学的学号和平均成绩: 3.查询所有同学的学号.姓名.选课数.总成绩: 4.查询姓“李”的老师的个数: 5.查询没学过“叶平”老师课的同学的学号.姓名: 6.查询学过“001”并且也学过编号“002”课程的同学的学号.姓名: 7.查询学过“叶平”老师所教的所有课的同学的学号.姓名: 8.查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号.姓名: 9.查询所有课程成绩小于60分的…
--设有三个关系 --S(S#,SNAME,AGE,SEX) --SC(S#,C#,GRADE) --C(C#,CNAME,TEACHER) --(1)检索LIU老师所授课程的课程号.课程名 select c#,cname from c where teacher='LIU' --(2)检索年龄大于23岁的男同学的学号和姓名 select s#,sname from s where age>23 and sex='男' --(3)检索学号为S3学生所学课程的课程名与任课教师名 select cn…
SQL查询记录中增加序列号 根据学生成绩在查询结果中增加排名字段: 1.SELECT ROW_NUMBER() OVER (ORDER BY SCORE ASC) AS RANK,NAME,SCORE FROM GRADE ORDER BY SCORE; 此写法是直接在结果记录添加顺序排序序号 2.SELECT RANK() OVER (ORDER BY SCORE ASC) AS RANK,NAME,SCORE FROM GRADE ORDER BY SCORE; 此写法的根据排序依据列的值进…
select 一.课上练习代码 1 查询所有学生信息 select * from tb_student; select * from tb_teacher; 2 查询所有课程名称及学分(投影和别名) select couname, coucredit from tb_course; select couname as 课程名称, coucredit 学分 from tb_course; select stuname 姓名, case stusex when 1 then '男' else '女'…
29.查询选修编号为"3-105"课程且成绩至少高于选修编号为"3-245"的同学的Cno.Sno和Degree,并按Degree从高到低次序排序. select tname,prof from teacher where depart = '计算机系' and prof not in  ( select prof from teacher where depart = '电子工程系') 30.查询选修编号为"3-105"且成绩高于选修编号为&q…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名name kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90 CREATE TABLE [dbo].[chengji]( ) NULL, ) NULL, [fenshu] [int] NULL ) ON [PRIMARY] GO ) ) ) ) ) ) ) 检索语句: mysql); +------+ | name | +------+ | 王五 |…
Course表如下: 查询出每门课都大于80 分的学生姓名有两种方法. 1.select  distinct name from Course where name not in (select distinct name from Course where score<=80) 2.select  name    from Course group by name having min(score)>80…
方法1: 查出科目成绩有小于80分的学生姓名,再约束并去重学生不等于查出来的姓名 select distinct A.name from t_score A where A.name not in(select distinct B.name from t_score B where B.fenshu <=80) 方法2: 按学生姓名分组,且最小的分数要大于80分 select A.name from t_score A group by A.name having min(A.fenshu)>…
一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构  表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno Char(3) 否 学号(主码) Sname Char(8) 否 学生姓名 Ssex Char(2) 否…
设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构 表(一)Student (学生表)                         属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varchar (20) 否…