[英]SQL table references
首先,我對糟糕的頭銜很抱歉,但是5分鍾后我無法想出更好的東西。
請假設以下內容:有人和銀行賬戶,我希望實現兩個表來模擬。 一個人有一個ID(主鍵)和一個名字。 銀行帳戶還具有ID(主鍵),所有者(外鍵)和值。 這是我的代碼:
create table Person(
ID integer primary key,
name varchar(200) not null
);
create table Account(
ID integer primary key,
owner integer references Person(ID),
value number not null
);
現在,有沒有辦法讓一個人“知道”哪個帳戶與之關聯,而沒有select * from Account where owner = XY
? 我問我的老師,但是沒有得到與SQL相關的答案。 在互聯網上,我找不到任何建議,所以我在這里問。 請原諒我這個問題,但我已經習慣了面向對象的語言,其中Person類包含一個Enumerable來存儲所有帳戶。
這就是關系數據庫的工作方式,它們具有關系表。
因為它是關系型的,所以您可以在一個查詢中查詢Person
並獲取與該人員相關的所有Account
。 為此,您需要執行JOIN
。
SELECT * FROM Person
JOIN Account ON (Person.ID = Account.owner)
WHERE Person.ID = XY;
如果您需要面向文檔的數據庫,可以使用MongoDB之類的東西,您可以將Account
直接嵌入到Person
文檔中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.