数据库 实验一: 单表查询(一)

实验目的:

1.掌握投影查询。

2.掌握选择查询。


实验内容:

一、用数据导入的方式生成jxgl数据库中三张表:

● 学生表Student,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,

记作:Student(Sno,Sname,Ssex,Sage,Sdept)

Student:

Sno

Sname

Sage

Ssex

Sdept

98001

钱横

18

CS

98002

王林

19

CS

98003

李民

20

IS

98004

赵三

16

MA

98005

欧阳勇

19

MA

98019

李四

18

IS

● 课程表Course,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit)

Course:

Cno

Cname

Cpno

Ccredit

1

数据库系统

5

4

2

数学分析

NULL

2

3

信息系统导论

1

3

4

操作系统原理

6

3

5

数据结构

7

4

6

数据处理基础

NULL

4

7

C语言

6

3

学生SC,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:Sc(Sno,Cno,Grade)

Sc:

Sno

Cno

Grade

98001

1

87

98001

2

67

98001

3

90

98002

2

95

98002

3

88

98004

2

Null


二、对JXGL数据库进行查询。

1.查询全体学生的姓名、学号、所在系。

SELECT Sname,Sno,Sdept
FROM Student

2.查全体学生的姓名及其出生年份。

SELECT 姓名=Sname,出生年份=2024-Sage
FROM Student 

3.查询全体学生姓名、出生年份和所在系,要求用小写字母表示所有系名。

SELECT 姓名=Sname,出生年份=2024-Sage,所在系=lower(sdept)
FROM Student  

4.查询所有年龄在20岁以下的学生姓名及其年龄。

SELECT Sname,Sage
FROM Student
WHERE Sage<20

5.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。

SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23

6.查询年龄不在20~23岁之间的学生姓名、系别和年龄。

SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23

7.查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。

SELECT Sname,Ssex
FROM Student
WHERE Sdept IN ('IS','MA','CS')

8.查询所有姓刘学生的姓名、学号和性别。

SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname LIKE'刘%'

9.查询姓"欧阳"且全名为三个汉字的学生的姓名。

SELECT Sname
FROM Student
WHERE Sname LIKE'欧阳_'

10.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。

SELECT Sno,Cno
FROM Sc
WHERE Grade IS NULL

技术小白记录学习过程,有错误或不解的地方请指出,如果这篇文章对你有所帮助,请点点赞收藏+关注 谢谢支持 !!!

  • 33
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值