1.select 班級名稱,班級代碼 from 班級 where 系部代碼='02' or 系部代碼='03';
2.在'學生'表中查詢姓'李'學員的學號,姓名,年齡;
3.在'讀者表' 表中查詢名稱中含有'紅'的所有內容;
5.select 姓名,年齡 from 教師 where 姓名 like '?梅%';
4.在'圖書表'表中查詢圖書編號為'100111'的所有內容;
6.在'讀者表'表中查詢'系部名稱'為'自動化'的讀者的最小年齡;
7.在'用戶表'表中查詢姓名,年齡欄位,並按年齡,姓名升序排列;
8.select * from 學生 where 姓名 like '張%' or 姓名 like '羅%' or 姓名 like '劉%' order by 姓名
9.在'讀者表'表中查詢年齡大於60或小於1810的讀者姓名;
10.將編號為'115',姓名為'王梅',性別為'女'的記錄插入'讀者表'表;
11.select 姓名 as name,出生日期 as 'Birthday' from 學生 where 性別='女'.
排版沒排好,看起來有點費力;順序有點亂,不過我都按照你的順序寫了.
2. sql 期末考試題
1、建立一個「學生」表Student,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、 所在系Sdept五個屬性組成,其中學號屬性不能為空,並且其值是唯一的。
其值是唯一的,並不是說是主鍵,應該用關鍵字UNIQUE
CREATE TABLE Student(
Sno SMALLINT NOT NULL UNIQUE,
Sname CHAR(8),
Ssex CHAR(1),
Sage SMALLINT,
Sdept CHAR(20))
2、查詢全體學生的詳細記錄
SELECT * FROM Student
3、查詢年齡在20至23歲之間的學生的姓名、系別、和年齡
SELECT Sname, Sdept, Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23
4、計算1號課程的學生平均成績
SELECT AVG(Grade) FROM SC WHERE Cno = 1
5、將計算機科學系全體學生的成績置零
UPDATE SC
SET grade = 0
WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept = '計算機科學系')
3. SQL資料庫練習題
1. SQL Server 2000是典型的關系型資料庫產品。 ( 1 )
2. 在一台計算機上可以同時運行多個版本的SQL Server。 ( 1 )
3. 在SQL Server中日誌文件是維護資料庫完整性的重要工具。 ( 0 )
4. 在定義數據表時,定義某列為標識列的關鍵字是Identity。 ( 1 )
5. 浮點數據類型的優點是能夠存儲范圍非常大的數字,但容易發生誤差。 ( 0 )
6. 資料庫完整性的目的是為了防止錯誤信息輸入和輸出。 ( 0 )
7. 在Update語句中,一次可以更新多個表。 ( 0)
8. 盡量使用Select * ,可以加快查詢速度。 ( 0 )
9. 在SQL Server 2000中表示注釋可以用類似C語言的/*...*/和//。 ( 0 )
10. 在SQL Server中,RTRIM函數刪除字元串右邊的空白字元。 ( 1 )
11. 一個表只能有一個聚集索引(簇索引)。 ( 1 )
12. SQL查詢語言中,如果沒有指定排序方式,則默認是升序方式。 ( 1 )
13. 在SQL Server 2000中ntext類型的欄位不能進行排序操作。 ( 0 )
14. 在SQL Server 2000中bit類型的欄位不能建立索引。 ( 1 )
15. 在被定義為唯一索引的列上的數據不能有重復的值。 ( 1 )
16. 在被定義為唯一索引的列上的數據不允許空。 ( 0可以的但是只能有一個null值 )
17. 在SQL Server中,每張表都應該建立一個索引,以提高查詢速度。 ( 0 )
18. 視圖在SQL Server中是一張虛擬表。 ( 1 )
19. 當一個視圖由2個以上基本表構成時,不能進行刪除視圖中的數據。 ( 0 )
20. 在SQL Server中,觸發器是一種特殊的存儲過程。 ( 1 )
21. 由於存儲過程是解釋執行,所以每次執行時都要檢查是否有語法錯誤。 ( 0 )
22. 可以在用戶正在使用的資料庫上執行資料庫恢復操作。 ( 0 )
1表示正確
4. 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
5. 30道SQL判斷題
1.SQL語言的視圖定義和視圖操作功能在一定程度上支持了數據的邏輯獨立性。( T )
2.關系必須有唯一的候選碼。( T )
扯什麼候選碼呢 就是外鍵 這些屌磚家
3.數據的完整性指資料庫中數據的全面性。( F )
不只,完整性應該是正確性的意思
4.「授權」是資料庫系統中採用的完整性措施之一。( F )
安全性措施
5.在關系資料庫中,不同關系之間的聯系是通過指針實現的。( F )
是外鍵
6.資料庫觸發器不是計算機硬體。(T )
7.事務在運行中間被強行停止可能會破壞事務原子性。( F )
事務本身就具有原子性
8.資料庫觸發器是計算機硬體。( F )
9.資料庫系統避免了一切冗餘。( F )
10.資料庫系統中用於描述數據的數據存儲在稱為數據字典的特殊文件中。( T )
11.如果一個關系模式的候選鍵僅含有一個屬性,則該關系模式一定是2NF。( F )
這屌問題我還真搞不懂
12.資料庫中存儲的只是數據。( T )
這道問題。。我覺得 如果窮究下去 是對的 因為計算機中存儲的也只有數據,,
13.自然連接是關系代數的五種基本運算之一。( F )
並(U)、交(⌒)、投影(π)選擇(σ)和笛卡兒積(×)
自然連接是inner join把。。
14.關系中不同的屬性可來自同一個域。( T )
15.資料庫系統的程序稱為資料庫事務。( F )
16.資料庫系統的數據沒有任何冗餘。( F )
事實上良好的系統應該有一定榮譽的
17.若對關系依次進行兩次選擇,則結果與兩次操作的先後順序無關。( T )
18.連接是關系代數的基本運算之一。( T )
19.資料庫是資料庫系統的核心。( T )
20.建立索引的目的是為了提高查詢速度。( T )
21.建立索引的目的是為了節約存儲空間。( F )
22.E-R圖在需求分析階段生成。( T )
23.SQL語言的視圖定義和視圖操作功能在一定程度上支持了數據的邏輯獨立性。(T )
24.若對關系依次進行兩次選擇,則結果與兩次操作的先後順序無關。( T )
25.若R.A→R.B,R.B→R.C, 則R. A→R.C。( T )
26.資料庫中的數據可以共享。( T )
27.關系代數的運算對象是關系,運算結果也為關系。( T )
28.只有兩個屬性的關系必是3NF。( F )
29.沒有非主屬性的關系必然屬於3NF。( F )
30.資料庫管理系統DBMS是操作系統的一部分。(T )
6. 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()
7. 一些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。聚集索引確定表中數據的物理順序。由於聚集索引規定數據在表中的物理存儲順序,因此一個表只能包含一個聚集索引。但該索引可以包含多個列(組合索引)
非聚集索引一種索引,該索引中索引的邏輯順序與磁碟上行的物理存儲順序不同。一個表可以有多個聚集索引
8. SQL資料庫題
第一個
select*fromswheresnoin(
selectsnofromscwherecnoin(
selectcnofromcwherecteacher='李明'
)
)
第二個
selects.sname,sc,sum(sgrade)fromsleftjoinscons.sno=sc.sno
wheresc.sgrade>=60
groupbys.sname
第三個
createindexc_cno_indexONc(cno)
9. sql 資料庫習題謝謝
1. select '類別為:'+tushuleibie 圖書分類 from T_Book
2. select shuming 書名,zuozhe 作者,jiage*0.7 價格 from T_Book where chubanshe ='機械工業出版社'
3. select shuming 書名,zuozhe 作者,jiage 價格, chubanshe 出版社 from T_Book where jiage between 30 and 60
4. select top 3 shuming 書名,zuozhe 作者,chubanshe 出版社, jiage 價格 from T_Book order by jiage desc
6.select chubanshe 出版社,AVG(jaige) 平均價,MAX(jiage) 最高價 ,MIN(jaige) 最低價 from T_Book group by chubanshe order by SUM(jiage) desc
10.select top 1 chubanshe 出版社, count(*) 出版圖書個數 from T_Book group by chubanshe order by COUNT(*) desc
book表的做好了 reader的自己做吧 欄位名我用拼音做代替的 你自己替換成你表中的欄位
10. 資料庫期末考試題 編寫SQL語句 1.創建一張學生表,包含以下信息,學號,姓名,年齡,性別,家庭住址,聯系
create table 學生表
(
學號 char(10) primary key,
姓名 char(10),
年齡 int,
性別 char(2) check (sex IN ('男','女')),
家庭住址 char(40),
聯系 char(20)
)