SQL---实验六
1. 编写代码计算100以内的奇数的和,并显示@n=1+3+5+...+99。
DECLARE @i int ,@sum int
set @i=1
set @sum=0
while @i<=100
begin
if @i%2=1
set @sum=@sum+@i
set @i=@i+1
end
print 'sum='+cast(@sum as varchar)
2. 编写代码计算并显示1~100之间的所有完全平方数。例如,81=92, 则称81为完全平方数
declare @i int
set @i=1
while @i*@i<=100
begin
print convert(char(4),@i*@i)+'是完全平方数'
set @i=@i+1
end
3. 计算1~100以内的所有素数。
declare @n int,@i int,@m int
set @n=3
set @i=2
print convert (char(2),2)+'是素数'
while @n<=100
begin
set @m=@n%@i
if @m!=0
begin
set @i=@i+1
if @i>=@n
print cast(@n as varchar)+' 是素数'
end
else
begin
set @n=@n+1
set @i=2
continue
end
end
4. 运行以下代码,写出运行结果。
DECLARE @a int,@b int
SET @a=23
SET @b=45
SELECT @a&@b, @a|@b, @a^@b
5. 运行以下代码段,写出运行的结果。
DECLARE @counter int
SET @counter=1
WHILE @counter<10
BEGIN
SELECT '@counter 的值现在为:' +ConverT (Char (2) , @counter)
SET @counter=@counter+1
END
6. 选择BookDb数据库,新建查询打开查询编辑器,输入以下代码。
DECLARE @book_name varchar (50)
SELECT @book_name= 书名
FROM图书信息
WHERE书名LIKE '%数据库基础% '
SELECT @book_name
观察显示的结果,与图书信息表中数据进行比较,@book_ name赋值的是SELECT结果集中的哪个数据?
赋值的是 书名
7. 使用SET命令将查询结果集记录数目赋值给int型局部变量@rows。给下面代码中的划线处填上适当的内容,以完成上述操作。
DECLARE @rows int
SET____@rows______ = (SELECT Count(*) FROM 读者信息)
____select____________ @rows --显示@rows的值
8. 定义int型局部变量@max、@min,在图书借阅表中查找借阅书籍数最多和最少的本数,分别赋给@max、@min并显示。
DECLARE @max int, @min INT
SELECT @max= (SELECT TOP 1 Count(*) FROM 借阅信息 GROUP BY 借阅证号ORDER BY Count(*) DESC) ,@min= (SELECT TOP 1 Count(*) FROM 借阅信息GROUP BY 借阅证号ORDER BY Count(*) ASC)
SELECT @max, @min
9. 在BookDb数据库的读者信息表中,以“卡状态”为分组条件,分别统计卡状态为“0”和“1”的人数。
select 卡状态,count(*) as 人数 from 读者信息 group by 卡状态
10.在局部变量@book_id中存储了图书编号值。编写代码查询借阅图书编号为“10150001 ”的图书的记录是否过期。如果过期则显示“借阅的图书10150001已过期!”,否则显示“借阅的图书10150001未过期”。
DECLARE @borrow_date DATETIME , @return_date datetime
SELECT @borrow_date= 借阅日期, @return_date=归还日期FROM 借阅信息
WHERE图书编号='110150001'
IF (@borrow date>@return date)
PRINT '借阅的图书10150001已过期!'
ELSE
PRINT '借阅的图书10150001未过期'
11.定义一个int型局部变量@num,以存储各单位的读者人数。在以下代码的画线部分填入适当内容,以实现上述功能。
DECLARE _@num______________ int
SELECT单位,____count(*)___________ AS 读者人数
FROM 读者信息 GROUP BY单位
不经一番彻骨寒,哪有梅花扑鼻香?