當前位置:首頁 » 編程語言 » sql2017版習題答案
擴展閱讀
別人家wifi給我禁用 2023-03-30 16:21:53

sql2017版習題答案

發布時間: 2023-03-19 23:19:58

A. sql編程題的答案是什麼

1.
CREATE TABLE `student` (
`Sno` int(5) NOT NULL,
`Sname` varchar(6) NOT NULL,
`Ssex` varchar(2) NOT NULL,
`Sdept` char(255),
`Sage` int(2) CHECK (value BETWEEN 15 AND 25),
PRIMARY KEY (`Sno`)
)
2.select * from student where Sname like '張%';
3.沒有SC表結構
4.insert into student values(95020,"陳冬","男","CS",18)
5.猜的表結構,update set 學分=3 where cno='3';

B. SQL50題及答案

習題來源於網路,sql語句是自己的答案,部分有參考。歡迎指正及探討。

1. 查詢" 01 "課程比" 02 "課程成績高的學生的信息及課程分數

1.1 查詢同時存在" 01 "課程和" 02 "課程的情況

1.2 查詢存在" 01 "課程但可能不存在" 02 "課程的情況(不存在時顯示為 null)
null提示:使用left join

1.3 查詢不存在" 01 "課程但存在" 02 "課程的情況

2. 查詢平均成績大於等於 60 分的同學的學生編號和學生姓名和平均成績

3. 查詢在 SC 表存在成績的學生信息

4. 查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績(沒成績的顯示為 null)

4.1 查有成績的學生信息

5. 查詢「李」姓老師的數量

6. 查詢學過「張三」老師授課的同學的信息

7. 查詢沒有學全所有課程的同學的信息

8. 查詢至少有一門課與學號為" 01 "的同學所學相同的同學的信息

9. 查詢和" 01 "號的同學學習的課程 完全相同的其他同學的信息

10. 查詢沒學過"張三"老師講授的任一門課程的學生姓名

11. 查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績

12. 檢索" 01 "課程分數小於 60,按分數降序排列的學生信息

13. 按平均成績從高到低顯示所有學生的所有課程的成績以及平均成績

14. 查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程 ID,課程 name,最高分,最低分,平均分,及格率,中等率,優良率,優秀率(及格為>=60,中等為:70-80,優良為:80-90,優秀為:>=90

14.1要求輸出課程號和選修人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列

15. 按各科成績進行排序,並顯示排名, Score 重復時保留名次空缺

15.1 按各科成績進行排序,並顯示排名, Score 重復時合並名次

16. 查詢學生的總成績,並進行排名,總分重復時保留名次空缺

16.1 查詢學生的總成績,並進行排名,總分重復時不保留名次空缺

17. 統計各科成績各分數段人數:課程編號,課程名稱,[100-85],[85-70],[70-60],[60-0] 及所佔百分比

18. 查詢各科成績前三名的記錄

19. 查詢每門課程被選修的學生數

20. 查詢出只選修兩門課程的學生學號和姓名

21. 查詢男生、女生人數

22. 查詢名字中含有「風」字的學生信息

23. 查詢同名同性學生名單,並統計同名人數

24. 查詢 1990 年出生的學生名單

25. 查詢每門課程的平均成績,結果按平均成績降序排列,平均成績相同時,按課程編號升序排列

26. 查詢平均成績大於等於 85 的所有學生的學號、姓名和平均成績

27. 查詢課程名稱為「數學」,且分數低於 60 的學生姓名和分數

28. 查詢所有學生的課程及分數情況(存在學生沒成績,沒選課的情況)

29. 查詢任何一門課程成績在 70 分以上的姓名、課程名稱和分數

30. 查詢不及格的課程

31. 查詢課程編號為 01 且課程成績在 80 分以上的學生的學號和姓名

32. 求每門課程的學生人數

33. 成績不重復,查詢選修「張三」老師所授課程的學生中,成績最高的學生信息及其成績

34. 成績有重復的情況下,查詢選修「張三」老師所授課程的學生中,成績最高的學生信息及其成績

35. 查詢不同課程成績相同的學生的學生編號、課程編號、學生成績

36. 查詢每門功成績最好的前兩名

37. 統計每門課程的學生選修人數(超過 5 人的課程才統計)

38. 檢索至少選修兩門課程的學生學號

39. 查詢選修了全部課程的學生信息

40. 查詢各學生的年齡,只按年份來算

41. 按照出生日期來算,當前月日 < 出生年月的月日則,年齡減一

42. 查詢本周過生日的學生

43. 查詢下周過生日的學生

44. 查詢本月過生日的學生

45. 查詢下月過生日的學生

1.1 查詢同時存在" 01 "課程和" 02 "課程的情況

1.2 查詢存在" 01 "課程但可能不存在" 02 "課程的情況(不存在時顯示為 null )

1.3 查詢不存在" 01 "課程但存在" 02 "課程的情況

4.1 查有成績的學生信息

15.1 按各科成績進行排序,並顯示排名, Score 重復時合並名次

16.1 查詢學生的總成績,並進行排名,總分重復時不保留名次空缺

C. 求SQL答案!!!

第一題:sql server 是關系模型資料庫系統
第二題:資料庫中原有的資料庫其中有northwind和pubs也是用戶資料庫
第三題:附加資料庫的操作是把已經存在於磁碟的資料庫文件恢復成資料庫
第四題:主鍵是用來實施實體完整性約束,另外還有參照完整性和用戶自定義完整性
第五題:使用數據導入導出操作,就可以用簡化為access了
第六題:20/0.4=50
第七題:.ldf是日誌文件的後綴名,mdf是主文件,ndf是次文件
第八題:mm的位置是3,加2,等於5
第九題:len返回字元串長度,返回int
第十題:經過驗證時包括
11:master資料庫
12:觸發器
13:菱形
14:日誌文件
15:insert
16:@
17:windows
18:avg()
19:F5
20::like
1c 2a 3a 4a 5c 6c 7b 8b 9c 10a

D. SQL多項選擇題,急求答案,最好有解析

1.答案A,D,E DESC是降序,省略ASC和DESC,默認為升序。
2.答案A,C,D,E 創建視圖時不允許在所用SELECT語句中使用ORDER BY、COMPUTE子句
3.C,D,E 執行存儲過程時可用WITH RECOMPLE選項進行重新編譯;只有當執行存儲過程的語句是批處理中的第一個語句,才可以直接通過名稱來調用存儲過程
4.C,E 使用SQL Server Management Studio不能運行命令行實用程序sqlcmd
5.C,D,F 一個局部變數只能在一個語句批中使用,使用SET語句只能對一個局部變數賦值,剛定義的局部變數的初值為空值
6.B 用戶定義函數可以有輸入參數和返回值

E. sql語句相關測試

sql語句相關測試

篇一:SQL語句測試

1、(10分)要求:

選擇受理時間在2008-5-1 到 2008-6-1之間的所有申請人姓氏為「劉」的數據,並把「新受理編號」列表示成當前機器時間的年月和原受理編號年月後的數值組合

格式如下:

受理編號,新受理編號,受理時間, 申請人

200801112 201008112 2008-01-13劉XX

需要的表

I_Optinst 業務實例表

REGDATE(受理日期)

Regnum(受理編號)

Proposer(申請人)

解答:select Regnum as 受理編號, as 新受理編號,REGDATE as 受理時間,Proposer as申請人 from Optinst 2、(15分)要求:

前提:只統計業務小類「存量房買賣」

①按照月份分12月列出2008年每個月份的月份對應月份的交易總面積

②按照月份分12月列出2008年每個月份的月份對應月份的交易均價(申報價格/建築面積)

格式

年度月份 交易總面積 年度月份交易均價(元/平方米)

2008-01 23232 2008-01 2323

2008-02 23232008-02 232

2008-03 232323 2008-03 7656

2008-04 232323 2008-03 565

2008-05 232323 2008-03 5656

2008-06 232323 2008-03 565

2008-07 232323 2008-03 67

2008-08 232323 2008-03 676

2008-09 232323 2008-03 6767

2008-10 232323 2008-03 8686

2008-11 232323 2008-03 867

2008-12 232323 2008-03 454

需要的表:

Fc_room 房間表

BAREA(建築面積)

I_Optinst業務實例表

regdate(受理時間)

fc_owner 產權表

COSTVAL(申報價格)

EVLVAL(評估價格)

fc_owoom 房間明細表

1.select regdate as年度月份,BAREA as 交易總面積 from Fc_room,Optinst where

3、(20分)要求:

①:按照時間統計收費明細 統計格式如下

受理編號繳費人收費日期 收費名稱收費金額核費人收費人

②:按照時間匯總(2008年度)統計收費項目分類 統計格式如下

收費名稱 總金額

需要的表:

I_OptInst(業務實例表)

Regnum 受理編號

Proposer 申請人

I_Charge(收費實例表)

HEFEIMAN 核費人

PAYEE 收款人

CDATE 收費日期

I_ChrDtl(收費實例明細表

CNAME 收費名稱

MONEY 收費金額

4、(15分)要求:用途是住宅並且建築面積<=140>140 定義為 「非普通住宅」

用途是商業並且建築面積>140 定義為 「商業A級」

其他情況定義為「非住宅」

根據用途和面積列表出所有數據

格式

受理編號, 用途

200406000386 普通住宅

200406004631 非普通住宅

200406004633 普通住宅

200406004638 普通住宅

200406004641 非住宅

200501000004 普通住宅

200406004568 非住宅

200406005677 商業A級

表:

fc_room

barea 建築面積

BUse 用途

i_optinst

regnum 受理編號

5、(30分)工作量統計

① 選擇出以下格式的數據;並創建視圖名稱為view_AAAA

業務小類業務實例 交易價格建築面積 登記時間

1 存量房買賣 14100 19400.0029.98 2005-11-10 11:32:50 2 新建商品房 15041 229530.00 124.07 2005-11-21 08:59:36 3 新建商品房 15043 177363.00 101.35 2005-11-21 09:15:59 4 新建商品房 13046 71130.0023.71 2005-11-02 10:15:37 5 新建商品房 11280 148563.00 87.39 2005-10-11 09:50:48 6 新建商品房 11353 267369.00 116.04 2005-10-11 15:34:53 7 房改售房 2689 35.22 2004-06-17 08:43:00 8 產權人名稱變更 11701 724.18 2005-10-17 10:05:20 9 新建商品房 7206 158257.00 88.69 2005-09-16 14:50:57 10 存量房買賣 (轉 載於:wWw.cnboThwiN.cOM 博 威範文 網: sql語句測試 )10100 103.07 2005-08-31 20:27:06 11 存量房買賣 12980 51500.0046.66 2005-11-01 14:41:32 12 新建商品房 13000 136782.00 80.46 2005-11-01 15:37:05 13 新建商品房 16946 300844.00 146.33 2005-12-15 14:15:07 14 存量房買賣 10091 509.18 2005-08-31 19:19:25 ② 使用視圖 view_AAAA 當做表 選擇出如下樣式數據

業務小類 件數合計金額 合計面積

1 用途變更 1151.3

2 轉移登記 184.03

3 新建商品房 31 263243643197.34

4 房改售房 8252.43

5 產權人名稱變更 3 778.6

6 單位產新建 311697.49

7 贈與 1 28.48

8 存量房買賣 24 4379004134.67

9 判決仲裁 2 439.41

10 繼承遺贈 1 49.17

11 換證 2 228.88

12 新建房屋 17 928.91

③ 用水晶報表關聯視圖 view_AAAA 設計出類似於②的數據格式 需要的表

FC_Owner

EvlVal交易價格

I_OptInst,

SOName 業務小類

fc_owoom,

BArea 建築面積

FC_Room

regdate 受理日期

篇二:sql查詢語句學習測試答案

第一部分SQL查詢語句的學習

單表查詢 1、--查詢訂購日期在1996年7月1日至1996年7月15日之間的訂單的訂購日期、訂單ID、客戶ID和雇員ID等欄位的值

use eee

SELECT 訂購日期,訂單ID,客戶ID,

雇員ID

FROM 訂單

WHERE 訂購日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'

2、--查詢「Northwind」示例資料庫中供應商的ID、公司名稱、地區、城市和電話欄位的值。條件是「地區等於華北」並且「聯系人頭銜等於銷售代表」。

use eee

SELECT 供應商ID,公司名稱,地區,城市,電話

FROM 供應商

WHERE 地區='華北' AND 聯系人職務='銷售代表'

3、--查詢「Northwind」示例資料庫中供應商的ID、公司名稱、地區、城市和電話欄位的值。其中的一些供應商位於華東或華南地區,另外一些供應商所在的城市是天津 use eee

SELECT 供應商ID,公司名稱,地區,城市,電話

FROM 供應商

WHERE 地區IN('華東', '華南') OR 城市='天津'

4、--查詢「Northwind」示例資料庫中位於「華東」或「華南」地區的供應商的ID、公司名稱、地區、城市和電話欄位的值

use eee

SELECT 供應商ID,公司名稱,地區,城市,電話

FROM 供應商

WHERE 地區IN('華東', '華南')

多表查詢 5、--查詢訂購日期在1996年7月1日至1996年7月15日之間的訂單的訂購日期、訂單ID、相應訂單的客戶公司名稱、負責訂單的雇員的姓氏和名字等欄位的值,並將查詢結果按雇員的「姓氏」和「名字」欄位的升序排列,「姓氏」和「名字」值相同的記錄按「訂單 ID」的降序排列

use eee

SELECT 訂購日期,訂單ID,公司名稱,姓氏,名字

FROM 訂單,雇員,客戶

WHERE 訂購日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'

AND 訂單.雇員ID = 雇員.雇員ID

AND 訂單.客戶ID = 客戶.客戶ID

ORDER BY 姓氏,名字ASC,訂單ID DESC

6、--查詢「10248」和「10254」號訂單的訂單ID、運貨商的公司名稱、訂單上所訂購的產品的名稱

use eee

SELECT 訂單.訂單ID,公司名稱,產品名稱

FROM 訂單,運貨商,產品,訂單明細

WHERE 訂單.訂單ID IN('10248','10254')

AND 訂單.訂單ID = 訂單明細.訂單ID

AND 訂單明細.產品ID = 產品.產品ID

AND

訂單.運貨商= 運貨商.運貨商ID

7、--查詢「10248」和「10254」號訂單的訂單ID、訂單上所訂購的產品的名稱、數量、單價和折扣

use eee

SELECT 訂單.訂單ID,產品名稱,數量,訂單明細.單價,折扣

FROM 訂單,產品,訂單明細

WHERE 訂單.訂單ID IN('10248','10254')

AND 訂單.訂單ID = 訂單明細.訂單ID

AND 訂單明細.產品ID = 產品.產品ID

篇三:sql語句練習題及答案

一 在資料庫 school 中建立student , sc, course 表。

學生表、課程表、選課表屬於資料庫 School ,其各自的數據結構如下:

學生 Student (Sno,Sname,Ssex,Sage,Sdept)

課程表 course(Cno,Cname,Cpno,Ccredit)

學生選課 SC(Sno,Cno,Grade)

二 設定主碼

1 Student表的主碼:sno2 Course表的主碼:cno 3 Sc表的主碼:sno,cno

1寫出使用 Create Table 語句創建表 student , sc, course 的SQL語句

2

3 刪除student表中的元組

4在資料庫school中刪除關系student

5在student表添加屬性sbirthdate 類型 datetime

Delete

1 刪除所有 JSJ 系的男生 from Student where Sdept=』JSJ』 and Ssex=』男』; 2 刪除「資料庫原理」的課的選課紀錄

from SC where Cno in (select Cno fromCourse where Cname=』資料庫原理』);

Update

1 修改 0001 學生的系科為: JSJ

2 把陳小明的年齡加1歲,性別改為女。 2 修改李文慶的1001課程的成績為 93 分 3 把「資料庫原理」課的成績減去1分

Select 查詢語句

一 單表

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課程的成績。

二 統計

1查詢姓名中有「明」字的學生人數。 2計算『JSJ』系的平均年齡及最大年齡。 3查詢學生中姓名為張明、趙英的人數

4計算每一門課的總分、平均分,最高分、最低分,按平均分由高到低排列 5 計算 1001,1002 課程的'平均分。

6 查詢平均分大於80分的學生學號及平均分 7 統計選修課程超過 2 門的學生學號

8 統計有10位成績大於85分以上的課程號。 9 統計平均分不及格的學生學號

10 統計有大於兩門課不及格的學生學號

三 連接

1查詢 JSJ 系的學生選修的課程號

2查詢選修1002 課程的學生的學生姓名 (不用嵌套及嵌套2種方法) 3查詢資料庫原理不及格的學生學號及成績

4查詢選修「資料庫原理」課且成績 80 以上的學生姓名(不用嵌套及嵌套2種方法) 5查詢平均分不及格的學生的學號,姓名,平均分。 6查詢女學生平均分高於75分的學生姓名。

7查詢男學生學號、姓名、課程號、成績。(一門課程也沒有選修的男學生也要列出,不能

四 嵌套、相關及其他

1 查詢平均分不及格的學生人數

2 查詢沒有選修1002 課程的學生的學生姓名

3 查詢平均分最高的學生學號及平均分 (2種方法 TOP , any , all) *4 查詢沒有選修1001,1002課程的學生姓名。

5 查詢1002課程第一名的學生學號(2種方法) 6 查詢平均分前三名的學生學號

7 查詢 JSJ 系的學生與年齡不大於19歲的學生的差集

8 查詢1001號課程大於90分的學生學號、姓名及平均分大於85分的學生學號、姓名 9 查詢每門課程成績都高於該門課程平均分的學生學號 10 查詢大於本系科平均年齡的學生姓名

答案

參考答案

1 create table student (sno6), sname var8), ssex2), sagesmallint, sdept var15), primary key(sno));

create table sc

(sno6), cno 4),

grade decimal(12,2), primary key(sno,cno));

into student

values( 』4001』,』趙茵』,』男』,20,』SX』)

from student

student

alter table student add sbirthdate datetime

1 select sno, sname, sage from student

where ssex=』女』 and sage between 19 and 21order by sage desc; 2 select sno, ssexfrom student

where sname like 』_明% 』 ; 3 select sno, cnofrom sc

where grade is null and cno=』1001』 ; 4 select sno, sname from student

where sdept in (』JSJ』,』SX』,』WL』) and sage>25 group by sdept;

select sno, cno, grade/10.0+1 as levelfrom sc ;

select distinct sdept from student ; select grade from sc

where sno=』0001』 and (cno=』1001』 or cno=』1002』) ;

select count(*) from student where sname like 』%明% 』 ; select avg(sage),max(sage) from student where sdept=』JSJ』 ; select cno,sum(grade),avg(grade),max(grade),min(grade) from sc group by cno

order by avg(grade) desc ;

select cno, avg(grade) from sc where cno in(『1001』,』1002』) group by cno ;

select sc.sno ,avg(grade) from scgroup by sc.sno

having avg(grade)>80 ;

select sno from sc group by sno having count(*)>2 ;

select cno from sc where grade>85 group by cno having count(*)=10 ; select sno from sc group by sno having avg(grade)<60 ;

select sno from sc where grade<60 group="" by="" sno="" having="">2 ;

select cno from student,sc where student.sno=sc.sno and sdept=』JSJ』 ; a:select sname from student,sc where student.sno=sc.sno and cno=』1002』

b:select sname from student where sno in (select sno from sc where cno=』1002』)

select sno,grade from sc,course

where sc.cno=course.cno and cname=』資料庫原理』 and grade<60 a:select sname from student ,sc,course

where student.sno=sc.sno and sc.cno=course.cno and grade>80 and cname=』 資料庫原理』 b:select sname from student where sno in (select sno from sc where grade>80 and cno in (select cno from course where cname=』 資料庫原理』)) select sno,sname,avg(grade) from sc,studentwhere student.sno=sc.snogroup by student.sno having avg(grade)<60

a:select sname from student where ssex=』女』 and sno in(select sno from sc group by sno having avg(grade)>75)

b:select sname from sc,student where student.sno=sc.sno and ssex=』女』group by student.sno having avg(grade)>75

select student.sno,sname,cno,grade from student left join sc on student.sno=sc.sno and ssex=』男』

select count(*) from student where sno in( select sno from sc group by sno havingavg(grade)<60)

select sname from student where sno not in(select sno from sc where cno=』1002』)

student

0001 aaX 0002 bb

0003 ccX Sc

0001 1001 0001 1002 0002 1001 0003 1002

Select sname from student where not exists(select* from sc where cno=』1002』 and sc.sno=student.sno)

a:select top 1 sno,avg(grade) from sc group by sno order by avg(grade) desc b:select sno, avg(grade) from sc group by sno

having avg(grade)=(select top 1 avg(grade) from scgroup by sno order by avg(grade) desc) c:select sno, avg(grade) from sc group by sno

having avg(grade)>=all ( select avg(grade) from sc group by sno)

select sname from student where not exists(

select * from course where cno in(『1001』,』1002』) and

not exists(select * from sc where sno =student.sno and cno=course.cno) ) a:select top 1 sno from sc cno=』1002』 order by grade desc b:select sno from sc where cno=』1002』 and grade >=all (

;

F. SQL題目,急求解答,感謝

1、
CREATE TABLE `科室` (
`科室號` VARCHAR(32) NOT NULL,
`科室名` VARCHAR(100) NULL DEFAULT NULL,
`值班電話` VARCHAR(20) NULL DEFAULT NULL,
PRIMARY KEY (`科室號`)
)
2、
select * from '醫生' where 職稱='主任醫師'
3、
select '病人'.姓名,'病人'.'出生日期' from '病人','門診記錄' where '病人'.'病人編號'='門診記錄'.'病人編號' and '門診記錄'.'日期'='2017年11月11日'
4、
select '科室'.'科室號',count('門診記錄'.'門診號') as cc, from '科室','醫生','門診記錄' where '科室'.'科室號'='醫生'.'所屬科室號' and '醫生'.'工號'='門診記錄'.'工號'
group by '科室'.'科室號'
order by cc desc limit 1
5、
select * from '病人','門診記錄' where '病人'.'病人編號'='門診記錄'.'病人編號' and '門診記錄'.'診斷' like '%高血壓%'
6、
update '醫生' set '狀態'='退休' where '姓名'='賈寧'

G. SQL 試題 求高手給正確答案!

題那麼多,分這么少,沒有積極性,沒人給你做啊。

我有時間再給你看看吧。

簡答讀程題
1列出Sql Server 2000資料庫中常見的資料庫對象。
表、視圖、存儲過程、觸發器、索引

2簡述INSERT觸發器的工作原理
當insert一條或多條數據的時候,即觸發該觸發器。

單選題
1、關於主鍵描述正確的是:( c )
A、包含一列 B、包含兩列 C、包含一列或者多列 D、以上都不正確
2、模式查找like '_a%',下面哪個結果是可能的( b )。
A、aili B、
C、bba D、cca
3、下列途徑哪個不是實現值域完整性約束的 __D___ 。
A 、rule( 規則 ) B 、default C 、not null D 、trancation
4 關於視圖和索引,下列說法那個是正確的___B__ 。
A 、視圖是虛表,觀察到的數據是實際基本表中的數據。
B 、索引查找法是比表掃描法查詢更快的一種方法。
C 、視圖是查詢數據的一種方法,只能基於基本表建立。
D 、索引的創建只和數據的存儲有關系。
5在SQL SERVER伺服器上,存儲過程是一組預先定義並(D)的Transact-SQL語句。
A、另保存 B、編寫 C、解釋說明 D、編譯
6、SQL Server 2000是一個(C)的資料庫系統。
A、層次型 B、 網狀型 C、關系型 D、組合型
7、SQL語言中,條件「年齡BETWEEN 40 AND 50」表示年齡在40至50之間,且( a )。
A、包括40歲和50歲 B、不包括40歲和50歲
C、包括40歲但不包括50歲 D、包括50歲但不包括40歲
8、面對索引的相關描述正確的是:(B)。
A、經常被查詢的列不適合建索引。 B、 列值唯一的列適合建索引。
C、有很多重復值的列適合建索引。 D、 是外鍵或主鍵的列不適合建索引。

H. SQL題目求答案

/*創建Moonfox_db資料庫*/
use master
if exists(select * from sysdatabases where name='Moonfox_db')
drop database Moonfox_db
create database Moonfox_db
on
(
name='Moonfox_db_data',
filename='D:\Visual Studio 2008 & Sql server 2005\Sql server\Moonfox_db.mdf',
size=10,
filegrowth=2MB
)
log on
(
name='Moonfox_db_log',
filename='D:\Visual Studio 2008 & Sql server 2005\Sql server\Moonfox_db.ldf',
size=5,
filegrowth=20%
)/*創建Department表*/
use Moonfox_db
if exists(select * from sysobjects where name='Department')
drop table Department
create table Department
(
DID int identity (1,1)primary key,--部門編號,主鍵
Dname nvarchar(20),--部門名稱
Address nvarchar(50),--部門地址
Photo decimal(12,0),--電話
)/*創建Employee表*/
use Moonfox_db
if exists(select * from sysobjects where name='Employee')
drop table Employee
create table Employee
(
EID int identity (1,1)primary key,--職工編號,主鍵
Ename varchar(10),--職工名
Gender nchar(2) check(Gender='男' or Gender='女'),--性別,添加限制
Position nvarchar(10) check(Position='員工' or Position='組長' or Position='經理'),--職務,添加限制
Address nvarchar(50),--家庭地址
DID int,--部門編號,外鍵
foreign key(DID) references Department(DID)--外鍵約束
)
/*創建Care表*/
use Moonfox_db
if exists(select * from sysobjects where name='Care')
drop table Care
create table Care
(
CID int identity (1,1)primary key,--保健卡編號,主鍵
EID int,--職工號,外鍵
foreign key(EID) references Employee(EID),--外鍵約束
CheckDate datetime,--檢查身體日期
PhysicalCondition nvarchar(4) check(PhysicalCondition='一般' or PhysicalCondition='差' or PhysicalCondition='好'),--健康狀況
)
/*創建Care表約束*/
alter table Care
add
constraint DF_CheckDate default(getdate()) for CheckDate--預設,默認凈時間為當前計算機時間 路徑自己修改,試圖自己做,選擇語句自己寫。我該睡覺了,抱歉,你試著在sql server中運行下,我等著休息,也不知道寫的有沒有錯誤,沒時間幫你寫省下的了。不急著用的話我明天幫你寫吧。