数据库"EDUC"各表的结构为:
Student(SID,Sname,Sex,Birthday,Specialty,AScoress)
PK:SID
SC(SID,CID,Scores) PK:SID+CID FK:SID,CID
Course(NO,CID,Cname,Credit) PK:CID
数据库“Library"各表的结构为:
ReaderType(TypeID,Typename,LimitNum,LimitDays)
PK:TypeID
Reader(RID,Rname,TypeID,Lendnum)
PK:RID FK:TypeID
Book(BID,Bname,Author,Publisher,Price,LendOut)
PK:BID
Borrow(RID,BID,LendDate,ReturnDate,SReturnDate)
PK:RID+BID+LendDate FK:RID,BID
(1)从选课表"sc"中查询学号最小的学生的选课信息。
USE EDUC_6班张三
GO
SELECT *
FROM SC
WHERE SID=(SELECT MIN(SID) FROM Student)
(2)查询出图书表"book"中价格最低的图书的编号和书名,采用子查询实现。
USE Library
GO
SELECT BID AS 图书编号,Bname AS 书名
FROM Book
WHERE Price=(SELECT MIN(Price) FROM Book )
(3)查询出选修了课程号16020010的学生的学号、姓名。分别用连接实现和用子查询IN实现。
USE EDUC_6班张三
GO
SELECT x.SID,x.Sname
FROM Student x, SC y
WHERE x.SID=y.SID and y.cid='16020010'
USE EDUC_6班张三
GO
SELECT x.SID,x.Sname
FROM Student x
WHERE SID IN (SELECT SID FROM SC WHERE cid='16020010')
(4)查询出”人民邮电出版社“和”清华大学出版社“出版的图书的作者名。不包括重复行。用联合查询实现。
USE Library
GO
SELECT Author
FROM Book
WHERE Publisher='人民邮电出版社'
UNION
SELECT Author
FROM Book
WHERE Publisher='清华大学出版社'
(5)从图书管理数据库"Library"的借阅表borrow中查询出借阅过"人民邮电出版社"出版图书的读者编号(不包括重复的行)。分别用IN子查询、EXISTS子查询实现。
select distinct RID
from borrow
where BID in(select BID from book where publisher='人民邮电出版社')
select distinct RID
from borrow
where EXISTs (select * from book where borrow.bid=book.bid and publisher='人民邮电出版社')