我是SQL和PHP編程的新手,所以我需要一些幫助才能充分理解來自別人代碼的SQL SELECT語句。瞭解加入和組的SQL語句
$sql = "SELECT a.*, b.name as city, c.name as state, c.code as state_code
FROM hotel a
JOIN city b on a.IDCity = b.IDCity
JOIN state c on b.IDState = c.IDState";
這是我的理解(或者我的猜測):
- 它選擇了從酒店表。
- 它從城市表中選擇名稱?
- 它從狀態表
- 它從狀態表
- 選擇代碼它加入了城市的名字,一切從酒店表中創建IDCITY選擇的名字?
- 它加入州名與城市名稱來創建IDState字段。
這是我完全不明白:
- 這是怎麼select語句抓取來自不同表中的字段,但它只是指出,「從酒店是」
- 什麼是一個。灣C。在這個代碼中?我猜他們的團體,但爲什麼他們的兩個C的名稱爲國家和代碼作爲國家代碼?
- 如果a。灣C。是團體,我猜他們也指出要從哪個表中獲取信息?這甚至如何工作?
爲了理解它,你必須知道'JOIN'是如何工作的。我不想詳細說明他們是如何工作的,但是一個真正的好地方是閱讀這篇文章:http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ – Bjoern
謝謝你對這篇文章,我會閱讀它以更多地理解聯合聲明。欣賞它! – user3436399