我最近開始學習SQL,但似乎無法繞過創建從多個表/關係形成相關結果的SQL語句。SQL新手,需要一些查詢建議
考慮以下模式:
Account(accNumber, balance, type)
Branch(BSB, phone, streetAddress, town)
registered(accNumber*, BSB*)
我試圖制定一些輸出: 列出具有特定BSB(123)上註冊的所有accNumber並顯示其列鎮(悉尼)。
我曾嘗試以下語句先查詢:
SELECT accNumber, BSB, town
FROM ACCOUNT, BRANCH
WHERE BSB = 123;
不過,我得到每個帳戶,即使他們不屬於上市BSB,所以我嘗試:
SELECT accNumber, BSB, town
FROM ACCOUNT, BRANCH
WHERE BSB = 123
AND Town = 'Sydney'
AND account.accNumber=registered.accNumber
AND branch.bsb=registered.bsb;
這一次我得到了明確定義的列,因爲它們在「registered」表中具有相同的名稱。
我已經嘗試在選擇統計中使用別名,即accNumber AS ACCOUNT_NUMBER等,但仍然得到含糊不清的定義錯誤。
我試着列出註冊表中的內容,但沒有得到城鎮名稱,只是將accNumber和BSB作爲外鍵傳入。
我似乎無法理解如何從其他表中拉出數據並正確顯示它們,並會非常感謝任何建議!
您應該在'from'子句中使用'join'語句而不是逗號,然後這不會成爲問題。你的第二個例子引用'registered',雖然它沒有出現在你的'from'子句中...... – sgeddes