久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

數(shù)據(jù)庫(kù) sql 習(xí)題及答案(合集五篇)

時(shí)間:2019-05-13 22:18:59下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《數(shù)據(jù)庫(kù) sql 習(xí)題及答案》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《數(shù)據(jù)庫(kù) sql 習(xí)題及答案》。

第一篇:數(shù)據(jù)庫(kù) sql 習(xí)題及答案

/*

Question 1:Find the titles of all movies directed by Steven Spielberg.select title from movie where director='Steven Spielberg'

Question 2:Find all years that have a movie that received a rating of 4 or 5, and sort them in increasing order.select distinct year from movie,rating where movie.mid=rating.mid and stars in(4,5)order by year

Question 3:Find the titles of all movies that have no ratings

select title from movie where mID in

(select mid from Movie except

select mid from rating)

select title from movie except

select title from movie,rating where movie.mid=rating.mid

Question 4:Some reviewers didn't provide a date with their rating.Find the names of all reviewers who have ratings with a NULL value for the date.select name from reviewer,rating where reviewer.rid=rating.rid and ratingdate is null

Question 5:Write a query to return the ratings data in a more readable format: reviewer name, movie title, stars, and ratingDate.Also, sort the data, first by reviewer name, then by movie title, and lastly by number of stars.select name,title,stars,ratingdate from movie,rating,reviewer where movie.mid=rating.mid and reviewer.rid=rating.rid order by name,title,stars

Question 6:For all cases where the same reviewer rated the same movie twice and gave it a higher rating the second time, return the reviewer's name and the title of the movie.select name,title

from rating as F,Rating as S,Movie,Reviewer where F.rID=S.rID and F.mID=S.mID and F.stars

and F.ratingDate

select name,title from movie,reviewer,(select r1.rid,r1.mid from rating as r1,rating as r2 where r1.rid=r2.rid and r1.mid=r2.mid and r1.ratingdate>r2.ratingdate and r1.stars>r2.stars)as r

where movie.mid=r.mid and reviewer.rid=r.rid

Question 7:For each movie, find the highest number of stars that movie received as a rating.Return the movie title and number of stars.Sort by movie title.select title,MAX(stars)as max_star from rating,Movie

where Rating.mID=Movie.mID group by title order by title

select title,maxrating from movie,(select mid,max(stars)as maxrating from rating group by mid)as r where movie.mid=r.mid order by title

Question 8:For each movie, return the title and the ‘rating spread(范圍)', that is, the difference between highest and lowest ratings given to that movie.Sort by rating spread from highest to lowest, then by movie title.select title,MAX(stars)-MIN(stars)as rating_spread from rating,Movie

where Rating.mID=Movie.mID group by title

order by rating_spread desc,title

select title,spread as “rating spread”

from movie,(select mid,max(stars)-min(stars)as spread from rating group by mid)as r where movie.mid=r.mid order by spread desc,title

Question 9:Find the difference between the average rating of movies released before 1980 and the average rating of movies released after 1980.(Make sure to calculate the average rating for each movie, then the average of those averages for movies before 1980 and movies after.Don't just calculate the overall average rating before and after 1980.)

select F.avg_star-S.avg_star from,(select AVG(avg_star)as avg_star from(select Rating.mID,AVG(stars)as avg_star

from Rating left join Movie on Rating.mID=Movie.mID where year>=1980 group by Rating.mID)as S(select AVG(avg_star)as avg_star from(select Rating.mID,AVG(stars)as avg_star

from Rating left join Movie on Rating.mID=Movie.mID where year<1980 group by Rating.mID)as F)as F)as S

select r1979.avgm-r1980.avgm from

,Question 10:Add the reviewer Roger Ebert to your database, with an rID of 209.insert into Reviewer values(209,'Roger Ebert')

Question 11:

Insert 5-star ratings by James Cameron for all movies in the database.Leave the review date as NULL.insert into Rating(rID,mID,stars)select rid,mID,5 as stras from movie,(select rid from Reviewer where name='James Cameron')as T

insert into rating(rid,mid,stars)select rid,mid,5 from reviewer,movie where name='James Cameron'

Question 12:For all movies that have an average rating of 4 stars or higher, add 25 to the release year.(Update the existing tuples;don't insert new tuples.)

update Movie set year=year+25(select sum(avgrating)/count(*)as avgM from

(select avg(stars)as avgrating from rating,movie where movie.mid=rating.mid and year>=1980 group by movie.mid)(select sum(avgrating)/count(*)as avgM from

(select avg(stars)as avgrating from rating,movie where movie.mid=rating.mid and year<1980 group by movie.mid)

as r)

as r1979

as r)

as r1980 where mID in

(select mID from Rating group by mID having AVG(stars)>=4)

*/

第二篇:SQL數(shù)據(jù)庫(kù)選擇題及答案

1、在數(shù)據(jù)庫(kù)技術(shù)中,獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型是_C__。A、面向?qū)ο蟮哪P虰、關(guān)系模型C、E-R模型D、層次模型

2、數(shù)據(jù)庫(kù)系統(tǒng)的控制中樞是__B_。A、數(shù)據(jù)庫(kù)、b、數(shù)據(jù)庫(kù)管理系統(tǒng)C、數(shù)據(jù)庫(kù)管理員D、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)

3、使用SQL命令將學(xué)生表STUDENT中的學(xué)生年齡AGE字段的值增加1歲,應(yīng)該使用的命令是__C_。

A、UPDATE SET AGE WITH AGE+1

B、REPLACE AGE WITH AGE+1

C、UPDATE STUDENT SET AGE=AGE+1

D、UPDATE STUDENT AGE WITH AGE+1

4、在關(guān)系數(shù)據(jù)庫(kù)中,建立數(shù)據(jù)庫(kù)表時(shí),將年齡字段值限制在12~40歲之間的這種約束屬于__B__。

A、視圖完整性約束B、域完整性約束C、參照完整性約束D、實(shí)體完整性約束

5、在 SQL 語句中,與 X BETWEEN 20 AND 30 等價(jià)的表達(dá)式是__D_。A、X>=20 AND X<30

B、X>20 AND X<30

C、X>20 AND X<=30

D、X>=20 AND X<=30

6、在數(shù)據(jù)庫(kù)中,概念模型是_D__。A、用于現(xiàn)實(shí)的建模,與具體的DBMS有關(guān)B、用于信息世界的建模,與具體的DBMS有關(guān)

C、用于現(xiàn)實(shí)的建模,與具體的DBMS無關(guān)D、用于信息世界的建模,與具體的DBMS無關(guān)

7、數(shù)據(jù)庫(kù)的并發(fā)操作可能帶來的問題包括__B_。A非法用戶的使用B丟失更新C數(shù)據(jù)獨(dú)立性會(huì)提高D增加數(shù)據(jù)冗余度

8、在關(guān)系數(shù)據(jù)庫(kù)中,模式對(duì)應(yīng)的是__A___。A、視圖和所有基本表

B、視圖和部分基本表

C、基本表

D、索引

9、能實(shí)現(xiàn)絕對(duì)的與平臺(tái)無關(guān)性的Web數(shù)據(jù)庫(kù)訪問技術(shù)是_D_。A、ADO

B、ActiveX

C、WebbaseAPI

D、JDBC

10、在下列描述中,正確的描述是__B___。

A、SQL 是一種過程化語言B、SQL 采用集合操作方式

C、SQL 不能嵌入到高級(jí)語言程序中

D、SQL 是一種 DBMS

11、數(shù)據(jù)庫(kù)系統(tǒng)是由__A__組成的。A、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和用戶

B、數(shù)據(jù)文件、命令文件和報(bào)表

C、數(shù)據(jù)庫(kù)文件結(jié)構(gòu)和數(shù)據(jù)

D、常量、變量和函數(shù)

12、在SQL查詢時(shí),使用WHERE子句指出的是__B__。A、查詢目標(biāo)B、查詢條件C、查詢視圖D、查詢結(jié)果

13、在下列 RDMBS 產(chǎn)品中,屬于小型數(shù)據(jù)庫(kù)系統(tǒng)的是_A_。A、Access B、Oracle C、Sybase D、Informix

14、數(shù)據(jù)庫(kù)類型是按照_A_來劃分的。

A、數(shù)據(jù)模型B、記錄形式C、數(shù)據(jù)存取方法D、文件形式

15、作為Microsoft Office家族成員之一的_A_數(shù)據(jù)庫(kù),能夠與其他Office組件進(jìn)行數(shù)據(jù)交換共享數(shù)據(jù)資源,易于生成集文字處理、圖表生成和數(shù)據(jù)管理于一體的辦公自動(dòng)化系統(tǒng)。A、Access

B、Oracle

C、Sybase

D、Informix

16、數(shù)據(jù)庫(kù)管理系統(tǒng)更適合于_D_方面的應(yīng)用。A、CAD

B、過程控制C、科學(xué)計(jì)算D、數(shù)據(jù)處理

17、下列四組SQL命令,全部屬于數(shù)據(jù)定義語句的命令是_C__。A、CREATE,DROP,ALTER

B、CREATE,DROP,UPDATE

C、CREATE,DROP,GRANT

D、CREATE,DROP,SELECT

18、通過Internet及瀏覽器處理的數(shù)據(jù)庫(kù),應(yīng)該是_C__處理。A、集中式

B、分布式

C、主從結(jié)構(gòu)式D、以上3種模式

19、數(shù)據(jù)的邏輯獨(dú)立性是指__D_。A、數(shù)據(jù)與存儲(chǔ)結(jié)構(gòu)的邏輯獨(dú)立性 B、數(shù)據(jù)元素之間的邏輯獨(dú)立性

C、存儲(chǔ)結(jié)構(gòu)與物理結(jié)構(gòu)的邏輯獨(dú)立性

D、數(shù)據(jù)與程序的邏輯獨(dú)立性

20、在數(shù)據(jù)庫(kù)技術(shù)中,獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型是_C__。A面向?qū)ο蟮哪P?/p>

B關(guān)系模型

C、E-R模型

D、層次模型

21、關(guān)系代數(shù)的3個(gè)基本運(yùn)算是–D--、投影、連接。A、關(guān)系與B、蘊(yùn)含C、關(guān)系或D、選擇

22、下面命題不正確的是:A、若冗余數(shù)據(jù)可以控制,則數(shù)據(jù)更新的一致性得以保證

B、數(shù)據(jù)庫(kù)減少了不必要的數(shù)據(jù)冗余C、數(shù)據(jù)庫(kù)的數(shù)據(jù)可以共享D、數(shù)據(jù)庫(kù)中不存在數(shù)據(jù)冗余

23、在基本SQL中不可以實(shí)現(xiàn): A、定義視圖B、并發(fā)控制C、定義基表D、查詢視圖和基表

24、用二維表來表示實(shí)體及實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱為_C___。

A、實(shí)體-聯(lián)系模型B、層次模型C、關(guān)系模型D、網(wǎng)狀模型

25、查找工資在600元以上并且職稱為工程師的紀(jì)錄,邏輯表達(dá)式為_D___。

A、“工資”>600.OR.職稱=“工程師”

B、工資>600.AND.職稱=工程師

C、“工資”>600.AND.“職稱”=“工程師”

D、工資>600.AND.職稱=“工程師”

26、數(shù)據(jù)庫(kù)鏡像可以用于__C_。(1分)

A、實(shí)現(xiàn)數(shù)據(jù)庫(kù)的安全性

B、實(shí)現(xiàn)數(shù)據(jù)共享C、進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)或并發(fā)操作D、保證數(shù)據(jù)庫(kù)的完整性

27、在下列類型的數(shù)據(jù)庫(kù)系統(tǒng)中,應(yīng)用最廣泛的是__C___。(1分)

A、分布型數(shù)據(jù)庫(kù)系統(tǒng)B、邏輯型數(shù)據(jù)庫(kù)系統(tǒng)C、關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)D、層次型數(shù)據(jù)庫(kù)系統(tǒng)

28、在下列描述中,正確的描述是__B__。(1分)A、SQL 是一種過程化語言B、SQL 采用集合操作方式

C、SQL 不能嵌入到高級(jí)語言程序中

D、SQL 是一種 DBMS

第三篇:SQL語言習(xí)題及答案

數(shù)據(jù)庫(kù)原理之關(guān)系數(shù)據(jù)庫(kù)SQL語言課后習(xí)題及答案

http://www.tmdps.cnAME,TEACHER)

試用SQL的查詢語句表達(dá)下列查詢:

(1)檢索LIU老師所授課程的課程號(hào)和課程名。

SELECT C#,CNAME

FROM C

WHERE TEACHER=?LIU?

(2)檢索年齡大于23歲的男學(xué)生的學(xué)號(hào)和姓名。

SELECT S#,SNAME

FROM S

WHERE(AGE>23)AND(SEX=?M?)

(3)檢索至少選修LIU老師所授課程中一門課程的女學(xué)生姓名。

SELECT SNAME

FROM S

WHERE SEX=?F? AND S# IN

(SELECT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER=?LIU?)

NOTICE:有多種寫法,比如聯(lián)接查詢寫法:

SELECT SNAME

FROM S,SC,C

WHERE SEX=?F? AND SC.S#=S.S#

AND SC.C#=C.C#

AND TEACHER='LIU' 但上一種寫法更好一些。

(4)檢索WANG同學(xué)不學(xué)的課程的課程號(hào)。

SELECT C#

FROM C

WHERE C# NOT IN

(SELECT C#

FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG'))

(5)檢索至少選修兩門課程的學(xué)生學(xué)號(hào)。

SELECT DISTINCT X.SNO

FROM SC X,SC Y

WHERE X.SNO=Y.SNO AND X.CNO<>Y.CNO Notice:對(duì)表SC進(jìn)行自連接,X,Y是SC的兩個(gè)別名。

(6)檢索全部學(xué)生都選修的課程的課程號(hào)與課程名。

SELECT C#,CNAME

FROM C

WHERE NOT EXISTS

(SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#))

要從語義上分解:(1)選擇課程的課程號(hào)與課程名,不存在不選這門課的同學(xué)。

其中,“不選這門課的同學(xué)”可以表示為:

或者

SELECT *

FROM S

WHERE NOT EXISTS

(SELECT *

FROM SC

WHERE S.S#=C.S#

AND SC.C#=C.C#)

SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#)

(7)檢索選修課程包含LIU老師所授課的學(xué)生學(xué)號(hào)。

SELECT DISTINCT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER='LIU'))

3.3 設(shè)有兩個(gè)基本表R(A,B,C)和S(D,E,F(xiàn)),試用SQL查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:

(1)πA(R)

(2)σB='17'(R)

(3)R×S

(4))πA,F(σC=D(R×S))

(1)SELECT A FROM R

(2)SELECT * FROM R WHERE B='17'(3)SELECT A,B,C,D,E,F FROM R,S

(4)SELECT A,F FROM R,S WHERE R.C=S.D

3.4 3.4 設(shè)有兩個(gè)基本表R(A,B,C)和S(A,B,C)試用SQL查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:

(1)R∪S

(2)R∩S

(3)R-S

(4)πA,B(R)πB,C(S)

(1)SELECT A,B,C

FROM R

UNION

SELECT A,B,C

FROM S

(2)SELECT A,B,C

FROM R

INTERSECT

SELECT A,B,C

FROM S

(3)SELECT A,B,C

FROM R

WHERE NOT EXISTS

(SELECT A,B,C

FROM S

WHERE R.A=S.A AND R.B=S.B AND R.C=S.C)

(4)SELECT R.A,R.B,S.C

FROM R,S

WHERE R.B=S.B

3.5 試敘述SQL語言的關(guān)系代數(shù)特點(diǎn)和元組演算特點(diǎn)。

(P61-62)

3.6 試用SQL查詢語句表達(dá)下列對(duì)教學(xué)數(shù)據(jù)庫(kù)中三個(gè)基本表S、SC、C的查詢:

(1)統(tǒng)計(jì)有學(xué)生選修的課程門數(shù)。

SELECT COUNT(DISTINCT C#)FROM SC

(2)求選修C4課程的學(xué)生的平均年齡。

SELECT AVG(AGE)

FROM S

WHERE S# IN

(SELECT S#

FROM SC

WHERE C#='C4')或者,SELECT AVG(AGE)

FROM S,SC

WHERE S.S#=SC.S# AND C#='004'

(3)求LIU老師所授課程的每門課程的學(xué)生平均成績(jī)。

SELECT CNAME,AVG(GRADE)

FROM SC ,C

WHERE SC.C#=C.C# AND TEACHER='LIU'

GROUP BY C#

(4)統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計(jì))。要求輸出課程號(hào)和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號(hào)升序排列。

SELECT DISTINCT C#,COUNT(S#)

FROM SC

GROUP BY C#

HAVING COUNT(S#)>10

ORDER BY 2 DESC, C# ASC

(5)檢索學(xué)號(hào)比WANG同學(xué)大,而年齡比他小的學(xué)生姓名。

SELECT X.SNAME

FROM S AS X, S AS Y

WHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE

(6)檢索姓名以WANG打頭的所有學(xué)生的姓名和年齡。

SELECT SNAME,AGE

FROM S

WHERE SNAME LIKE 'WANG%'

(7)在SC中檢索成績(jī)?yōu)榭罩档膶W(xué)生學(xué)號(hào)和課程號(hào)。

SELECT S#,C#

FROM SC

WHERE GRADE IS NULL

(8)求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡。

SELECT SNAME,AGE

FROM S AS X

WHERE X.SEX='男' AND X.AGE>(SELECT AVG(AGE)FROM S AS Y WHERE Y.SEX='女')

(9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。

SELECT SNAME,AGE

FROM S AS X

WHERE X.SEX='男' AND X.AGE>ALL(SELECT AGE FROM S AS Y WHERE Y.SEX='女')

3.7 試用SQL更新語句表達(dá)對(duì)教學(xué)數(shù)據(jù)庫(kù)中三個(gè)基本表S、SC、C的各個(gè)更新操作:

(1)往基本表S中插入一個(gè)學(xué)生元組(?S9?,?WU?,18)。

INSERT INTO S(S#,SNAME,AGE)VALUES('59','WU',18)

(2)在基本表S中檢索每一門課程成績(jī)都大于等于80分的學(xué)生學(xué)號(hào)、姓名和性別,并把檢索到的值送往另一個(gè)已存在的基本表STUDENT(S#,SANME,SEX)。

INSERT INTO STUDENT(S#,SNAME,SEX)

SELECT S#,SNAME,SEX

FROM S WHERE NOT EXISTS

(SELECT * FROM SC WHERE

GRADE<80 AND S.S#=SC.S#)

(3)在基本表SC中刪除尚無成績(jī)的選課元組。

DELETE FROM SC

WHERE GRADE IS NULL

(4)把WANG同學(xué)的學(xué)習(xí)選課和成績(jī)?nèi)縿h去。

DELETE FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG')

(5)把選修MATHS課不及格的成績(jī)?nèi)臑榭罩怠?/p>

UPDATE SC

SET GRADE=NULL

WHERE GRADE<60 AND C# IN

(SELECT C#

FROM C

WHERE CNAME='MATHS')(6)把低于總平均成績(jī)的女同學(xué)成績(jī)提高5%。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE GRADE<(SELECT AVG(GRADE)FROM SC)AND S# IN(SELECT S# FROM S WHERE SEX='F')

(7)在基本表SC中修改C4課程的成績(jī),若成績(jī)小于等于75分時(shí)提高5%,若成績(jī)大于75分時(shí)提高4%(用兩個(gè)UPDATE語句實(shí)現(xiàn))。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE C#='C4' AND GRADE<=75

UPDATE SC

SET GRADE=GRADE*1.04

WHERE C#='C4' AND GRADE>75

3.8 在第1章例1.4中提到“倉(cāng)庫(kù)管理”關(guān)系模型有五個(gè)關(guān)系模式:

零件 PART(P#,PNAME,COLOR,WEIGHT)

項(xiàng)目 PROJECT(J#,JNAME,DATE)

供應(yīng)商 SUPPLIER(S#,SNAME,SADDR)

供應(yīng) P_P(J#,P#,TOTOAL)

采購(gòu) P_S(P#,S#,QUANTITY)

(1)試用SQL DDL語句定義上述五個(gè)基本表,并說明主鍵和外鍵。

CREATE TABLE PART

(P# CHAR(4)NOT NULL,PNAME CHAR(12)NOT NULL,COLOR CHAR(10),WEIGHT REAL,PRIMARY KEY(P#))

CREATE TABLE PROJECT

(J# CHAR(4)NOT NULL,JNAME CHAR(12)NOT NULL,DATE DATE,PRIMARY KEY(J#))

CREATE TABLE SUPLIER

(S# CHAR(4)NOT NULL,SNAME CHAR(12),SADDR VARCHAR(20),PRIMARY KEY(S#))

CREATE TABLE P_P

(J# CHAR(4),P# CHAR(4),TOTAL INTEGER,PRIMARY KEY(J#,P#),F(xiàn)OREIGN KEY(J#)REFERENCE PROJECT(J#),F(xiàn)OREIGN KEY(P#)REFERENCE PART(P#))

CREATE TABLE P_S

(P# CHAR(4),S# CHAR(4),QUANTITY INTEGER,PRIMARY KEY(P#,S#),F(xiàn)OREIGN KEY(P#)REFERENCE PART(P#),F(xiàn)OREIGN KEY(S#)REFERENCE SUPLIER(S#))

(2)試將PROGECT、P_P、PART三個(gè)基本表的自然聯(lián)接定義為一個(gè)視圖VIEW1,PART、P_S、SUPPLIER 三個(gè)基本表的自然聯(lián)接定義為一個(gè)視圖VIEW2。

CREATE VIEW VIEW1(J#,JNAME,DATE,P#,PNAME,COLOR,WEIGHT,TOTAL)

AS SELECT PROJECT.J#,JNAME,DATE,PART.P#,PNAME,COLOR,WEIGHT,TOTAL

FROM PROJECT,PART,P_P

WHERE PART.P#=P_P.P# AND P_P.J#=PROJECT.J

#

CREATE VIEW VIEW2(P#,PNAME,COLOR,WEIGHT,S#,SNAME,SADDR,QUANTITY)

AS SELECT PART.P#,PNAME,COLOR,WEIGHT,SUPPLIER.S#,SNAME,SADDR,QUANTITY

FROM PART,P_S,SUPPLIER

WHERE PART.P#=P_S.P# AND P_S.S#=SUPPLIER.S#

(3)試在上述兩個(gè)視圖的基礎(chǔ)上進(jìn)行數(shù)據(jù)查詢:

1)檢索上海的供應(yīng)商所供應(yīng)的零件的編號(hào)和名字。

SELECT P#,PNAME FROM VIEW2 WHERE SADDR='SHANGHAI'

2)檢索項(xiàng)目J4所用零件的供應(yīng)商編號(hào)和名字。

SELECT S#,SNAME FROM VIEW2 WHERE P# IN(SELECT P# FROM VIEW1 WHERE J#='J4')

3.9 對(duì)于教學(xué)數(shù)據(jù)庫(kù)中基本表SC,已建立下列視圖:

CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE)

AS SELECT S#,COUNT(C#),AVG(GRADE)

FROM SC

GROUP BY S#

試判斷下列查詢和更新是否允許執(zhí)行。若允許,寫出轉(zhuǎn)換到基本表SC上的相應(yīng)操作。

(1)SELECT *

FROM S_GRADE

允許

SELECT S#,COUNT(C#),AVG(GRADE)FROM SC GROUP BY S#

(2)SELECT S#,C_NUM

FROM S_GRADE

WHERE AVG_GRADE>80

允許

SELECT S#,COUNT(C#)FROM SC WHERE AVG(GRADE)>80

(3)SELECT S#,AVG_GRADE

FROM S_GRADE

WHERE C_NUM>(SELECT C_NUM

FROM S_GRADE

WHERE S#=?S4?)

允許

SELECT S#,AVG(GRADE)

FROM SC AS X

WHERE COUNT(X.C#)>(SELECT COUNT(Y.C#)FROM SC AS Y WHERE Y.S#='S4')

GROUP BY S#

(4)UPDATE S_GRADE

SET C_NUM=C_NUM+1

WHERE S#=?S4?

不允許

(5)DELETE FROM S_GRADE

WHERE C_NUM>

4不允許

3.10 預(yù)處理方式對(duì)于嵌入式SQL的實(shí)現(xiàn)有什么重要意義? 預(yù)處理方式是先用預(yù)處理程序?qū)υ闯绦蜻M(jìn)行掃描,識(shí)別出SQL語句,并處理成宿主語言的函數(shù)調(diào)用形式; 然后再用宿主語言的編譯程序把源程序編譯成目標(biāo)程序。這樣,不用擴(kuò)充宿主語言的編譯程序,就能處理SQL語句。

3.11 在宿主語言的程序中使用SQL語句有哪些規(guī)定?

在宿主語言的程序中使用SLQ語句有以下規(guī)定:

(1)在程序中要區(qū)分SQL語句與宿主語言語句

(2)允許嵌入的SQL語句引用宿主語言的程序變量(稱為共享變量),但有兩條規(guī)定:

1)引用時(shí),這些變量前必須加“:”作為前綴標(biāo)識(shí),以示與數(shù)據(jù)庫(kù)中變量有區(qū)別。

2)這些變量由宿主語言的程序定義,并用SQL的DECLARE語句說明。

(3)SQL的集合處理方式與宿主語言單記錄處理方式之間要協(xié)調(diào)。需要采用游標(biāo)機(jī)制,把集合操作轉(zhuǎn)換成單記錄處理方式。

3.12 SQL的集合處理方式與宿主語言單記錄處理方式之間如何協(xié)調(diào)?

由于SQL語句處理的是記錄集合,而宿主語言語句一次只能處理一個(gè)記錄,因此需要用游標(biāo)(cousor)機(jī)制,把集合操作轉(zhuǎn)換成單記錄處理方式。

2.13 嵌入式SQL語句何時(shí)不必涉及到游標(biāo)?何時(shí)必須涉及到游標(biāo)?

(1)INSERT、DELETE、UPDATE語句,查詢結(jié)果肯定是單元組時(shí)的SELECT語句,都可直接嵌入在主程序中使用,不必涉及到游標(biāo)。

(2)當(dāng)SELECT語句查詢結(jié)果是多個(gè)元組時(shí),此時(shí)宿主語言程序無法使用,一定要用游標(biāo)機(jī)制把多個(gè)元組一次一個(gè)地傳送給宿主語言處理。

第四篇:SQL數(shù)據(jù)庫(kù)題庫(kù)及答案 (6)

實(shí)訓(xùn)11用戶自定義函數(shù)及存儲(chǔ)過程

--

1、創(chuàng)建一個(gè)存儲(chǔ)過程,查看student表里的所有記錄,并運(yùn)行該存儲(chǔ)過程。其代碼如下: CREATE PROC pr_studentCodes AS SELECT * FROM student GO EXEC pr_studentCodes

--

2、修改pr_studentcodes存儲(chǔ)過程,使其按照學(xué)號(hào)排序 ALTER PROC pr_studentCodes AS SELECT * FROM student ORDER BY Studentid EXEC pr_studentCodes

--

3、刪除存儲(chǔ)過程Pr_studentCodes drop procedure pr_studentCodes

--

4、創(chuàng)建向Class表中插入一條記錄(‘’,‘電子UI班’,null,)的存儲(chǔ)過程pr_InsertClass create procedure pr_InsertClass as insert into Class values('10901','電子UI班',null,1)go exec pr_InsertClass--5 創(chuàng)建存儲(chǔ)過程up_Add,要求該存儲(chǔ)過程能夠?qū)崿F(xiàn)對(duì)輸入的兩個(gè)數(shù)相加,并將結(jié)果輸出 create proc up_Add @num1 int,@num2 int,@sum int output as

begin select @sum=@num1+@num2 end

--6 執(zhí)行存儲(chǔ)過程up_Add,計(jì)算加上的和。declare @he int exec up_Add @num1=78,@num2=82,@sum=@he output print '結(jié)果是:'+convert(char,@he)

--

三、閱讀代碼寫結(jié)果--1 create proc pr_grade(@sno char(9), @cname char(8), @grade int output)as select @grade=score from score,course where score.courseid=course.courseid and studentid=@sno and coursename=@cname--2 declare @score int exec pr_grade '10701001','高等數(shù)學(xué)',@score output select @score

--3 create proc pr_count(@classid varchar(8), @num int output)as select @num=count(*)from student where Classid=@classid--4 declare @peop int exec pr_count @classid='10701',@num=@peop output select @peop

drop procedure pr_count

第五篇:SQL數(shù)據(jù)庫(kù)心得

黃淮學(xué)院 2015---2016學(xué)年第 一 學(xué)期 《C#數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)技術(shù)與案例教程》課程

題目:

學(xué)習(xí)報(bào)告

系:數(shù)學(xué)科學(xué)系 專

業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué) 年

級(jí):1301B 姓

名:曹占營(yíng) 學(xué)

號(hào):1331110101 任課教師:楊鋒英

2015年 12 月 30日

C#數(shù)據(jù)庫(kù)學(xué)習(xí)報(bào)告

在日常生活中,我們和朋友、親戚聯(lián)系,會(huì)廣泛用到通訊錄,因此這門課程以通訊錄開發(fā)為案例,教我們學(xué)習(xí)軟件開發(fā)。

軟件開發(fā)是一項(xiàng)非常注重實(shí)踐工作,不可能只憑看書、看視頻就學(xué)會(huì)軟件開發(fā),必須扎扎實(shí)實(shí)、一行一行的編寫代碼,不斷積累項(xiàng)目經(jīng)驗(yàn),才能真正掌握編程技術(shù),所以我們要親自上級(jí)編寫程序,才能真正掌握軟件開發(fā)技術(shù)。

本書分為基礎(chǔ)篇、進(jìn)階篇、高級(jí)篇,由淺入深地介紹了基于C#的數(shù)據(jù)庫(kù)編程技術(shù),所用的開發(fā)工具為Visual Studio 2008、SQL Server 2005以及Access 2007。

學(xué)習(xí)數(shù)據(jù)庫(kù)的內(nèi)容是從數(shù)據(jù)庫(kù)、數(shù)據(jù)表的創(chuàng)建和修改開始的,表是建立關(guān)系數(shù)據(jù)庫(kù)的基本結(jié)構(gòu),用來存儲(chǔ)數(shù)據(jù)具有已定義的屬性,在表的操作過程中,有查看表信息、查看表屬性、修改表中的數(shù)據(jù)、刪除表中的數(shù)據(jù)及修改表和刪除表的操作。從課程中讓我更明白一些知識(shí),查詢可以通過SQL語言進(jìn)行完成,這樣加深了查詢語句的基本結(jié)構(gòu),讓我們能更好的掌握其中語句,方便于我們后面的學(xué)習(xí)和應(yīng)用。表是數(shù)據(jù)最重要的一個(gè)數(shù)據(jù)對(duì)象,表的創(chuàng)建好壞直接關(guān)系到數(shù)數(shù)據(jù)庫(kù)的成敗,表的內(nèi)容是越具體越好,但是也不能太繁瑣,以后在實(shí)際應(yīng)用中多使用表,對(duì)表的規(guī)劃和理解就會(huì)越深刻。在編程方面是需要我們對(duì)于編程有邏輯思維能力及一定的編程技巧。在數(shù)據(jù)庫(kù)中插入表、表中的信息等都需要注意,不然很容易出錯(cuò)。

在基礎(chǔ)篇中,詳細(xì)講解了通訊錄系統(tǒng)的設(shè)計(jì)、開發(fā)和安裝部署這樣一個(gè)完整過程,對(duì)各個(gè)任務(wù)進(jìn)行詳細(xì)講解。基礎(chǔ)篇學(xué)習(xí)分為9個(gè)任務(wù),分別為系統(tǒng)分析與設(shè)計(jì)、用戶登錄、主窗體設(shè)計(jì)、聯(lián)系人分組管理、聯(lián)系人管理、用戶密碼修改、數(shù)據(jù)庫(kù)備份與恢復(fù)、設(shè)計(jì)“關(guān)于”窗體、系統(tǒng)安裝與部署。學(xué)完基礎(chǔ)篇,即可開發(fā)出一個(gè)功能較為完備的通訊錄系統(tǒng)。在聯(lián)系人管理任務(wù)學(xué)習(xí)中,由于在Contact表中保存的是分組編號(hào),而窗體上要顯示的是分組名稱,所以在查詢語句中需要級(jí)聯(lián)查詢,即SQL語句為”select Contact.Id, Name, Phone, Email, QQ, GroupName from Contact, ContactGroup where Contact.GroupId = ContactGroup.Id”。為了實(shí)現(xiàn)代碼復(fù)用,可以提供查詢功能,根據(jù)用戶選擇的擦尋天劍,拼接產(chǎn)生SQL語句。同時(shí)為了支持模糊查詢,還在SQL語句中用了like語句。通過SqlDataAdapter的Fill方法填充數(shù)據(jù)集,獲取數(shù)據(jù)。數(shù)據(jù)集中有了數(shù)據(jù)以后,我們只需設(shè)置DataGridView控件的DataSource屬性,就可以顯示數(shù)據(jù)了。

在進(jìn)階篇中,介紹了企業(yè)項(xiàng)目開發(fā)中廣發(fā)用到的參數(shù)化SQL語句、存儲(chǔ)過程使用及定義數(shù)據(jù)庫(kù)操作類,分為3個(gè)任務(wù)學(xué)習(xí),分別為使用參數(shù)化SQL語句、使用存儲(chǔ)過程、使用自定義數(shù)據(jù)庫(kù)操作類,進(jìn)一步提高我們的數(shù)據(jù)庫(kù)編程能力。在使用存儲(chǔ)過程任務(wù)學(xué)習(xí)中,了解到存儲(chǔ)過程是在大型數(shù)據(jù)庫(kù)系統(tǒng)中,一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。在性能方面,存儲(chǔ)過程有如下的優(yōu)點(diǎn)。(1)與編譯,存儲(chǔ)過程預(yù)先編譯好放在數(shù)據(jù)庫(kù)內(nèi),減少編譯語句所花的時(shí)間。(2)緩存,編譯好的存儲(chǔ)過程會(huì)進(jìn)入緩存,所以對(duì)于經(jīng)常執(zhí)行的存儲(chǔ)過程,除了第一次執(zhí)行外,其他次執(zhí)行的書都會(huì)有明顯提高。(3)減少網(wǎng)絡(luò)傳輸,特別對(duì)于處理一些數(shù)據(jù)的存儲(chǔ)過程,不必像直接用SQL語句實(shí)現(xiàn)那樣多次傳送數(shù)據(jù)到客戶端。通過前面的學(xué)習(xí),細(xì)細(xì)體會(huì)對(duì)數(shù)據(jù)庫(kù)的操作,可以發(fā)現(xiàn),這么多操作其實(shí)可以分為4種。(1)對(duì)數(shù)據(jù)庫(kù)進(jìn)行非連接式查詢操作,返回多條記錄。這種操作可以通過SqlDataAdapter對(duì)象的Fill方法來完成,即把查詢得到的結(jié)果填充到DataTable(或DataSet)對(duì)象中。(2)對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接式查詢操作,返回多條查詢記錄。這種操作可以通過SqlCommand對(duì)象的ExecuteReader方法來完成,返回SqlDataReader對(duì)象。(3)從數(shù)據(jù)庫(kù)中檢索單值。這種操作可以通過SqlCommand對(duì)象的ExecuteNonQuery方法來完成。ExecuteScalar方法返回的是Object類型,需要根據(jù)實(shí)際情況進(jìn)行類型轉(zhuǎn)換。(4)對(duì)數(shù)據(jù)庫(kù)執(zhí)行增、刪、改操作。這種操作可以通過SqlCommand對(duì)象的ExecuteNonQuery方法來完成,返回增、刪、改操作后數(shù)據(jù)庫(kù)中受影響的行數(shù)。

在高級(jí)篇中,分為4個(gè)任務(wù)學(xué)習(xí),分別為開發(fā)基于三層構(gòu)架的通訊錄程序、開發(fā)基于Access的通訊錄程序、實(shí)現(xiàn)基于抽象工廠模式的三層架構(gòu)、使用MD5加密用戶密碼。首先詳細(xì)講解了基于三層構(gòu)架的通訊錄程序開發(fā)過程以及如何開發(fā)一個(gè)基于Access的通訊錄系統(tǒng)。最后,介紹了如何采用MD5加密技術(shù)對(duì)用戶密碼加密。MD5加密技術(shù)也是實(shí)際項(xiàng)目開發(fā)中廣泛用到的,通過MD5加密用戶密碼,可以提高程序的安全性。“三層架構(gòu)”一詞中的“三層”是指:“表示層”、“業(yè)務(wù)邏輯層”、“數(shù)據(jù)訪問層”。表示層:位于最外層,離用戶最近。用于顯示和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作界面。表示層的常見形式為WinFrom和WebForm。業(yè)務(wù)邏輯層:負(fù)責(zé)處理用戶輸入的信息,或者是將這些信息發(fā)送給數(shù)據(jù)訪問層進(jìn)行保存,或者是調(diào)用數(shù)據(jù)訪問層中的函數(shù)再次讀出這些數(shù)據(jù)。業(yè)務(wù)邏輯層也可以包括一些對(duì)“商業(yè)邏輯”描述代碼在里面。數(shù)據(jù)訪問層:僅實(shí)現(xiàn)對(duì)數(shù)據(jù)的保存和讀取操作。可以訪問數(shù)據(jù)庫(kù)系統(tǒng)、二進(jìn)制文件、文本文檔或是XML文檔。

在這一學(xué)期有限的幾次實(shí)驗(yàn)課后,我雖然沒有學(xué)會(huì)很多,但也學(xué)會(huì)了一些簡(jiǎn)單的操作,我學(xué)會(huì)了一些簡(jiǎn)單的數(shù)據(jù)運(yùn)算,會(huì)建立一些簡(jiǎn)單的表。有時(shí)候在做實(shí)驗(yàn)時(shí),對(duì)于實(shí)驗(yàn)中的一些東西我不怎么了解,但我還會(huì)去做,因?yàn)槲蚁胫挥卸嗑毩?xí)才能熟練,也才能理解掌握知識(shí)。我不知道這一門課對(duì)其他同學(xué)來說怎么樣,但對(duì)我來說卻有些難,但我會(huì)努力。因?yàn)槲艺J(rèn)為它對(duì)我以后考計(jì)算機(jī)二級(jí)有很大的幫助。

很快這一學(xué)期馬上就要結(jié)束了,數(shù)據(jù)庫(kù)這一門課也很快就要結(jié)束了,但這一學(xué)期的學(xué)習(xí)讓我知道了很多,也告訴了我在以后的人生中如何去做事,如何去做人。尤其是老師的耐心,老師的敬業(yè)精神感動(dòng)了我,再做任何事時(shí)都應(yīng)該認(rèn)真負(fù)責(zé),任何一個(gè)人都應(yīng)該被尊重。

下載數(shù)據(jù)庫(kù) sql 習(xí)題及答案(合集五篇)word格式文檔
下載數(shù)據(jù)庫(kù) sql 習(xí)題及答案(合集五篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    數(shù)據(jù)庫(kù)習(xí)題與答案

    一.選擇題: 1. 日志文件是用于記錄( ) A.程序運(yùn)行過程 B.數(shù)據(jù)操作 C.對(duì)數(shù)據(jù)的所有更新操作 D.程序執(zhí)行的結(jié)果 答案:C (114) 2. 利用查詢分析器,能( ) A.直接執(zhí)行SQL語句 B.提交SQL......

    數(shù)據(jù)庫(kù)習(xí)題與答案

    一.選擇題: 1. 數(shù)據(jù)模型用來表示實(shí)體間的聯(lián)系,但不同的數(shù)據(jù)庫(kù)管理系統(tǒng)支持不同的數(shù)據(jù)模型。在常用的數(shù)據(jù)模型中,不包括( ) A.網(wǎng)狀模型 B.鏈狀模型 C.層次模型 D.關(guān)系模型 答案:B (1......

    數(shù)據(jù)庫(kù)應(yīng)用習(xí)題及答案

    數(shù)據(jù)庫(kù)應(yīng)用習(xí)題及答案 4、在下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中,正確的是 A. 數(shù)據(jù)庫(kù)中只存在數(shù)據(jù)項(xiàng)之間的聯(lián)系 B. 數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)和記錄之間都存在聯(lián)系 C. 數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)之間......

    SQL數(shù)據(jù)庫(kù)期末考試題及答案[五篇模版]

    sql數(shù)據(jù)庫(kù)期末考試題及答案 一、單選題(共 10 道試題,共 50 分。)1. SQL Server中,保存著每個(gè)數(shù)據(jù)庫(kù)對(duì)象的信息的系統(tǒng)表是( C)。 A. sysdatabases B. Syscolumns C. Sysobjects D.......

    數(shù)據(jù)庫(kù)sql課后練習(xí)題及答案解析

    先創(chuàng)建下面三個(gè)表: (book表) (borrow表) (reader表) 1) 找出姓李的讀者姓名(NAME)和所在單位(COMPANY)。 2) 列出圖書庫(kù)中所有藏書的書名(BOOK_NAME)及出版單位(OUTPUT)。 3) 查......

    SQL Server數(shù)據(jù)庫(kù)試題七及答案

    SQL Server數(shù)據(jù)庫(kù)試題七及答案 一.單項(xiàng)選擇題(每題2分,計(jì)30分) 1._______是數(shù)據(jù)庫(kù)系統(tǒng)的核心,它負(fù)責(zé)數(shù)據(jù)庫(kù)的配置、存取、管理和維護(hù)等工作。(c ) A、操作系統(tǒng) B、關(guān)系模型 C、數(shù)......

    SQL Server數(shù)據(jù)庫(kù)試題九及答案

    一、選擇題(每題2分,共30分) 1、下面不屬于數(shù)據(jù)定義功能的SQL語句是:( ) A.CREAT TABLE B.CREAT CURSOR C.UPDATE D.ALTER TABLE 2、SQL數(shù)據(jù)庫(kù)中的視圖與下列哪項(xiàng)是對(duì)應(yīng)的( )。 A.......

    SQL Server數(shù)據(jù)庫(kù)試題九及答案

    SQL Server數(shù)據(jù)庫(kù)試題九及答案 一、選擇題(每題2分,共30分) 1、下面不屬于數(shù)據(jù)定義功能的SQL語句是:( ) A.CREAT TABLE B.CREAT CURSOR C.UPDATE D.ALTER TABLE 2、SQL數(shù)據(jù)庫(kù)......

主站蜘蛛池模板: 产精品视频在线观看免费| 亚洲人成色777777精品音频| 国产精品高潮呻吟av久久黄| 亚洲午夜久久久精品影院| 欧美肥婆性猛交xxxx| 伊人蕉久中文字幕无码专区| 亚洲 中文 欧美 日韩 在线| aaa少妇高潮大片免费看| 亚洲精品tv久久久久久久久| 精品性高朝久久久久久久| 99久久99这里只有免费费精品| 亚洲av无码乱码国产麻豆穿越| 99久久国产综合精品成人影院| 大屁股人妻女教师撅着屁股| 久久香蕉超碰97国产精品| 久久精品国产免费观看三人同眠| 野狼第一精品社区| 97超级碰碰碰久久久久app| 精品人妻系列无码人妻不卡| 久久九九精品国产免费看小说| 国产成人无码精品久久二区三区| 免费人成在线观看视频播放| 97人人超碰国产精品最新| 国内露脸中年夫妇交换| 99国产揄拍国产精品人妻| 久久久久国产综合av天堂| 无码人妻丰满熟妇啪啪网不卡| 视频区 国产 图片区 小说区| 色8激情欧美成人久久综合电影| 亚洲精品欧美综合一区二区| 国产黄a三级三级三级av在线看| 国产精品兄妹在线观看麻豆| 凹凸精品熟女在线观看| 中文亚洲爆乳av无码专区| 丰满熟妇乱又伦在线无码视频| 中文字幕亚洲色妞精品天堂| 久久精品卫校国产小美女| 亚洲r成人av久久人人爽澳门赌| 野外做受又硬又粗又大视频| 精品国产美女福利在线不卡| 少妇无码av无码一区|