sql學生表與成績表
A. 請問學生表、成績表和課程表用什麼語句可以查詢
--SQL命令
--「學生」資料庫中有 「學生表」、「課程表」和 「成績表」。
--「學生表」中包含學號、姓名、性別、專業和班級五個欄位。
--「課程表」中包含有課程編號、課程名和任課教師三個欄位,「成績表」中包含有學號、課程編號和成績三個欄位。
CREATE TABLE 學生表
(學號 CHAR(8) PRIMARY KEY,
姓名 CHAR(10),
性別 CHAR(2),
專業 CHAR(20),
班級 CHAR(10))
GO
CREATE TABLE 課程表
(課程編號 CHAR(3) PRIMARY KEY,
課程名 CHAR(20),
任課教師 CHAR(10))
GO
CREATE TABLE 成績表
(學號 CHAR(8) REFERENCES 學生表,
課程編號 CHAR(3) REFERENCES 課程表,
成績 INT,
PRIMARY KEY(學號,課程編號))
GO
--查詢學生表中所有姓劉的學生的信息
SELECT * FROM 學生表 WHERE 姓名 LIKE '劉%'
--7. 修改學生表的結構,添加一欄位:年齡,整型
ALTER TABLE 學生表 ADD 年齡 INT
--查詢年齡在18—23歲的全部學生信息
SELECT * FROM 學生表 WHERE 年齡 BETWEEN 18 AND 23
--註:題出的有問題,學生表中無年齡欄位,卻讓查詢年齡在18—23歲的全部學生信息,無法做,所以將後面第7題放在了此題全面做。
--修改成績表的數據,將成績不及格的學生的成績改為60
UPDATE 成績表 SET 成績=60 WHERE 成績<60
--向學生表添加如下一條記錄:
--學號 姓名 專業 班級
--20070506 徐華 電子商務 091
INSERT INTO 學生表(學號,姓名,專業,班級) VALUES('20070506','徐華','電子商務','091')
--6. 查詢出所有選修2號課程的學生的姓名,性別和年齡
SELECT 姓名,性別,年齡
FROM 學生表
WHERE 學號 IN(SELECT 學號 FROM 成績表 WHERE 課程編號='2')
--8. 刪除學生表中的專業為計算機應用的學生數據
DELETE FROM 學生表 WHERE 專業='計算機應用'
--9. 查詢成績不為空的學生信息
SELECT *
FROM 學生表
WHERE 學號 IN(SELECT 學號 FROM 成績表 WHERE 成績 IS NOT NULL)
--10.顯示前五條學生信息的記錄
SELECT TOP 5 * FROM 學生表