當前位置:首頁 » 編程語言 » sql資料庫試卷
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫試卷

發布時間: 2023-05-25 10:14:56

1. sql資料庫一道試題幫忙做做

---1)
創建一張學生表,包含以下信息,學號,姓名,年齡,性別,家庭住址,聯系電話
CREATE
TABLE
student
(

[id]
[int]
IDENTITY(1,1)
NOT
NULL,

[student_id]
[nvarchar](50)
NULL,

[studen_name]
[nvarchar](50)
NULL,

[age]
[int]
NULL
,

[sex]
[nvarchar](5)
NULL,

[address]
[nvarchar](200)
NULL,

[tel]
[nvarchar](20)
NULL
)
--2)
修改學生表的結構,添加一列信息,學歷
ecation
alter
table
student
add
ecation
nvarchar(10)
NULL
--3)
修改學生表的結構,刪除一列信息,家庭住址
alter
table
student
drop
column
address
--5)
修改學生表的數據,將電話號碼以11開頭的學員的學歷改為「大專」
update
student
set
ecation='大專'
where
tel
like
'11%'
--6)
刪除學生表的數據,姓名以C開頭,性別為『男』的記錄刪除
delete
student
where
studen_name
like
'C%'
and
sex='男'
--7)
查詢學生表的數據,將所有年齡小於22歲的,學歷為「大專」的,學生的姓名和學號示出來
select
studen_name,student_id
from
student
where
age<12
and
ecation='大專'
--8)
查詢學生表的數據,查詢所有信息,列出前25%的記錄
select
TOP
25
PERCENT
*
from
student
--9)
查詢出所有學生的姓名,性別,年齡降序排列
select
studen_name,sex,age
from
studen
order
by
age
desc
--10)
按照性別分組查詢所有的平均年齡
select
avg(age)
as
age
from
studen
group
by
sex

2. SQL資料庫試題求解

------------------------------------------------------
create table students(st_id varchar(20),st_name varchar(50),sex varchar(10))

insert into students(st_id,st_name,sex)
select 'st001','張傑', '男' union all
select 'st002', '公孫燕飛' ,'男' union all
select 'st003', '王楠', '女' union all
select 'st004', '王偉', '男' union all
select 'st005','李燕紋', '女' union all
select 'st006', '孫武' ,'男'
select *
from students

create table teachers(t_id varchar(20),t_name varchar(50),t_lesson varchar(50))

insert into teachers

select 't001', '張老師' ,'數學' union all
select 't002', '李老師', '英語'

delete from results
create table results(r_id varchar(20),r_fenshu int,r_stid varchar(50),r_tid varchar(50))

insert into results
select 'r001','90', 'st001', 't002' union all
select 'r002', '68', 'st005', 't001' union all
select 'r003', '92', 'st003' ,'t001' union all
select 'r004', '82', 'st006', 't002' union all
select 'r005', '70', 'st002', 't002' union all
select 'r006', '86', 'st002', 't001' union all
select 'r007', '57', 'st003', 't002' union all
select 'r008', '76', 'st006', 't001' union all
select 'r009', '55', 'st001', 't001' union all
select 'r010', '77', 'st004', 't002' union all
select 'r011', '58', 'st005', 't002'
----------------------------------------------------------
1.
select st_id
from students
where st_name = '王偉'

2.select st_id,st_name
from students
where st_name like '__燕%'

3 select st_name,len(st_name) as 名字長度
from students
where sex ='男'

4 select min(r_fenshu) as 最低分數
from teachers t inner join results r on t.t_id =r.r_tid
where t_lesson ='數學' --這個是不考慮成績中有null值的
5 select s.st_id as 學生編號,r_fenshu as分數,r_tid as 課目號
from students s inner join results r on s.st_id =r.r_stid
where s.sex='女'
--如果還要課目的名稱的話請用下面的
select s.st_id as 學生編號,r.r_fenshu as 分數,r.r_tid as 課目號,t.t_lesson as 課目名稱
from students s inner join results r on s.st_id =r.r_stid
inner join teachers t on r.r_tid = t.t_id
where s.sex='女'

6 select avg(r.r_fenshu)
from results r inner join teachers t on r.r_tid = t.t_id
where t.t_lesson='英語'

7.select *
from students s inner join results r on s.st_id =r.r_stid
inner join teachers t on r.r_tid = t.t_id
where s.st_id in (select top 2 st_id from students order by st_id desc)
order by s.st_id desc

8 select sum(r.r_fenshu) as 總分
from results r inner join students s on r.r_stid =s.st_id
where s.st_name = '王楠'
9.select distinct s.st_id,s.st_name
from students s inner join results r on s.st_id = r.r_stid
where st_id not in (select r_stid from results where r_fenshu<60) and st_id not in (select r_stid from results where r_fenshu >=90)

10 update results
set r_fenshu = r_fenshu + 10
--如果分數不可能大於100請用這句 set r_fenshu = case when r_fenshu + 10 <=100 then r_fenshu + 10 else 100 end
where r_stid in (select st_id from students where sex='女')

1 進階題
select t.t_name,count(*)
from students s,teachers t,results r
where r.r_tid = t.t_id
and s.st_id =r.r_stid
and r.r_fenshu >= 60
and t.t_id in (select t_id from teachers where t_lesson='數學' )
--and t_lesson='數學'
group by t.t_name

2

select top 1 sum(r_fenshu) as 總分,t.t_lesson,t_id,t_name
from results r,teachers t
where r.r_tid = t.t_id
group by t.t_lesson,t_id,t_name
order by 總分 desc

3. delete from results where r_stid in (select r_stid from results group by r_stid having count(r_tid) = 1)

1 選做題
select d.name from sysobjects d where d.xtype='U'
2.select top 5 * from students order by newid()

3. SQL資料庫系統概論題目

懸賞的太少頃慎了,以下是代碼輪拿:請查收

--1
CREATE TABLE S
(
SNO NVARCHAR(10) PRIMARY KEY,
SNAME NVARCHAR(20) NOT NULL,
STATUS INT NOT NULL,
CITY NVARCHAR(10) NOT NULL
)
--2:只寫了SQL 簡答的問題自己處理
SELECT S.SNAME,P.PNAME,SUM(SP.QTY)
FROM S
LEFT JOIN SP ON S.SNO=SP.SNO
LEFT JOIN P ON SP.PNO=P.PNO
WHERE S.CITY='BJ'
GROUP BY S.SNAME,P.PNAME
--3
INSERT INTO SP(SNO,PNO,QTY)
VALUES ('S4','P5',150)
--4 印象里可以用表連接臘乎搭做刪除條件,這里只是用了子查詢,容易理解
DELETE FROM SP
WHERE SNO=(SELECT TOP 1 FROM S WHERE SNAME='MS')
--5
CREATE VIEW V_SP
AS
SELECT PNO,SUM(QTY)
FROM SP
GROUP BY PNO
--6.1
SELECT S.SNAME,S.CITY
FROM S
LEFT JOIN SP ON S.SNO=SP.SNO
LEFT JOIN P ON SP.PNO=P.PNO
WHERE P.PNAME='螺帽'
--6.2
SELECT S.SNO,S.SNAME
FROM S
LEFT JOIN SP ON S.SNO=SP.SNO
GROUP BY S.SNO,S.SNAME
HAVING COUNT(QTY)=(SELECT COUNT(*) FROM P)

4. SQL資料庫系統及應用~試題一套~~求高手解答!!

一、1.C,2.D,3.A,4.D,5.D,6.C,7.D,8.D,9.C,10.D
二、1.A,2.A,3.A,4.A,5.B.6.A,7.B,8.B,9.B,10.B
自己做著玩的,非標准答案~

5. SQL試題求解

1
IF OBJECT_ID('學生表')IS NOT NULL
DROP TABLE 學生表
GO
create table 學生表 --建立學生表.
(
學號 int not null , --學號,姓名,年齡,性別,家庭住址,聯系電話
姓名 varchar(10) not null, --姓名
性別 varchar(2)
年齡 int,
聯系電話 varchar(10),
家庭住址 varchar(50),
聯系電話 varchar(20),
check (性別 ='男' OR 性別='女'),
)

1.1
delete 學生表
insert 學生表 (學號,姓名,年齡,性別,聯系電話,學歷)
values(1,"A",22,"男","123456","小學")
insert 學生表 (學號,姓名,年齡,性別,聯系電話,學歷)
values(2,"B",21,"男","119","中學")
insert 學生表 (學號,姓名,年齡,性別,聯系電話,學歷)
values(3,"C",23,"男","110","高中")
insert 學生表 (學號,姓名,年齡,性別,聯系電話,學歷)
values(4,"D",18,"女","114","大學")

1.2
update 學生表
set 學歷='大專'
where 聯系電話 like '11%'
go

1.3
delet 學生表
where 性別='女',姓名 like 'B%'
go

1.4
select 姓名,學號
from 學生表
where 學歷='大專',年齡<22
go

1.5
select 姓名,性別
from 學生表
order by 年齡 desc
go

2.1
use stu
IF OBJECT_ID('Student')IS NOT NULL
DROP TABLE Student
GO
create table Student --建立學生表.
(
學號 int not null ,
姓名 varchar(10) not null, --姓名
性別 varchar(2)
年齡 int,
所在系 varchar(10),
check (性別 ='男' OR 性別='女'),
)

2.2
use stu
select 學生表.學號
from Student As 學生表,SG As 成績表
where 學生表.學號=成績表.學號,成績表.成績<60
go

2.3
use stu
select 姓名,性別,年齡
from Student
where 所在系='計算機系',性別='男',姓名 like '張%'
go

2.4
use stu
insert Student (學號,姓名,年齡,性別,所在系)
values(05020,"高平",19,"女","積極管理系")
go

4.1
刪除student表中學號為2004009的學生的信息

4.2
在stu資料庫的student表中創建列名為姓名,家庭住址的視圖student_view

4.3
查詢stu資料庫的student表中前9條信息

4.4
在stu資料庫的student表中創建查詢學號,姓名,家庭住址的存儲過程student_pro

4.5
在stu資料庫的student表中創建帶輸入參數的存儲過程

4.6
查詢Sg表中課程號為06的平均成績

6. 高手請進 SQL試題

1.C 2.A.D 3.A 4.D 5.A 6.D 7.B 8.C 9.B 10.BD 11.B
12.C 13.A

7. 求幾道資料庫SQL試題的答案啊!!!知道的快點告訴我吧!

1) order by 薪水 desc
2)@@
3)@
4)sum(薪水)
5)insert,update和deleted
6)觸發器,存儲過程
7)delete類型

8. SQL資料庫面試題 急急急

a)select pname as '商品名',avg(qty) as 平均銷售量 from s,p,m where m.city='上海' and s.mno=m.mno and p.pno=s.pno,select p.Pno,p.pname,sum(s.qty)
from s left join p on s.pno=p.pno left join m on p.Mno=m.Mno
where m.city='上海市'
group by p.Pno,p.pname,p.city,p.color
b)、先刪除Sale表的外鍵PNO,再刪除gds表。

c)聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
區別:1、視圖是已經編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,視圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些欄位構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。

9. SQL試卷如何做

第二大題,先給你哦:
1.
use xk
go
insert score(stuno,couno,couname,score)
values('051315','030113','Java程序設計','84')
go

2.
select couno,couname,score--成績
from score--課程表
where stuno='050310'
go
3.
update score
set 計算機網路 =計算機網路+5
go

4.
delect couname
from course
where couname='數據倉庫'
go

5.
create view 信息
as
select stuno'學號',couname'課程名',score'成績'
from score
go
select credit
form course
go
再給你 其他解決的:
1
--創建資料庫
create database 信息管理
on
primary (name=信息管理_data1,
filename='d:\信息管理_data1.mdf',
size=10,maxsize=20,filegrowth=2),
(name=信息管理_data2,
filename='d:\信息管理_data2.ndf',
size=8,maxsize=20,filegrowth=2)
log on
(name=信息管理_log1,
filename='d:\信息管理_log1.ldf',
size=6,maxsize=20,filegrowth=2)
go
--創建表 :課程表
create table course
(ID int not null,
couno Varchar(8) Not null ,
couname Varchar(30) Not null ,
shcooltime Numeric(8) Not null ,
credit Numeric(9,1) not null )
go
--創建成績表
create table score
(stuno Varchar(6) Not null ,
couno Varchar(8) Not null ,
couname Varchar(30) Not null ,
score Numeric(8,1) Not null ,
補考成績 Numeric(8,1) null

)
2
--課程表插入5條數據
insert course( couno,couname ,shcooltime ,credit )
values('030110' ,'面向對象','技術資料庫技術', '32',' 2.5')
insert course(couno,couname ,shcooltime ,credit )
values('030111',' 計算機網路',' 32',' 2.5')
insert course( couno,couname ,shcooltime ,credit )
values('030112',' 數據倉庫',' 24 ','2.0')
insert course( couno,couname ,shcooltime ,credit )
values('030113',' Java程序設計',' 64 ','4.0')
insert course( couno,couname ,shcooltime ,credit )
values('030114',' 計算機輔助設計與繪圖',' 32 ','2.5')
go

--成績表插入5條記錄
insert score(stuno,couno ,couname ,score ,補考成績)
values('050310',' 030111',' 計算機網路',' 45 ','65')
insert score(stuno,couno ,couname ,score ,補考成績)
values('051313',' 030111',' 計算機網路',' 56',' 75')
insert score(stuno,couno ,couname ,score )
values('050311 ','030111',' 計算機網路',' 80 ')
insert score(stuno,couno ,couname ,score )
values('050312',' 030111 ','計算機網路',' 84')
insert score(stuno,couno ,couname ,score )
values('051314',' 030111',' 計算機網路',' 91')
go

最後一大題,分離資料庫,直接右擊信息管理資料庫,點任務,選擇分離即可。
如果有部分問題,可能是我的括弧,或者是逗號是漢語情況下的,但我確定其他應該沒問題

10. 一些SQL的試題

1.應用程序
2.實體完整性
3.distince
4.
5.create Nonclustered index IDX_authors on authors(州名列,城市名列)
6.創建表
7.select 列名 from 表名
8.sum()
9.top
10.alter procere
11.ltrim()
12.declare @變數名 數據類型
13.where
14.from
15.order by
16.cast(表達式 as 數據類型)
17.count()
18.drop procere 存儲過程名
19.創建資料庫
20.價格大於15美元的所有數據
21.資料庫
22.rollback
23.
24.服務管理器
25.
26.數據冗餘(備份)
27.3
28.資料庫
29.應用程序
30.drop table
33.操作系統
許可權
1.
2.是並發控制的單位,是用戶定義的一個操作序列,具有原子性,一致性,隔離性,持續性四個特性。
3.共享鎖(S鎖):如果事務T對數據A加上共享鎖後,則其他事務只能對A再加共享鎖,不能加排他鎖.
獲准共享鎖的事務只能讀數據,不能修改數據。
4.
5.
1.存儲過程可以使得程序執行效率更高、安全性更好,因為過程建立之後 已經編譯並且儲存到資料庫,直接寫sql就需要先分析再執行因此過程效率更高,直接寫sql語句會帶來安全性問題,如:sql注入
2.建立過程不會很耗系統資源,因為過程只是在調用才執行。
6.聚簇索引是一種對磁碟上實際數據重新組織以按指定的一個或多個列的值排序。
7.
8.是並發控制的單位,是用戶定義的一個操作序列,具有原子性,一致性,隔離性,持續性四個特性。
BEGIN TRAN [Tran_name]開始事務
COMMIT TRAN [Tran_name]事務完成提交事務
9.存儲過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化後存儲在資料庫伺服器中,應用程序使用時只要調用即可。
10.增量備份:是針對於上一次備份(無論是哪種備份):備份上一次備份後,所有發生變化的文件。
12.原子性,要麼都做,要麼不做。
13.排它鎖若事務T對數據對象A加上X鎖,則只允許T讀取和修改A,其它任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。
它防止任何其它事務獲取資源上的鎖,直到在事務的末尾將資源上的原始鎖釋放為止。
14.分布式資料庫系統通常使用較小的計算機系統,每台計算機可單獨放在一個地方,每台計算機中都有DBMS的一份完整拷貝副本,並具有自己局部的資料庫,位於不同地點的許多計算機通過網路互相連接,共同組成一個完整的、全局的大型資料庫。
15.
17同2,18同8
19.DBMS資料庫管理系統,DBA資料庫管理員
20.1對1,一個學生對應一個學號
1對多 一個學生對應多門功課
多對多 商品與廠商
(備註:只能做這么多了,很長時間沒看書了,有時間可以看看<資料庫系統概論>薩師煊 王珊 高等教育出版社,很不錯的一本書哦。上有你要的答案,特別是簡答題。)
21.
22.資料庫完整性,對資料庫提出的某種約束條件或規則。
分三種:實體完整性,參照完整性,用戶自定義完整性
23.
24.原則如下:
●在經常進行連接,但是沒有指定為外鍵的列上建立索引,而不經常連接的欄位則由優化器自動生成索引。
●在頻繁進行排序或分組(即進行group by或order by操作)的列上建立索引。
●在條件表達式中經常用到的不同值較多的列上建立檢索,在不同值少的列上不要建立索引。比如在雇員表的「性別」列上只有「男」與「女」兩個不同值,因此就無必要建立索引。如果建立索引不但不會提高查詢效率,反而會嚴重降低更新速度。
●如果待排序的列有多個,可以在這些列上建立復合索引(compound index)。

26。聚集索引確定表中數據的物理順序。由於聚集索引規定數據在表中的物理存儲順序,因此一個表只能包含一個聚集索引。但該索引可以包含多個列(組合索引)
非聚集索引一種索引,該索引中索引的邏輯順序與磁碟上行的物理存儲順序不同。一個表可以有多個聚集索引