創建表 User( UserID int primary key, Name varchar, type int );
創建表Student( UserID int主鍵參考User(UserID)。 marks int );
創建表Lecture( UserID int 主鍵參考 User(UserID), 薪水 int );
誰能幫助解決學生或講座的選擇陳述句問題?
Lecture和Student表都是繼承自User表,所以我需要知道如何從這些表中插入資料和選擇資料。
uj5u.com熱心網友回復:
如果你想選擇學生X:
SELECT *
FROM 學生
WHERE UserID = X
如果你想選擇所有的學生和他們的用戶資料,你需要這樣的東西:
SELECT *
FROMUser
JOIN Student ON User.UserID = Student.UserID
uj5u.com熱心網友回復:
要查詢這些表格,這樣做是可行的:
SELECT u.[Name] 。
, s.marks
, l.工資
FROM [User] u。
INNER JOIN 學生s
ON u.UserId = s.UserId
INNER JOIN Lecture l
ON u.UserId = l.UserId。
然而,如果在學生/講座表中還沒有記錄,你應該使用LEFT Join來代替。
至于插入資料,你需要使用SCOPE_IDENTITY()。
Insert into [User] (Name) values ('Melvin'/span>)
獲取UserId的身份
DECLARE @userId INT;
SELECT @userId = SCOPE_IDENTITY()。
INSERT INTO Student
(
用戶ID
, 分數
)
VALUES[/span
(userId, 5)。
更新:剛剛注意到這是SQL Lite,我不是很熟悉,但看起來它支持last_insert_rowid()而不是SCOPE_IDENTITY(),但你應該得到它的要點。
uj5u.com熱心網友回復:
我不明白你的問題,但我想你需要這樣的東西
select Name, marks
from User as u, Student as s
inner join u.UserID == s.UserID。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/322142.html
標籤:
