日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL语句(查询、新建表、删除表、更新表、新建视图)

發布時間:2023/12/16 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL语句(查询、新建表、删除表、更新表、新建视图) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL語句(一):

涉及:查詢、新建表、刪除表、更新表、新建視圖操作

1、注意:只需要創建SPJ表即可,但要記得外鍵和主鍵用SQL語句建立2.8中的四個表

(這里只需要給出SPJ表的創建腳本即可),

S(SNO,SNAME,STATUS,SCITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNANE,JCITY);

SPJ(SNO,PNO,JNO,QTY)。

其中在SPJ表中,SNO、PNO和JNO是外鍵分別參照S、P、J中的相應字段。

create table SPJ(SNO INT NOT NULL,PNO INT NOT NULL,JNO INT NOT NULL,FOREIGN KEY(SNO) REFERENCES S(SNO),FOREIGN KEY(PNO) REFERENCES P(PNO),FOREIGN KEY(JNO) REFERENCES J(JNO));

2、做下面的查詢時,大家記得distinct的使用。

針對上題中四個表,用SQL語句完成下述操作(2-9題)。

找出使用供應商S1所供零件的工程號碼。

SELECT JNO FROM SPJ WHERE SNO = 'S1';

3、找出工程項目J2使用的各種零件名稱及其數量。

SELECT P.PNAME,SPJ.QTYFROM P,SPJWHERE P.PNO = SPJ.PNOAND SPJ.JNO = 'J2';

4、找出上海廠商供應的所有零件號碼。

SELECT DISTINCT PNOFROM SPJWHERE SNO IN(SELECT SNOFROM SWHERE CITY = '上海');

5、找出使用上海產的零件的工程名稱。

SELECT J.NAMEFROM J,SPJ,SWHERE J.JNO = SPJ.JNOAND SPJ.SNO = S.SNOANDS.CITY = '上海';

6、找出沒有使用天津產零件的工程號碼

SELECT JNOFROM JWHERE NOT EXISTS(SELECT *FROM SPJWHERE SPJ.JNO = J.JNOAND SNO IN(SELECT SNOFROM SWHERE CITY = '天津'));

7、將由供應商S5供給工程代碼為J4的零件P6改為由S3供應。

UPDATE SPJSET SNO = S3WHERE SNO = 'S5' AND JNO = 'J4' AND PNO = 'P6';

8、從供應商關系中刪除S2的記錄,并從供應零件關系中刪除相應的記錄。

DELETE FROM SPJWHERE SNO = 'S2';DELETEFROM SWHERE SNO = 'S2';

9、請將(S2,J6,P4,500)插入供應情況表。

INSERT INTO SPJ(SNO,JNO,PNO,QTY)VALUES(S2,J6,P4,500)

10、對于教學數據庫的三個基本表:

S(S# ,SNAME ,AGE ,SEX)

SC(S# ,C# ,GRADE)

C(C# ,CNAME ,TEACHER)試用SQL語句表達下列查詢(10-18):

10、查詢姓劉的老師所授課程的課程號和課程名

SELECT C#,CNAMEFROM CWHERE TEACHER = ‘劉’;

11、查詢年齡大于23歲的男同學的學號和姓名。

SELECT s#, snameFROM SWHERE age>23 AND sex='男';

12、查詢學號為S3學生所學課程的課程號、課程名和任課教師名。

SELECT * FROM C,SCWHERE C.C# = SC.C# AND SC.S# = 'S3';

13、查詢“張小飛”沒有選修的課程號和課程名。

SELECT C#,CNAMEFROM CWHERE NOT EXISTS(SELECT * FROM S, SCWHERE sc.s#=s.s#AND sc.c#=c.c# AND s.sname='張小飛');

14、查詢至少選修了3門課程的學生的學號和姓名。

SELECT S.S#,S.SNAMEFROM S,SCWHERE S.S#=SC.S#GROUP BY S.S#HAVING count(*)>=3;

15、在SC中刪除尚無成績的選課元組。

delete from SCwhere SC.GRADE in null;

16、把“高等數學”課的所有不及格成績都改為60。

update SCset SC.GRADE = 60where SC.GRADE < 60 and SC.CNO in (select CNOfrom Cwhere C.CNAME = '高等數學');

17、把低于所有人總平均成績的女同學的成績提高5%。

update SCset SC.GRADE = SC.GRADE * (1 + 5%)where SC.SNO in (select SNO from Swhere S.SEX = '女')and SC.GRADE < (select avg(GRADE)from SC);

18、向C中插入元組(‘C8’,‘VC++’,‘王昆’)。

insert into Cvalues ('C8', 'VC++', '王昆');

19、請為三建工程項目建立一個供應情況的視圖,包括供應商代碼(SNO)、零件代碼(PNO)、供應數量(QTY)。

CREATE VIEW 三建 AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME ='三建';

20、針對上題(19題)所創建的視圖完成查詢:(1)找出三建工程項目使用的各種零件代碼及其數量;

SELECT PNO,SUM(QTY)AS QTY FROM 三建GROUP BY PNO

21、針對上題(19題)所創建的視圖完成查詢:找出供應商S1的供應情況。

SELECT *FROM 三建WHERE SNO ='S1';

總結

以上是生活随笔為你收集整理的SQL语句(查询、新建表、删除表、更新表、新建视图)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。