
单选
1 b
2 a
3 a
4 b
5 c
6 c
7 c
多选题
8 ab
9 acd
10 ad
11 abcd
12 ab
13 abd
多选
判断题
14 错
15 对
16 错
17 对
18 错
19 错
20 错
select sname from student
where sno in(
select asno from studentcourse a join course b
on acno=bcno
where bcname='数据库原理' and ascore>90)
select asclass as 班级,count() as 不及格人数 from
student a join studentcourse b
on asno=bsno
where bscore<60
group by asclass
同学要好好学习哦!
CREATE TABLE [dbo][书店表] (
[书店编号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[店名] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[电话] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[地址] [char] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[邮政编码] [char] (6) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo][图书表] (
[书号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[书名] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[第一作者] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[出版日期] [smalldatetime] NULL ,
[价格] [numeric](4, 1) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo][图书销售表] (
[书号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[书店编号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[销售日期] [smalldatetime] NOT NULL ,
[销售数量] [smallint] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo][书店表] WITH NOCHECK ADD
CONSTRAINT [PK_书店表] PRIMARY KEY CLUSTERED
(
[书店编号]
) ON [PRIMARY]
GO
ALTER TABLE [dbo][图书表] WITH NOCHECK ADD
CONSTRAINT [PK_图书表] PRIMARY KEY CLUSTERED
(
[书号]
) ON [PRIMARY]
GO
ALTER TABLE [dbo][图书销售表] WITH NOCHECK ADD
CONSTRAINT [PK_图书销售表] PRIMARY KEY CLUSTERED
(
[书号],
[书店编号],
[销售日期]
) ON [PRIMARY]
GO
1) SELECT 选课学号 学号, 姓名, 成绩
FROM 学生 RIGHT JOIN 选课 ON 学生学号=选课学号
WHERE 成绩>=80 AND 课程号=(SELECT 课程号 FROM 课程
WHERE 课程名='数据库原理')
2) SELECT COUNT(所在系='计算机系') 人数 FROM 学生
3) SELECT 学号, 姓名 FROM 学生
WHERE 学号 IN (SELECT DISTINCT 学号
FROM 选课 LEFT JOIN 课程 ON 选课课程号=课程课程号
WHERE 课程名='数据库原理') AND 学号 NOT IN(SELECT DISTINCT 学号
FROM 选课 LEFT JOIN 课程 ON 选课课程号=课程课程号
WHERE 课程名='数据结构')
首先,EXISTS和NOT EXISTS强调的是是否返回结果集,不要求知道返回什么。
而NOT EXISTS引导的语句如果没有结果集返回,那么WHERE条件就成立。
好,一定先记住这一点。
然后往下分析。
最内层的条件WHERE PNO=PPNO AND SNO=SSNO,是对商品表和售货员表的一 一 列举。什么意思呢。比如:P表中有商品A,B;S表中有售货员X,Y。
那么,一 一列举就是:
WHERE PNO=A AND SNO=X
WHERE PNO=A AND SNO=Y
WHERE PNO=B AND SNO=X
WHERE PNO=B AND SNO=Y
列举每个售货员,卖出每种商品。然后对应R表进行筛选。
那么中间层对S的查询的否定,就是有某个售货员没有卖出过所有商品。不是所有售货员都没卖出任何商品。看看有没有这样的人。
然后最外层对P查询的否定,是找这样的商品:不存在这样一个人(中间层对S查询出来的人),这个人没有卖出过该商品。
这样找出来的商品,就是每个人都卖出过的商品。
4IN语言就相当于一个循环,3个都要输出结果
7应该要用到all 和两个select语句吧
8就是102的成绩大于60分就行了呗
以上都是自己的想法,我还是学生哈,数据库用的很少,即使用到也不会写出这么复杂的语句,你可以找本书看看吧,我的答案不一定对,仅供参考
以上就是关于几道数据库原理题全部的内容,包括:几道数据库原理题、从学生选课数据库中查询选修“数据库原理”课并且成绩在90分以上的学生名单,请写出SQL语句.、求个数据库原理的作业 写出创建如下三张表的SQL语句,在定义表的同时定义数据的完整性约束: "图书等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)