sql数据库的一些基本操作

1.检索liu老师所伤的课程号和课程名
SELECT TEA_COURSE.COUR_ID,COURSE.COURSENAME
FROM TEA_COURSE,TEACHER,COURSE
WHERE TEA_COURSE.TEA_ID=TEACHER.TEA_ID AND TEA_COURSE.COUR_ID=COURSE.COUR_ID AND TEACHER.TEA_NAME='LIU'

2.检索年龄大于23岁的学生的学号和姓名
SELECT STUDENT.CLA_ID,STUDENT.NAME
FROM STUDENT
WHERE DATEDIFF(Y,STUDENT.BORNDATA,'1997/3/2')>10

3.检索学好为32010103的学生所学的课程号与任课教师名
SELECT COUR_ID,TEACHER.TEA_NAME
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND STUDENT.ID=32010103

4.检索至少选修liu老师所受课程中的一门课程的女大学生姓名
SELECT STUDENT.NAME
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEACHER.TEA_NAME='LIUWEI'
AND SEX=0

5.检索115课程的女学生的平均年龄
SELECT AVG(DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2'))
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEA_COURSE.COUR_ID=115
AND SEX=0

6.检索选修课程包含Liu老师的学生的学号

SELECT STUDENT.ID
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEACHER.TEA_NAME='LIUWEI'

7.检索姓名以L开头的所有学号和年龄
SELECT STUDENT.NAME,DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2')
FROM STUDENT
WHERE NAME LIKE 'l%'

8.查询成绩为空的学号
SELECT *
FROM GRADE
WHERE GRADE is null

9.查询大于女同学平均年龄的男同学的姓名和年龄
SELECT ID,NAME, DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2')
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEA_COURSE.COUR_ID=115
AND SEX=1 and DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2')> (SELECT AVG(DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2'))
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEA_COURSE.COUR_ID=115
AND SEX=0)

10.查询大于所有女同学年龄的男同学的姓名和年龄

SELECT ID,NAME, DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2')
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEA_COURSE.COUR_ID=115
AND SEX=1 and DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2')>all (SELECT (DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2'))
FROM TEA_COURSE,TEACHER,STUDENT
WHERE TEACHER.TEA_ID=TEA_COURSE.TEA_ID AND TEA_COURSE.CLA_ID=STUDENT.CLA_ID AND TEA_COURSE.COUR_ID=115
AND SEX=0)

11.所有男生所学的课程号和课程名
select distinct COURSE.COUR_ID,course.COURSENAME
from COURSE,TEA_COURSE,STUDENT
WHERE STUDENT.SEX=1 AND STUDENT.CLA_ID=TEA_COURSE.CLA_ID AND TEA_COURSE.COUR_ID=COURSE.COUR_ID

12.查询所有男生所学课程任课教师的姓名
select distinct TEACHER.TEA_NAME
from COURSE,TEA_COURSE,STUDENT,teacher
WHERE STUDENT.SEX=1 AND STUDENT.CLA_ID=TEA_COURSE.CLA_ID AND TEA_COURSE.COUR_ID=COURSE.COUR_ID AND TEAcher.TEA_ID=TEA_COURSE.TEA_ID

13.查询低于全部课程平均成绩的课程号和成绩

where GRADE is not null
group BY COUR_ID
having avg(grade) <=all (select avg(grade)
FROM GRADE
where GRADE is not null
group BY COUR_ID )

14.查询又不及格成绩的课程号与成绩
select cour_id,grade
FROM GRADE
WHERE GRADE IS NOT NULL AND GRADE<60

15.查询年纪最大的女同学的姓名与年龄
select id,name,DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2') as age
FROM student
WHERE sex=0 and BORNDATA<=all (select BORNDATA
FROM student
where sex=0)

16.查询女同学的平均年龄
select avg(DATEDIFF(YY,STUDENT.BORNDATA,'2017-3-2'))
FROM student
WHERE sex=0

17.查询没有学生学的课程
select cour_id,COURSENAME
from course
where cour_id not in (select cour_id from TEA_COURSE)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近打算采用关系型数据库来理一下公司的运营数据,先拿点东西练手找感觉。下面是几个关于学生课业的表,需要建立一个数据...
    九天朱雀阅读 4,576评论 0 3
  • 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。 问题及描述: --1.学生表 Stud...
    lijun_m阅读 5,108评论 0 1
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 4,999评论 0 7
  • 一、多表查询 --编写多表查询语句的一般过程 --(1)、分析句子要涉及到哪些表 --(2)、对应的表中要查询哪些...
    __71db阅读 5,825评论 0 6
  • 长相思 初相见,情难为,人到情多情转薄,爱恨与君同。 灯下影,露初晞,携手同进心如一,谁负相思意? 枫叶丹,菊花残...
    某小豆阅读 2,806评论 2 4

友情链接更多精彩内容