2017-10-08 42 views
0

我是DBMS和SQL的新手。我需要運行一個使用兩個表的查詢。例如,我有一個用戶[名稱,密碼,ID,公司ID]公司[comp_name,companyID,netWorth]的另一個表格。 companyId鏈接這兩個表。對於每個用戶,我需要進行查詢,使用基本的相關操作返回它們的名稱,comp_name和netWorth使用基本關係代數在SQL/DBMS中使用兩個不同表進行查詢

+1

您正在使用什麼版本的關係代數的?你可以做什麼?你看到了什麼樣的例子?什麼讀取您的文字和谷歌搜索建議,因爲這是一個絕對基本的問題?你是什​​麼意思,DBMS中的表格通過代數對它們進行操作?不管它是SQL還是代數。你的任務到底說什麼? – philipxy

回答

1

一個簡單join應該做的伎倆:

SELECT u.name, c.comp_name, c.net_worth 
FROM users u 
JOIN companies c ON u.company_id = c.company_id 
0

這是查詢您正在尋找

(剛纔使用的=,沒有INNER JOIN); )

SELECT users.name, companies.comp_name, companies.netWorth 
FROM companies, users 
WHERE companies.companyID = users.companyId 
+0

雖然這會起作用,但最好使用ANSI連接語法(例如,使用INNER JOIN關鍵字)而不是=號來連接表,因爲它更清楚地表明正在執行連接而不是過濾器,並且很容易錯過如果您以這種方式編寫查詢,則爲聯接。 – bbrumm

+0

@bbrumm''''''cross join'沒有區別,'on'和'where'之間沒有區別,除了優先級之外,所以你的justfication是不健全的。 'on'需要的唯一原因是外部連接。 – philipxy

+1

',''交叉連接',這是'內部連接'在'true。你想說什麼?你不清楚。表情符號不會讓它更清晰。 – philipxy

相關問題