SQL语句练习题

2023-05-16

一、表结构

----------------------  创建数据库 school 脚本 ---------------------------  

--drop database school
create database school    --创建数据库
go

/*CREATE DATABASE school
ON 
( NAME = school_dat,
   FILENAME = 'd:\school1.mdf',
   SIZE = 2,
   MAXSIZE = 4,
   FILEGROWTH = 1 )
LOG ON
( NAME =school_log,
   FILENAME = 'd:\school1.ldf',
   SIZE = 2MB,
   MAXSIZE = 3MB,
   FILEGROWTH = 1MB ) */

use school   --进入 school 数据库
go

EXEC sp_addtype ud_sno,'char(6)'   
go

--创建表
create table Student ( 
   Sno ud_sno , 
   Sname char(10) not null unique ,
   Ssex char(2) check (ssex='男' or ssex='女') ,
   Sage smallint check(sage>16) ,
   Sdept char(10)  not null default 'JSJ' ,
   
   primary key (sno)
 ) 
create index ix_student_sname ON student(sname)

create table course( 
   Cno char(4) ,
   Cname char(16) ,
   Cpno  char(4) ,
   Ccredit int check (Ccredit >=0 and Ccredit<=5),

   check( cno<>cpno) , --约束
   primary key (cno)
 )
create index ix_course_cpno ON course(cpno)
 
create table SC( 
  Sno ud_sno ,
  Cno char(4) ,
  Grade int check(grade<=100) ,

  constraint pk_sc primary key (sno,cno),
  foreign key (sno) references student(sno) ,
  foreign key (cno) references course(cno) ,
 )
create index ix_sc_cno ON sc(cno)
 
--添加数据

insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0003','陈小明','男',20,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0004','杨秀红','女',21,'JSJ')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0001','周志林','男',20,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0009','钱明明','男',20,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0002','李文庆','男',23,'JSJ')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0081','刘亭','女',  22,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0091','贺秋雪','女',20,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0078','王振','男',  21,'JSJ')
insert into Student (Sno,Sname,Ssex,Sage,Sdept)  values ('0092','赵三','男',  22,'SX')
insert into student (sno,sname,ssex,sage,sdept) values ('8001','张华','男',23,'SX')
insert into student (sno,sname,ssex,sage,sdept) values ('8002','赵颖','女',21,'SX')
insert into student (sno,sname,ssex,sage,sdept) values ('8003','钱凯','男',22,'JSJ')
insert into student (sno,sname,ssex,sage,sdept) values ('8004','王华','男',21,'SX')
insert into student (sno,sname,ssex,sage) values ('8005','张英','女',21)
insert into student (sno,sname,ssex,sage) values ('8006','赵章','女',22)
insert into student (sno,sname,ssex,sage) values ('8007','钱利','男',23)
insert into student (sno,sname,ssex,sage) values ('8008','王铁','男',21)
insert into student (sno,sname,ssex,sage) values ('8009','张明','男',22)



insert into course(Cno,Cname,Cpno,Ccredit) values ('1001','高等数学','',5)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1002','离散数学','1001',3)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1003','程序设计','',5)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1004','数据结构','1003',4)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1005','数据库原理','1004',4)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1006','操作系统','1004',5)

insert into SC(Sno,Cno,Grade) values ('0002','1002',90)
insert into SC(Sno,Cno,Grade) values ('0002','1001',91)
insert into SC(Sno,Cno,Grade) values ('0002','1003',67)
insert into SC(Sno,Cno,Grade) values ('0002','1004',98)
insert into SC(Sno,Cno,Grade) values ('0001','1002',92)
insert into SC(Sno,Cno,Grade) values ('0001','1001',92)
insert into SC(Sno,Cno,Grade) values ('0001','1003',76)
insert into SC(Sno,Cno,Grade) values ('0003','1001',77)
insert into SC(Sno,Cno,Grade) values ('0001','1004',     91)
insert into SC(Sno,Cno,Grade) values ('0004','1001',     97)
insert into SC(Sno,Cno,Grade) values ('0004','1002',     78)
insert into SC(Sno,Cno,Grade) values ('0004','1003',     65)
insert into SC(Sno,Cno,Grade) values ('0004','1004',     89)
insert into SC(Sno,Cno,Grade) values ('0091','1001',     93)
insert into SC(Sno,Cno,Grade) values ('0091','1002',     87)
insert into SC(Sno,Cno,Grade) values ('0091','1003',     99)
insert into SC(Sno,Cno,Grade) values ('0091','1004',     95)
insert into SC(Sno,Cno,Grade) values ('0009','1001',     93)
insert into SC(Sno,Cno,Grade) values ('0009','1002',     88)
insert into SC(Sno,Cno,Grade) values ('0009','1003',     60)
insert into SC(Sno,Cno,Grade) values ('0009','1004',     83)
insert into SC(Sno,Cno,Grade) values ('0092','1001',     98)
insert into SC(Sno,Cno,Grade) values ('0092','1002',     86)
insert into SC(Sno,Cno) values ('0092','1003')

insert into SC(Sno,Cno,Grade) values ('0081','1001',     90)
insert into SC(Sno,Cno) values ('0081','1002')
insert into SC(Sno,Cno) values ('0081','1003')

insert into SC(Sno,Cno,Grade) values ('8001','1002',90)
insert into SC(Sno,Cno,Grade) values ('8001','1001',91)
insert into SC(Sno,Cno,Grade) values ('8001','1003',67)
insert into SC(Sno,Cno,Grade) values ('8001','1005',98)
insert into SC(Sno,Cno,Grade) values ('8002','1002',87)
insert into SC(Sno,Cno,Grade) values ('8002','1001',96)
insert into SC(Sno,Cno,Grade) values ('8002','1003',68)
insert into SC(Sno,Cno,Grade) values ('8002','1005',92)

insert into SC(Sno,Cno,Grade) values ('8003','1001',91)
insert into SC(Sno,Cno,Grade) values ('8003','1003',92)
insert into SC(Sno,Cno,Grade) values ('8003','1004',63)
insert into SC(Sno,Cno,Grade) values ('8003','1005',94)

insert into SC(Sno,Cno,Grade) values ('8004','1001',92)
insert into SC(Sno,Cno,Grade) values ('8004','1003',93)
insert into SC(Sno,Cno,Grade) values ('8004','1004',64)
insert into SC(Sno,Cno) values ('8004','1005')

insert into SC(Sno,Cno) values ('8006','1001')
insert into SC(Sno,Cno,Grade) values ('8006','1002',92)
insert into SC(Sno,Cno,Grade) values ('8006','1003',20)
insert into SC(Sno,Cno) values ('8006','1004')

insert into SC(Sno,Cno,Grade) values ('8007','1001',99)
insert into SC(Sno,Cno,Grade) values ('8007','1003',92)
insert into SC(Sno,Cno,Grade) values ('8007','1004',86)
insert into SC(Sno,Cno,Grade) values ('8007','1005',98)
insert into SC(Sno,Cno,Grade) values ('8007','1002',95)

insert into SC(Sno,Cno,Grade) values ('8008','1001',91)
insert into SC(Sno,Cno,Grade) values ('8008','1003',92)
insert into SC(Sno,Cno,Grade) values ('8008','1004',83)
insert into SC(Sno,Cno,Grade) values ('8008','1005',94)
insert into SC(Sno,Cno,Grade) values ('8008','1002',99)

insert into SC(Sno,Cno,Grade) values ('8009','1001',65)
insert into SC(Sno,Cno,Grade) values ('8009','1002',71)
insert into SC(Sno,Cno,Grade) values ('8009','1003',32)
insert into SC(Sno,Cno,Grade) values ('8009','1004',25)


二、单表查询

--一 单表
--1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。

Select Sno ,Sname ,Sage 
From Student
Where ssex='女' and Sage between 19 and 21
Order by Sage DesC
--2查询姓名中第2个字为“明”字的学生学号、性别。
select Sno ,sname,ssex
from Student
where Sname like '%明%'
--3查询 1001课程没有成绩的学生学号、课程号
select sno, cno   
from  sc    
where grade is null and cno='1001'

--4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系及学号排列           X
select Sno,Sname from student

where (Sdept='JSJ' OR Sdept='SX' OR Sdept='WL')and Sage>25

--5按10分制查询学生的sno,cno,10分制成绩 
select sno,cno,grade*0.1 as A
from SC 
  -- (1-10分 为1 ,11-20分为2 ,30-39分为3,。。。90-100为10) 
--6查询 student 表中的学生共分布在那几个系中。(distinct) 
select distinct Sdept from student
--7查询0001号学生1001,1002课程的成绩。
SELECT grade
from sc
where Sno='0001' and Cno in('1001','1002')

三、统计

---二 统计
--1查询姓名中有“明”字的学生人数。
SELECT count(*) 
from student
where Sname like '%明%'
--2计算‘JSJ’系的平均年龄及最大年龄。
SELECT avg(Sage) AS A,max(Sage) AS B
from student
where sdept='JSJ'
--3查询学生中姓名为张明、赵英的人数                 ⭐X
SELECT count(*) 
from student
where Sname in('张明','赵英' ) 
--4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列                          
SELECT Cno, SUM(grade) as 'sum',avg(grade)as 'avg',max(grade)as 'max',min(grade)as 'min' 
from sc 

GROUP BY Cno  ORDER BY avg(grade) DESC

--5 计算 1001,1002 课程的平均分。               X
SELECT cno,avg(grade)
from sc 
where Cno in ('1001','1002') ORDER BY Cno 
--6 查询平均分大于80分的学生学号及平均分 
select Sno , avg(grade)
from sc GROUP BY Sno HAVING avg(grade) >'80'
--7 统计选修课程超过 2 门的学生学号
SELECT Sno 
from sc GROUP BY Sno HAVING count(*) >'2'
--8 统计有10位成绩大于85分以上的课程号。
SELECT Cno 
FROM sc 
WHERE grade>'85' GROUP BY Cno HAVING count(*)='10'
--9 统计平均分不及格的学生学号
SELECT Sno
from sc GROUP BY Sno HAVING avg(grade) <'60'
--10 统计有大于两门课不及格的学生学号                 X
SELECT Sno 
from sc
WHERE grade<'60' GROUP BY Sno HAVING count(*)>'2'

四、其他更新

查询年龄最低的学生姓名
select sname
from student
where sage <=all(select sage
                from student
                )
                
select sname from student where sage=(
select min(sage ) from student
)

查询平均分最高的学生学号
select sno    from    sc group by sno having 
avg(grade)>=all(select avg(select avg(grade) from sc
                            group by sno)

查询每个系小于自己系的平均年龄的学生姓名

select sname from student X where sage<
(
select avg(sage)
from student Y where Y.sno=X.sno
)

查询所有未修1001号课程的学生姓名
select sname from student
where not exists 
(
select *from SC
where Cno='1001'and SC,Sno=student.Sno
)

查询选修了全部课程的学生学号
改为:不存在一门课程这个学生没有选修
select sno  from student where NOT EXTSTS(
    select * from where not exists(
    select *from sc where cno=course.cno and sno=student.sno
    )
    )
    
查询选修了同时1号和2号课程的学生姓名
select sname from student
where not exists (
    select *from course where
    cno in ('1','2') and not exists
    (select*from sc
    where sno= student.sno and 
    cno =course.cno
    
    )
)

 1查询1001课程前3名的学生学号及成绩
 select top 3 sno,grade from sc
 where cno='1001' order by grade DESC
 2查询平均分最后一名的学生学号
 select top 1 sno, avg(grade) from sc
 group by sno
 order by avg(grade)
 
 
 select sno from sc group by sno
 having avg(grade)=
 (select top 1 avg(grade) from sc)
    group by sno order by avg(grade))
    
并
查询JSJ系的学生或者年龄不大于19岁的学生
select *from student where sdept='JSJ'
UNION
select *from student where Sage<=19

交
查询JSJ系的学生及年龄不大于19岁的学生
select *from student where sdept='JSJ'
interSect
select *from student where sage<=19

差
查询JSJ系的学生及年龄不大于19岁的学生的差集
select *from student where sdept='JSJ'
except
select *from student where sage <=19

查询全部学生都及格的课程号4种方法
1select cno from sc group by cno having min(grade)>=60
2select cno from course where cno not in 
(select cno from sc where grade <60)
3select cno from course where not exists 
(select *from sc where sc.cno=course.cno and grade<60
)
4select cno from course 
    except 
    select cno from sc where grade<60
    
查询有2门80分以上成绩的学生学号(from的子查询)
select sno from 
(select sno,COUNT(*) as cnt from sc where Grade>80 group by sno) as temp
where cnt>2

select sno cno grade
    case when grade>=90 then '优'
    case when grade>=80 then '良'
    case when grade>=70 then '中'
    case when grade>=60 then '及格'
    else'不及格'end
from sc

with 子句
with Fail AS
    (SELECT sno,cno,from sc where Score<60)
select s.sno,max(Sname)
From S join Fail ON S.sno=Fail.sno
group by S.Sno
HAving count(*)>2

生成临时表的方法
select sno,cno into #tmp1                 --没有#号是永久表
    from SC where Score <60

查询平均分第一名的学生学号
select sno,avg(grade) as avg1 into #tmpAvg from sc
group by sno

select sno from #tmpAvg where avg1=(
    select max(avg1) from #tmpAvg)
    
插入子查询
将每一个系的学生平均年龄存入DEPTAGE表
insert into DeptAge (sdept,avgAge)
select Sdept, avg(Sage)From student
Group by Sdept

把0001号学生的1002课程的成绩增加5分
update Sc set grade =grade+5
    where Sno='0001'And Cno='1002'
    
将李文庆的1001课的成绩减去10分
update SC set grade=grade-10
where Cno='1001'And
Sno=(select Sno from student Where Sname='李文庆')

把0001号学生的1002课程记录删除
DELETE From Sc where Sno='0001' and cno='1002'

delete from sc
where cno='1001' and sno=(select sno from student where sname='李文庆')

把编译原理课程的成绩都减去1分。
update SC set grade=grade-1
    where cno in 
(select cno from course where cname='编译原理')


3.9-2 SQL语言(单表) 设某电子商务公司的数据库中四张基本表的结构如下(表中各属性的含义及各表的主码见第2章练习题四): 

Customers(Cno, Cname, Csex, Cage, Caddress, Mphone, Email), 

Goods(Gno, Gname, Gtype, Price, Manufac), 

Sells(Sno, Sdate, Saddress, Cno, IsPay),    Detail(Sno, Gno, Quantity) 

其中各表中各属性的含义如下,且假定在客户付款前IsPay取值为'N',付款后IsPay取值为'Y'。 客户表中的各属性分别为:客户编号,客户姓名,客户性别,客户年龄,客户地址,手机号,电子邮箱;商品表中的各属性分别为:商品编号,商品名称,商品类别,价格,生产商;销售单表中的各属性分别为:销售单号,销售日期,送货地址,客户编号,是否已付款;销售明细表中的各属性分别为:销售单号,商品编号,数量。 

请用T-SQL语言实现下列要求:

4 找出“海尔”公司生产的所有商品的名称和价格,并按价格降序排列。 

5. 找出“华为”公司生产的商品名称中有“手机”两字的所有商品的名称和价格。 

6. 找出在售商品的品种总数。 

7. 找出各大类商品中各种商品的品种数和平均价格。

8. 找出各大类商品中各种商品的平均价格大于1000元的商品类别。

正确答案:
4、SELECT Gname, Price FROM Goods WHERE Manufac='海尔' ORDER BY Price DESC 
5、SELECT Gname, Price FROM Goods WHERE Manufac='华为' AND Gname LIKE '%手机%' 
6、SELECT COUNT(*) FROM Goods 
7、SELECT Gtype, COUNT(*), AVG(Price) FROM Goods GROUP BY Gtype 
8、SELECT Gtype FROM Goods GROUP BY Gtype HAVING AVG(Price)>1000


查询每门课都及格的课程号
标准答案:select cno from sc group by sno having min(grade)>60
我的答案:
select DISTINCT cno
from sc
except
select DISTINCT cno 
from SC
where grade<60 


3.18设有关系R(A, B)和S(B, C),则下列SQL查询语句中必定含有语法错误的是( )。
A、SELECT A,B FROM R GROUP BY A       --group 后面没有B,所以select不能有B
B、SELECT A,B FROM R,S WHERE R.A=S.C   -- select 后面应是S.B或R.B
C、I SELECT COUNT(B) FROM R                
D、SELECT A FROM R WHERE B>=MAX(B)        --where 语句里不能有MAX


19使用带有IN谓词的子查询时,子查询的SELECT子句中最多可以指定( )个列。
A、1
B、2
C、3
D、任意多

选A

3.20使用嵌套查询时,当子查询的SELECT子句中出现多个列时,可以使用( )运算符。
A、=
B、>=
C、EXISTS
D、IN

选C A\B\D均为一列


3.9-3 SQL语言(连接)设某电子商务公司的数据库中四张基本表的结构如下(表中各属性的含义及各表的主码见第2章练习题四): 
 Customers(Cno, Cname, Csex, Cage, Caddress, Mphone, Email), 
Goods(Gno, Gname, Gtype, Price, Manufac), 
Sells(Sno, Sdate, Saddress, Cno, IsPay), Detail(Sno, Gno, Quantity) 
其中各表中各属性的含义如下,且假定在客户付款前IsPay取值为'N',付款后IsPay取值为'Y'。 
客户表中的各属性分别为:客户编号,客户姓名,客户性别,客户年龄,客户地址,手机号,电子邮箱;商品表中的各属性分别为:商品编号,商品名称,商品类别,价格,生产商;销售单表中的各属性分别为:销售单号,销售日期,送货地址,客户编号,是否已付款;销售明细表中的各属性分别为:销售单号,商品编号,数量。 
请用T-SQL语言实现下列要求: 
9 找出2015年5月份的所有未付款的销售单的编号、客户编号、客户姓名和手机号。 
select Sno,S,Cno Cname,Mphone
from sells S join cusotmers c on s.cno=c.cno
where Ispay='N'and sdate between'2015-05-01' and '2015-05-31'
10.找出每一个客户的编号、姓名、手机号以及他每次购物的日期和是否已付款信息,即使该客户没有购买过商品,也要输出他的编号、姓名和手机号。 
select C.cno,cname,Mphone,Sdate,IsPay from Customers C left join sells S on C.cno=S.cno 
11.找出每一张销售单的销售单号、销售日期、客户姓名和销售单总金额。 
select S.sno,max(sdate),max(cname),sum(quanity*price)
from sells S,cusotmers C,Detail D,Goods G
where s.cno=c.cno and s.sno=d.sno and d.gno=g.gno
group by s.sno

12.找出“TP-LINK”公司生产的商品名为“WR700N无线路由器”的销售总数量。
select sum(quantity) from detail D join Goods G on d.Gno=G.Gno
where Manfac='TP-LINk'and Gname='WR700N无线路由器'
另一种做法:
select sum(quanity) from detail where Gno In(select Gno from goods where manufac='TP-LINK'and Gname='WR700N无线路由器')

12找出“TP-LINK”公司生产的各种商品的销售总数量。
select detail.gno,sum(quantity)
from detail join goods on detail.gno=goods.gno
where Manufac='TP-LINK'
group by detail.gno

12找出每一个公司的各种商品的销售总数量。
select manufac,detail.gno,sum(quantity)
from detail join goods on detail.gno=goods.gno
group manufac,detail.gno

.9-4 SQL语言(嵌套、并交差) 设某电子商务公司的数据库中四张基本表的结构如下(表中各属性的含义及各表的主码见第2章练习题四): 

 Customers(Cno, Cname, Csex, Cage, Caddress, Mphone, Email), 

Goods(Gno, Gname, Gtype, Price, Manufac), 

Sells(Sno, Sdate, Saddress, Cno, IsPay), Detail(Sno, Gno, Quantity) 

其中各表中各属性的含义如下,且假定在客户付款前IsPay取值为'N',付款后IsPay取值为'Y'。 

客户表中的各属性分别为:客户编号,客户姓名,客户性别,客户年龄,客户地址,手机号,电子邮箱;商品表中的各属性分别为:商品编号,商品名称,商品类别,价格,生产商;销售单表中的各属性分别为:销售单号,销售日期,送货地址,客户编号,是否已付款;销售明细表中的各属性分别为:销售单号,商品编号,数量。 

请用T-SQL语言实现下列要求: 

13.找出仅仅注册但至今还没有购买过商品的客户编号。 
select cno from customers where cno=not in (select cno from sells)
或select cno from customers
except select cno from sells
 
14.找出2015年1月1日以后没有购买过商品的客户编号、客户姓名和手机号。 
select cno,cname,mphone from cusotmers
where cno not in (select cno from sells where sdate>'2015-01-01') 
15.找出同类商品中价格最低的商品编号、商品名称和生产商。 
select gno ,gname,manufac from goods A where price=(
select min(price)from goods B where B.Gtype=A.Gtype)
16.找出销售数量最多的商品的名称、价格和生产商。 
select gname ,price,manufac,from goods where gno in (
        select gno  from detail group by gno having sum(quantity)>=all(
        select sum(quanity)from detail group by gno)
)
或用top语句
select gno from detail group by having sum(quantity)=(
    select TOP 1 sum(quantity) from detail group by gno order by sum(quantity)desc)

17.找出同一张销售单中既有140010123号商品又有150020234号商品的所有销售单号。 
select sno from detail where gno='140010123'
interSect
select sno from detail where gno='150020234'

select sno from detail d where gno='140010123' and exists(
    select *from detail where sno=d.sno and gno='150020234'
)

select sno from detail where gno='140010123' and sno in (
    select sno from detail where gno ='150020234')

select sno from sells where not exists(       
    select *from goods where gno in ('140010123','150020234') and not exists(     
        select* from detail where detail.gno =goods.gno and detail.sno=sells.sno)    
)



18.找出购买过“奶粉”类商品中所有品种奶粉的客户编号。 
select sno from sells where not exists(
    select *from goods where gtype='奶粉'and not exists(
        select* from detail where detail.gno =goods.gno and detail.sno=sells.sno)
)

19.在FROM子句中使用子查询,重做第15题中的查询要求。


3.9-5 SQL语言(insert,update) 设某电子商务公司的数据库中四张基本表的结构如下(表中各属性的含义及各表的主码见第2章练习题四): 

 Customers(Cno, Cname, Csex, Cage, Caddress, Mphone, Email), 

Goods(Gno, Gname, Gtype, Price, Manufac), 

Sells(Sno, Sdate, Saddress, Cno, IsPay), Detail(Sno, Gno, Quantity) 

其中各表中各属性的含义如下,且假定在客户付款前IsPay取值为'N',付款后IsPay取值为'Y'。 

客户表中的各属性分别为:客户编号,客户姓名,客户性别,客户年龄,客户地址,手机号,电子邮箱;商品表中的各属性分别为:商品编号,商品名称,商品类别,价格,生产商;销售单表中的各属性分别为:销售单号,销售日期,送货地址,客户编号,是否已付款;销售明细表中的各属性分别为:销售单号,商品编号,数量。

 请用T-SQL语言实现下列要求: 

20.将商品表中“手机”类商品中所有品种手机的价格降价5%。
UPDATE Goods SET Price=0.95*Price WHERE Gtype='手机' 
21.删除商品表中商品编号为110050111的商品。 
DELETE FROM Goods WHERE Gno='110050111' 
22.在商品表中添加一种新商品('150050111', 'P8手机', '手机', 2499, '华为')。
insert into goods (Gno,Gname,Gtype,Price,Manufac)
            values('150050111', 'P8手机', '手机', 2499, '华为')


7.5.1 上机实验题:第二部分 实验七:数据查询 临时表,case。表为student,sc,course 表。
1、查询学生的学号、课程号、成绩等地,成绩等地按如下规定: 95以上 A+, 90-95 A,
85-89 B+, 80-84 B, 75-79 C+, 70-74 C,65-69 D+,60-64 D,60分以下 F。
select sno,cno,grade,
case when grade>=95 then 'A+'
    when grade>=90 then 'A'
    when grade>=85 then 'B+'
    when grade>=80 then 'B'
    when grade>=75 then 'C+'
    when grade>=70 then 'C'
    when grade>=65 then 'D+'
    when grade>=60 then 'D'
    else '不及格' end
from sc


2、查询每个系科男女生的比率(如男20人,女 40,则是20/40=0.5使用临时表)。
select sdept count(*) as cnt1 into #tmp1 from student where ssex='男' group by sdept
select sdept count(*) as cnt2 into #tmp2 from student where ssex='女' group by sdept

select #temp1.sdept,1.0*cnt1/cnt2 from #tmp1 join #tmp2 on #tmp1.sdept=#tmp2.sdept

或者:
select sdept sum(case when Ssex='男' then 1 else 0 end)*1.0/sum (case when Ssex='女' then 1 else 0 end )
from student    
group by sdept



6.1 上机实验题:第二部分 实验六: 数据更新 insert。表为student,sc,course 表。
一 insert
1 写出把下述学生的信息添加到student表中的命令。
学号 姓名 性别 年龄 系科
4001 赵茵 男 20 SX
4002 杨华 女 21
我的答案:

insert into student (Sno,Sname,Ssex,Sage,Sdept)

 values('4001', '赵茵', '男', 20, 'SX', null)

 values('4002', '杨华', '女', 21,  null,null)


6.2 上机实验题:第二部分 实验六: 数据更新 insert。表为student,sc,course 表。
一 insert
2 批量插入数据
1) 建立一个新表 sc_name ,有属性 sno , sname , ssex , cno , grade ,数据类型参照student,sc 表。
2) 把 SX 系学生的sno,sname,ssex, cno , grade 插入到新表 sc_name 中。
3) 察看 sc_name 表的数据
我的答案:

1) 建立一个新表 sc_name ,有属性 sno , sname , ssex , cno , grade ,数据类型参照student,sc 表。

create table sc_name ( 

   Sno ud_sno , 

   Sname char(10) not null unique ,

   Ssex char(2) check (ssex='男' or ssex='女') ,

   Cno char(4) ,

   Grade int check(grade<=100) ,

   

   primary key (sno)

 ) 



2) 把 SX 系学生的sno,sname,ssex, cno , grade 插入到新表 sc_name 中。

insert into sc_name

 select sno,sname,ssex from student

insert into sc_name

 select cno from course

insert into sc_name

 select grade from sc

3) 察看 sc_name 表的数据

select *

from sc_name


6.3 上机实验题:第二部分 实验六: 数据更新 update。 表为student,sc,course 表。
二 Update
1 修改 0001 学生的系科为: JSJ
2 把陈小明的年龄加1岁,性别改为女。
2 修改李文庆的1001课程的成绩为 93 分
3 把“数据库原理”课的成绩减去1分
我的答案:

1 修改 0001 学生的系科为: JSJ

update student set Sdept='JSJ'

 where Sno='0001'

2 把陈小明的年龄加1岁,性别改为女。

update student set sage=sage+1

 where Sname='陈小明'

update student set Ssex='女'

 where Sname='陈小明'

2 修改李文庆的1001课程的成绩为 93 分

update sc set grade='93'

 where Sno=(select sno from student where sname='李文庆')

3 把“数据库原理”课的成绩减去1分

update sc set grade=grade-1

 where Cno in (select cno from course where cname='数据库原理')
 
 6.4 上机实验题:第二部分 实验六: 数据更新 delete。 表为student,sc,course 表。
三 Delete
1 删除所有 JSJ 系的男生
2 删除“数据库原理”的课的选课纪录
我的答案:

1 删除所有 JSJ 系的男生

delete from Student

 where  sdept='JSJ' and ssex='男'

2 删除“数据库原理”的课的选课纪录

delete from SC

 where Cno='数据库原理'

上机实验题:第二部分 实验一、实验二、实验三。做完实验,把所有命令写到脚本文件保存,文件名自定。

3.12-2 上机实验题:第二部分 实验七: 一、单表,把所有命令写到脚本文件保存,文件名自定。 表为student,sc,course 表。
1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。
2查询姓名中第2个字为“明”字的学生学号、性别。
3查询 1001课程没有成绩的学生学号、课程号
4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系及学号排列
5按10分制查询学生的sno,cno,10分制成绩
(1-10分 为1 ,11-20分为2 ,30-39分为3,。。。90-100为10)
6查询 student 表中的学生共分布在那几个系中。(distinct)
7查询0001号学生1001,1002课程的成绩。

3.12-3 上机实验题:第二部分 实验七:二、统计,把所有命令写到脚本文件保存,文件名自定。 表为student,sc,course 表。
1查询姓名中有“明”字的学生人数。
2计算‘JSJ’系的平均年龄及最大年龄。
3查询学生中姓名为张明、赵英的人数
select sname,count(*) from student 
    where sname in('张明','赵英') group by sname
4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列
5 计算 1001,1002 课程的平均分。
6 查询平均分大于80分的学生学号及平均分
7 统计选修课程超过 2 门的学生学号
8 统计有10位成绩大于85分以上的课程号。
9 统计平均分不及格的学生学号
select sc.sno from student join sc on student.sno=sc.sno
group by sc.sno having avg(grade)<60

10 统计有大于两门课不及格的学生学号


3.12-4 上机实验题:第二部分 实验七:三、连接,把所有命令写到脚本文件保存,文件名自定。 表为student,sc,course 表。
1查询 JSJ 系的学生选修的课程号
2查询选修1002 课程的学生的学生姓名 (不用嵌套及嵌套2种方法)
3查询数据库原理不及格的学生学号及成绩
4查询选修“数据库原理”课且成绩 80 以上的学生姓名(不用嵌套及嵌套2种方法)
5查询平均分不及格的学生的学号,姓名,平均分。
select sc.sno,min(sname),avg(grade) from student join sc on student.sno=sc.sno
group by sc.sno having avg(grade)<60
6查询女学生平均分高于75分的学生姓名。
7查询男学生学号、姓名、课程号、成绩。(一门课程也没有选修的男学生也要列出,不能遗漏)


3.12-5 上机实验题:第二部分 实验七:四、嵌套、相关及其他,把所有命令写到脚本文件保存,文件名自定。 表为student,sc,course 表。
1 查询平均分不及格的学生人数
select count(*) from student where sno in (
    select sno from sc group by sno having avg(grade)<60
    )
2 查询没有选修1002 课程的学生的学生姓名
3 查询平均分最高的学生学号及平均分 (2种方法 TOP , any , all)
4查询同时选修了1001,1002课程的学生姓名。
*5 查询没有选修1001,1002课程的学生姓名。
6 查询大于1001课程平均分的学生学号
7 查询1002课程第一名的学生学号(2种方法)
8 查询平均分前三名的学生学号
9 查询 JSJ 系的学生与年龄不大于19岁的学生的差集
10 查询1001号课程大于90分的学生学号、姓名及平均分大于85分的学生学号、姓名
11 查询每门课程成绩都高于该门课程平均分的学生学号
    所有学号    (查询有低于课程平均分的学生学号)
    select sno from student
    except
    select  sno  from sc A  where grade<(
            select avg(grade) from sc B where B.cno=A.cno)

    select sno from student where sno not in (
    select  sno  from sc A  where grade<(
            select avg(grade) from sc B where B.cno=A.cno)
    )


12 查询大于本系科平均年龄的学生姓名

13 查询1001课程第三名的学生学号
前三名-前两名
select top 3 sno from sc where cno='1001' order by grade desc
except
select top 2 sno from sc where cno='1001' order by grade desc
*14 查询每个学生的学号、姓名、系科,系科用中文显示。JSJ 显示 计算机,SX 显示 数学,WL 显示 物理, 否则显示 其他

建立JSJ系的学生的视图
create view student_jsj  AS
    select Sno,Sname,Sage From student
    where Sdept ='JSJ'

建立一个反映学生出生年份的视图
create view student_birth AS
    select Sno,Sname,2000-Sage as birth FROM
    
建立学生各系科平均年龄的视图
create view V_1 (Sdept,average) AS
    select Sdept,AVG(sage) from student
    group by sdept
    
    
    
update student_jsj Set Sage=21
    where Sname ='李文庆'
若李文庆不是计算机学生
create View student_jsj AS
    select Sno,Sname,Sage,From student
    where Sdept='JSJ'
    with check option
    (with check option)拥有这句 若李文庆不是计算机学生不能更改
    
    
查询每门课的及格率@
create view v1(cno,cntAll)as
    select cno,count(*)from sc
    group by cno
    
create view v2(cno,cnt60)as
    select cno,count(*)from sc
    where grade >=60
    group by cno
select v1.cno,1.0*cnt60/cntAll
from v1 join v2 on v1.cno=v2.cno

临时表方法
Cast 方法

例一:把查询student的权限授予用户U1
grant select
    on (table) student TO U1
例二:把对student、course表的select,update,insert权限授予用户U2,U3
Grant select,insert,update
    on (table) student,course TO U2,U3
    
例三:把查询student表和修改学生学号的权限授予用户U4
grant select ,update(Sno)
    on (table) student TO U4


4.8 SQL语言,下列各题中所涉及到的基本表的结构见第3章练习题四。
Customers(Cno, Cname, Csex, Cage, Caddress, Mphone, Email),
Goods(Gno, Gname, Gtype, Price, Manufac),
Sells(Sno, Sdate, Saddress, Cno, IsPay), Detail(Sno, Gno, Quantity)
1. 对Customers表的客户名按升序创建一个非聚集索引。
create INDEX index_Customers_Cname ON Customers(Cname)
2. 对Goods表按商品类别升序和价格升序创建一个复合非聚集索引。
CREATE INDEX index Goods GtypePrice ON Goods(Gtype,Price)
3. 对Sells表按客户编号升序和销售日期降序创建一个复合非聚集索引。
CREATE INDEX index_Sells_CnoSdate ON Sells (Cno,Sdate,DESC)
4. 定义一个名为GoodsPhone的视图,该视图只包含“手机”大类商品的商品信息。
CREATE VIEW GoodsPhone
 AS SELECT * From Goods Where Gtype='手机'
5. 在视图GoodsPhone的基础上定义一个名为GoodsPhoneHuaWei的视图,该视图只包含“华为”公司生产的手机类商品的商品信息。
Create view goods where 
6. 定义一个名为SellsQuantity的视图,该视图有4列,分别是商品的名称、价格、生产商和该商品的销售总数量(销售总数量用Squantity表示)。
create view SellsQuantity (Gname,Price,Manufac,Squantity) AS
    Select Gname,min(Price),min(Manufac),sum(quantity)
    From Goods,detail,where Goods,Gno=Detail.Gno
    Group by gname,price,manufac

7. 利用第6题中定义的视图,找出销售数量最多的商品的名称、价格和生产商。
select Gname ,Price,Manufac from sellsQuantity
where Squantity>=all(select Squantity FROM sellsQuantity)

select Gname,Price,Manufac from sellsQuantity
where    Squantity =(select max(squantity) from sellsQuantity)

select gname ,price,manufac from sellsQuantity
where squantity=(select top 1 squantity )from sellsQuantity order by squantity desc

8. 定义一个名为SellsMoney的视图,该视图有6列,分别是销售单号、销售日期、客户姓名、客户性别、客户年龄和该销售单总金额(销售单总金额用Smoney表示)。
create view sellsMoney(sno,sdate,cname,csex,cage,sMoney)
select sells.sno,sdate,cname,csex,cage,sum(quantity*price    )
from sells,detail,goods,customers
where sells.sno=detail.sno and customers.cno=sells.cno and goods.gno=detail.gno
group by sells.sno,sdate,cname,csex,cage
9. 利用第8题中定义的视图,找出2014年全年的购买总金额超过10000元的客户的姓名、性别和年龄。
select cname,min(csex),min (cage)
from sellsMoney where sdate between '2014-1-1'and'2014-12-31'
group by cname having sum(sMoney)>10000

10.在视图GoodsPhone中添加一种新商品('150050111', 'P8手机', '手机', 2499, '华为')。
insert into goodsphone(Gno,Gname,Gtype,price,Manufac)
    values('150050111','P8手机','手机','2499','华为')





一.简答题(共3题,100.0分)
1
13.1 在School 数据库上完成实验,理解 rollback。  
1输入下列语句并执行 ,记录该学生的年龄。
Select * from student where sno=’0001’
 答:
2  执行下列语句序列A:
BEGIN TRANsaction  
    Update student set sage=sage+1 where sno=’0001’
    Select * from student where sno=’0002’
 此事务结束了吗?
 答:
3   执行:
 Select * from student where sno=’0001’
记录该学生的年龄。
思考:student 中的0001的年龄确实被更改了吗? 为什么?
答:
4 执行下列语句。
   ROLLBACK  TRANsaction
   然后再执行:
Select * from student where sno=’0001’
,   观察0001的年龄, 解释发生这种现象的原因。
答:

正确答案:


一、1  答:21   (每个人可能不同)
2   答:事务没有执行 commit 或 rollback ,所以没有结束。
3  答:22 ,0001的年龄增加了1岁。
4  答:21 ,回滚后,数据恢复。

213.2 在School 数据库上完成实验,理解 commit 。
1在查询分析器输入下列语句并执行 ,记录该学生的年龄。
Select * from student where sno=’0001’
答:
2 执行下列 语句序列A:
BEGIN TRANsaction
Update student set sage=sage+1 where sno=’0001’
Select * from student where sno=’0002’
3执行:
commit transaction
Select * from student where sno=’0001’
记录结果, 此时更改后的数据被永久保存了吗?
答:
正确答案:


1 答:21
3 答:22
314.1 在School 数据库上完成实验,理解锁的概念及锁的作用
一 利用帮助系统了解Sql-server 的下列语句的含义
1 设置锁的隔离级别
SET TRANSACTION ISOLATION LEVEL Serializable
执行这个语句的效果?
答:
二 观察封锁
1 执行语句序列A
BEGIN TRANsaction
Update student set sage=sage+1 where sno=’0001’
Select * from student where sno=’0002’
2 在SSMS中打开第二个连接(连接 school)[文件-连接], 输入下列语句:
1) select * from student where sno=’0002’
记录执行结果,说明原因。
答:
2)select * from student where sno=’0001’
记录执行结果,说明原因。(如上一步没有停止,则强行终止)
答:
执行 select * from student with(nolock) where sno=’0001’
记录执行结果,说明原因。(如上一步没有停止,则强行终止)
答:
3) update student set sname=’aaa’ where sno=’0002’
记录执行结果,说明原因。(如上一步没有停止,则强行终止)
答:
4) 强行终止上一步的命令,然后执行语句:
DBCC opentran
记录结果 ,思考:如何知道此事务是那一台计算机发出的?
答:
5)执行:
select * from student where sno=’0001’
记录执行结果,说明原因
答:
然后回到第一个连接中,执行语句:
commit Tran
观察并记录第二个连接窗口中的现象,说明原因
答:
正确答案:


0001加了X锁,0002 加了S锁。
一、1 本语句,封锁协议达到三级封锁协议,并且解决幻影读。
二/2
1) 答:能查到0002 学生信息,S锁上可以加S锁。
2)答:等待解锁,无法查询到数据。因为X锁上不能加 s 锁。
可以执行,能查到数据。
3) 答:无法完成更新操作,因为 S锁上不能加X锁。
4) 答:发现有一个事务活动得。
5)答: 等待中 0001解锁,无法完成查询
答:马上看到0001 的信息。








2.1 按步骤执行:
一 完全备份的建立与恢复
1建立完全备份
USE school
GO
BACKUP DATABASE school TO DISK='E:\SQL Server Management Studio\schooldata.bak'
查看备份是否生成?
2查看备份文件中的信息
RESTORE HEADERONLY FROM DISK='E:\SQL Server Management Studio\schooldata.bak'
看到了什么?
3恢复完全备份
1) 先删除数据库 School
USE Master
GO
DROP DATABASE school
2) 然后恢复.
RESTORE DATABASE school from DISK='E:\SQL Server Management Studio\schooldata.bak'
3): 查看 school 的student 中的数据
二 建立差异备份
1 建立备份
1) 制作数据文件备份 schoolDiff.bak
2) 把学号 7001, 姓名:王海,性别:男,年龄为23 的学生加入student
3) 制作school 的差异备份 ,存入schoolDiff.bak
BACKUP DATABASE school TO DISK='schoolDiff.bak' WITH DIFFERENTIAL
4) 把学号 7002, 姓名:赵燕,性别:女,年龄为22 的学生加入student
5) 制作school 的差异备份 ,存入schoolDiff.bak
BACKUP DATABASE school TO DISK='schoolDiff.bak' WITH DIFFERENTIAL
2查看备份文件 schoolDiff.bak 中的信息
3 删除 school 数据库
4 恢复数据库 school 到第2步状态
RESTORE DATABASE school from DISK='E:\SQL Server Management Studio\schoolDiff.bak'WITH file=1 NORECOVERY
RESTORE DATABASE school from DISK='E:\SQL Server Management Studio\schoolDiff.bak'WITH file=2
Select * from student
观察student 数据
5 恢复数据库 school 到最新状态
RESTORE DATABASE school from DISK='E:\SQL Server Management Studio\schoolDiff.bak'WITH file=1 NORECOVERY
RESTORE DATABASE school from DISK='E:\SQL Server Management Studio\schoolDiff.bak'WITH file=3
Select * from student
观察student 数据,新增的两人是否存在。
答:
思考: 如果仅执行下述恢复语句,能查看 student 的数据吗?

RESTORE DATABASE school from DISK='E:\SQL Server Management Studio\schoolDiff.bak'WITH file=1 NORECOVERY
Select * from student

不能 norecovery 还需要恢复差异备份或日志备份,数据库还需要恢复数据
recovery 表示恢复到正常状态


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL语句练习题 的相关文章

  • 当表有聚集索引时,数据是如何存储的

    我发现了无数的帖子 开头都是这样的很多时候我遇到人们说 聚集索引根据聚集索引键对表内的数据进行物理排序 这不是真的 然后这些帖子继续描述它是如何通过链表或其他方式实际存储的 例如 这个post http sqlwithmanoj wordp
  • 如何在 postgresql 中使用“时间”字段按小时分组?

    我有一张带有一列的桌子ctime类型的time without time zone cdate ctime 2016 12 24 12 02 17 2016 12 24 12 02 32 2016 12 24 12 03 00 2016 1
  • 使用 MYSQL 创建随机数

    我想知道是否有一种方法可以选择 100 到 500 之间随机生成的数字以及选择查询 Eg SELECT name address random number FROM users 我不必将此数字存储在数据库中 而只需使用它来显示目的 我尝试
  • Oracle 时间戳数据类型

    不带参数的时间戳数据类型和带参数 0 的时间戳数据类型有什么不同 timestamp VS timestamp 0 括号中的数字指定要存储的小数秒的精度 所以 0 意味着不存储任何一小部分秒 而仅使用整秒 如果未指定 则默认值为小数点分隔符
  • 将 mysql 查询输出存储到 shell 变量中

    我需要一个变量来保存从数据库检索的结果 到目前为止 这基本上是我正在尝试但没有成功的事情 myvariable mysql database u user p password SELECT A B C FROM table a 正如你所看
  • 会员提供商使用还是不使用?

    我正在开发一个使用 Facebook 的网站 现在为了管理用户我想使用MembershipProvider并选择开发一个定制的会员提供商 我的问题是我的数据库架构与标准成员资格架构不匹配 并且提供的用于覆盖的函数采用与我预期不同的参数 例如
  • “已经有一个与此命令关联的打开的 DataReader,必须先将其关闭。”

    我正在开发需要连接到另一个数据库以获取一些数据的应用程序 为此 我决定使用 SqlConnection reader 等 我需要执行一些查询 例如首先我需要获取某个用户的卡 ID 之后我需要通过该卡 ID 获取一些数据 这是我的代码 reg
  • 了解 Oracle Apex_Application.G_Fnn 以及如何使用它

    我对 Oracle apex application gfnn 的工作原理以及它是否仅适用于 Oracle ApEx 中的标准 SQL 报告或仅适用于 SQL 可更新报告 即表格形式 感到非常困惑 基本上我试图使用这个示例 SQL 来实现以
  • Oracle中表的列重新排序

    我有一个包含 50 多列的表 我需要交换前两列的顺序 使用 Oracle 实现此目的的最佳方法是什么 假设表名是 ORDERDETAILS 前两列是 ITEM ID 和 ORDER ID 重命名完成后 表名仍应为 ORDERDETAILS
  • T-SQL - 字符串连接

    希望有人可以提供帮助 我是一个新手 SQL 黑客 而且确实很糟糕 我在 SQL Server 2005 上有两个表 TABLE 1 和 TABLE2 TABLE1 COL1 COL2 1 10 2 20 3 30 4 10 4 20 5 2
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • MySQL如何进行浮点加法的数学计算?

    我测试过SELECT 0 1 0 2 用MySQL MariaDB 查询 它返回了正确的答案 MariaDB none gt SELECT 0 1 0 2 0 1 0 2 0 3 1 row in set 0 000 sec 在大多数编程语
  • Linq 选择与另一个表中的 ID 相等的项目

    我不确定这怎么可能 但我有两个表 我想通过表 1 的值从表 2 中获取值 表 1 有一个名为 rank 的外键 它是int 表 2 有一个名为 name 的值 它是string 现在表 1 的 排名 与表 2 的 ID 相关 所以当我说 v
  • Postgres 上的 C 语言环境和 Posix 语言环境有什么区别?

    我知道 Postgres 上的数据库区域设置负责国家字符的正确顺序 正确的小写 大写等 但为什么有两种语言中立的语言环境 posix and c 它们之间有什么区别 还是只是一个中立的语言环境有两个不同的名称 UPDATE正如 Magnus
  • 如何手动设置auto_increment的下一个值?

    我手动向表中添加了一些行 并且还手动设置了 ID 自动增量 现在 当我尝试通过我的应用程序将新行添加到数据库表中时 我收到错误 创建的 ID 值已存在 如何手动设置下一个ID值 例如 在表中我必须有ID 那么如何告诉PostgreSQL 下
  • 从 CTE 插入

    WITH DTL AS SELECT CMPI CODE CMN CDTY MTRL CMI WT FACTOR CMI CNTRCT RATE PL PRESENT PRICE TRM CODE ROUND NVL PRESENT PRI
  • 使用sqlbulkcopy之前如何创建表

    我有一个 DBF 文件 我正在尝试导入该文件 然后将其写入 SQL 表 我遇到的问题是 如果我使用 SqlBulkCopy 它需要我提前创建表 但在我的场景中这是不可能的 因为 dbf 文件不断变化 到目前为止 这是我的代码 public
  • 删除或更改 ETL 中的记录

    我有一个表 我在上面构建了 ETL 服务 货物记录 到达 离开 进入表格 我已经这样做了 我的桌子将被删除 当项目标识符第二次到达数据库时 两条记录都被删除 label cost time x2 29 14 5 2020 01 00 00
  • MSSQL:如何使用代码编写存储过程创建脚本?

    我正在尝试使用一个数据库中存在但另一个数据库中不存在的 information schema routines 查询存储过程定义列表 SELECT t1 Routine Definition FROM server1 MyDatabase
  • 随机排列每行的列值

    我正在使用 C NET 开发多项选择题考试生成器 每次做出报告时 都会在数据库中随机挑选问题 并随机调整选项 我可以做随机问题部分 但我不能做选择的洗牌 我有一张表 其中一行如下 question answer distractor1 di

随机推荐

  • lingo中@size@for@sum函数的使用

    64 size LINGO中的 64 size xff08 xff09 函数用于确定集合中元素的个数 比如你的集合是 注意 xff1a 在使用size的时候直接在 64 size 括号里写上集合名就行 xff0c 不需要写 64 size
  • windows ubuntu18.04 双系统共用蓝牙LE的鼠标

    由于由于双系统的缘故 xff0c 一个蓝牙鼠标并不能无缝的在ubuntu和windows之间切换 由于现在市场上很多是bluetooth LE鼠标 xff0c 所以网上的方法都会失效 这里以华为蓝牙鼠标为例 xff0c 给出一种可行的解决方
  • Apsara Clouder云计算专项技能认证:云服务器ECS入门

    1 xff0e 云服务器ECS以服务化的方式对客户提供 xff0c 阿里云产品售后支持的时间段是 xff1f 单选 A 5 8 B 7 8 C 7 12 D 7 24 2 xff0e 云服务器ECS属于云计算SaaS PaaS laaS哪一
  • Anaconda 下载

    官方下载源 xff08 下载较慢 xff09 xff1a https repo anaconda com archive https repo anaconda com archive 国内下载源 xff08 清华映像站 xff09 xff
  • dpkg: 处理软件包 XXXX (--configure)时出错解决方法

    正在设置 ubuntu drivers common 1 0 4 17 7 var lib dpkg info ubuntu drivers common postinst 21 var lib dpkg info ubuntu drive
  • k8s资源调度

    k8s资源调度 文章目录 k8s资源调度nodeSelectornodeAffinitytainttolerations k8s基本架构如下 Scheduler调度器做为Kubernetes三大核心组件之一 xff0c 承载着整个集群资源的
  • maskrcnn训练自己的数据集报错:ModuleNotFoundError: No module named ‘cityscapesscripts‘

    原因是需要安装cityscapesscripts xff0c 安装地址 xff1a https github com mcordts cityscapesScripts xff0c clone下来之后安装上面的说明进行install pyt
  • 选择排序详解

    选择排序详解 文章目录 选择排序详解1 选择排序算法详解1 药引子 我自己的排序方法2 命根子 选择排序的精髓3 选择排序图解4 总结 2 选择排序的代码详解 摘要 xff1a 选择排序算法是一种比较容易理解的排序算法 xff0c 记得我在
  • golang中日期操作之日期格式化及日期转换

    golang中并没有像java一样提供类似yyyy MM dd HH mm ss格式的操作 xff0c 而是将其定义为golang的诞生时间 xff1a 2006 01 02 15 04 05 0700 MST 注意这在golang的日期格
  • python4

    选择结构程序设计 通过Input xff08 xff09 函数任意输入三条边长 xff0c 经过简单的计算后 xff0c 判断三条边长能否构成三角形 xff0c 并确定是类型的三角形 xff0c 如 xff08 等边 xff0c 等腰 xf
  • python7

    如有问题请大佬指出 xff0c 撒花 1 创建SchoolMem类 xff0c 该类中包含三种属性 xff1a 姓名 性别 年龄以及针对每个属性的get和set方法 xff1b 2 创建Student类 xff0c 继承自SchoolMem
  • 啊哈-小哼买书

    1 桶排序解决 xff08 在网站中可以AC xff09 include lt cstdio gt include lt iostream gt using namespace std int main int a 1001 n i t i
  • 周周复始 |python实现日历 遇到的错误

    错误总结 pip 问题使用oenpyxl的问题 pip 问题 安装或更新都会出现一下问题 xff1a ERROR Exception Traceback most recent call last 解决办法就是找个镜像 xff1a 推荐 x
  • ValueError: not enough values to unpack (expected 3, got 0)

    运行github上的大佬的代码 xff1a https github com YunYang1994 tensorflow yolov3 xff0c 在进行python train py的时候 ValueError not enough v
  • 迁移博客中

    本博客正在迁移到 xff1a 周周的苜蓿园
  • 粘贴代码规整漂亮的网站(可在word中规整

    可以生成比较好看的代码截图 xff1a https carbon now sh 可以在Word中粘贴出比较整齐的代码 xff1a http www planetb ca syntax highlight word 或者用Notepad 43
  • Ubuntu Server版安装Gnome图形桌面

    1 安装全部桌面环境 xff0c 其实Ubuntu系列桌面实际上有几种桌面应用程序 xff0c 包括Ubuntu desktop Kubunut desktop和Xubuntu desktop 我们就安装了Ubuntu desktop还有G
  • c++ sort函数cmp的有关情况(由浅入深)

    sort first last cmp sort默认是从小到大排序 xff0c 要改成从大到小排序则可修改cmp span class token keyword bool span span class token function cm
  • qemu-kvm中debian-11.3.0虚拟机 root密码忘记处理方法

    1 启动虚拟机 virsh start debian 11 3 0 2 连接虚拟机 xff0c 按 34 e 34 virsh console debian 11 3 0 3 移动光标在 34 linux boot vmlinuz 5 10
  • SQL语句练习题

    一 表结构 创建数据库 school 脚本 drop database school create database school 创建数据库 go CREATE DATABASE school ON NAME 61 school dat