①SELECT LOAN.借书证号,姓名,系名,COUT(*) AS借书数量 FROM BORROWER,LOANS WHERE BORROW.借书证号=LOANS.借书证号 GROUP BY LOANS.借书证号 HAVING COUT(*)>5 ②SELECT姓名,系名,书名,借书日期 FROM BORROWER,LOANS,BOOKS WHERE BORROWER.借书证号=LOANS.借书证号 AND LOANS.图书登记号=BOOKS.图书登记号 AND索书号IN(SELECT索书号FROM BORROWER,LOANS,BOOKS WHERE BORROW.借书证号=LOANS.借书证号 AND LOANS.图书登记号=BOOKS.图书登记号 AND姓名="欧阳"); ③CREATE VIEW SSP AS SELECT BORROWER.借书证号,姓名,班级,LOANS.图书登记号,书名,出版社,借书日期 FROM BORROWER.借书证号=LOANS.借书证号 AND LOANS.图书登记号=BOOKS.图书登记号 AND系名="信息系";
1)SELECT DISTICT DEPARTMENT FROMTEACHER; 2)SELECT* FROM STUDENT WHERE CLASS=‘95031’OR SEX=‘女’; 3)SELECT* FROM SCORE ORDER BY CNOASC,DEGREE DESC; 4)SELECT COUNT(*) FROM STUDENTWHERE CLASS=‘95031’: 5)SELECT CNO, AVG(DEGREE) FROM SCORE WHERE CNO like‘3%’ GROUP BY CNO HAV-ING COUNT(*)>5; 6)SELECT SNO FROM SCORE GROUP BY SNOMIN(DEGREE>70 AND MAX(DEGREE)<90; 7)SELECT X.CNO,X.SNO,X.DEGREE FROMSCORE X,SCORE Y WHERE X.CNO=‘3-105’ANDX. CNO=Y.CNO AND Y.SNO=‘109’ANDX.DEGREE>Y.DEGREE: 8)SELECT A.SNO,A.DEGREE,A.CNO FROMSCORE A, SCORE B WHERE A.SNO=B.SNO ANDA.DEGREE<B.DEGREE: 9)SEIECT SNO, SNAME,BIRTHDAY FROMSTUDENT WHERE YEAR(BIRTHDAY)=(SELECTYEAR(BIRTHDAY)FROM STUDENT WHERE SNO=“108”): 10)SELECT CNO, SNO, DEGREE FROM SCORE WHERE CNO=(SELECT X.CNO FROM COURSEX, TEACHER Y WHERE X.TNO=Y.TNO ANDY.TNAME=‘张三’)。
[解析] 主要考查了SQL的数据查询功能、数据定义功能和数据操纵功能。这类问题主要是考查对SE-LECT FROM WHERE语句的掌握。
3. 在SQL server 2000中,设有图书表(书号,书名,类别,单价)和图书印刷表(书号,印刷日期,印刷数量,印次),每个书号代表一种图书。书号、书名和类别的数据类型均为varehar(20),单价、印刷数量和印次的数据类型均为int,印刷日期的数据类型大smalldatetime.现需查询指定类别的图书在指定年份后(含指定年份)累计印刷总数量。请写出实现该功能的标量函数。
Create function fun (@class varchar(20),@orderyearChar(4) Return int As Begin Declare @tem smalldatatime Declare @cnt int set@tem=convert(smallaatetime,@orderyear) select @cnt=sum(印刷数目)from 图书表 join 图书印刷表 on图书表.书号=图书印刷表.书号 where 类别=@class and 日期>@tem return @cnt end