SQL习题笔记

现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)
摘要由CSDN通过智能技术生成

这里主要介绍几道题目用以更加深入的了解SQL语句。在工作面试时乃至在考研时,很多时候都会考到SQL语句。如果这篇文章中的所有的题目都搞明白了,那么应付工作面试笔试或者考研笔试将会更加的游刃有余。


题目01

现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,名称,学分)
学习(学号,课程号,分数)
用SQL语言实现下列题目:
1. 检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业。
select 学号, 姓名, 专业
from 学生
where 学号 NOT IN (
	select 学号
	from 学习
	where 课程号="C135");
 2. 检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业。 
select 学号, 姓名, 专业
from 学生
where 学号 IN (
	select 学号
	from 学习 x, 学习 y
	where x.学号=y.学号 AND x.课程号='C135' AND y.课程号='C219');
 3. 从学生表中删除成绩出现过0分的所有学生信息。 
delete from 学生
where 学号 IN (
	select 学号
	from 学习
	where 分数=0);
 4. 定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。 
create view AAA(学号, 姓名, 课程号, 分数)
AS
select 学号, 姓名, 课程号, 分数
from 学生, 学习
where 学生.学号=学习.学号 AND 专业="英语";

题目02

学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:
学生(学号,姓名,专业,入学日期)
收费(学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。
试用SQL语句定义上述表的结构。(定义应包括主键子句和外键子句)。
create table 学生(
	学号 char(8) primary key,
	姓名 char(25),
	专业 char(50),
	入学日期 date
);
create table 收费(
	学年 char(10),
	学号 char(8),
	学费 numeric(4),
	书费 num
  • 13
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值