我有兩個MySQL表HouseHold和UserProfile。這兩個表都包含HouseHoldID列。我想選擇HouseHold表中兩個表中的HouseHoldID相等的所有行。我怎樣才能做到這一點?我正在使用下面的代碼使用兩個表中的條件從MySQL表中選擇數據
select * from Household where Household.HouseholdID = UserProfile.HouseholdID
但它沒有給任何事情,而是顯示錯誤。 任何人都可以幫助我嗎?
我有兩個MySQL表HouseHold和UserProfile。這兩個表都包含HouseHoldID列。我想選擇HouseHold表中兩個表中的HouseHoldID相等的所有行。我怎樣才能做到這一點?我正在使用下面的代碼使用兩個表中的條件從MySQL表中選擇數據
select * from Household where Household.HouseholdID = UserProfile.HouseholdID
但它沒有給任何事情,而是顯示錯誤。 任何人都可以幫助我嗎?
你可以使用一個JOIN
:
select * from Household
JOIN UserProfile
ON UserProfile.HouseholdID=Household.HouseholdID
或與EXISTS
:
select * from Household
WHERE EXISTS
(
SELECT NULL
FROM UserProfile
WHERE UserProfile.HouseholdID=Household.HouseholdID
)
或與IN
:
select * from Household
WHERE Household.HouseholdID IN
(
SELECT UserProfile.HouseholdID
FROM UserProfile
)
或用舊的方式從聲明
select * from Household, UserProfile
WHERE UserProfile.HouseholdID=Household.HouseholdID
這有點取決於你想要什麼樣的數據
非常感謝。我有想法 –
沒問題。很高興幫助你 – Arion
您需要選擇用戶配置表以及
select * from Household h JOIN UserProfile u ON h.HouseholdID = u.HouseholdID
你可以試試:
SELECT A.* FROM Household A INNER JOIN UserProfile B ON A.HouseholdID = B.HouseholdID
您需要JOIN
表。試試這個:
select * from
Household h JOIN
UserProfile u ON u.HouseholdID =h.HouseholdID
瞭解更多關於加入here。
那麼,SQL語言具有非常簡潔的方式給出的標準來選擇兩個表中的記錄,它被稱爲JOIN:
SELECT H.*, U.* FROM Household H
INNER JOIN UserProfile U ON U.HouseholdID = H.HouseholdID
你必須從兩個表
選擇像下面的方式:
select * from Household, UserProfile where Household.HouseholdID = UserProfile.HouseholdID
或使用加入
select * from Household h
JOIN UserProfile u
ON u.HouseholdID=h.HouseholdID
請仔細閱讀並理解SQL JOIN –
你試過了什麼? http://www.tutorialspoint.com/mysql/mysql-using-joins.htm請閱讀此鏈接 – NetStarter
是的,我現在就此事澄清。我很困惑使用JOIN –