0
我在SQL上很差,當我在下面得到一個SQL查詢時,我很困惑其中的a
和b
。他們在查詢中的角色是什麼以及它的功能或結果是什麼?瞭解複雜的SQL查詢
SELECT *,(SELECT COUNT(id) FROM abc_menu b WHERE b.parentId=a.id) FROM abc_menu a ORDER BY ordering ASC
我在SQL上很差,當我在下面得到一個SQL查詢時,我很困惑其中的a
和b
。他們在查詢中的角色是什麼以及它的功能或結果是什麼?瞭解複雜的SQL查詢
SELECT *,(SELECT COUNT(id) FROM abc_menu b WHERE b.parentId=a.id) FROM abc_menu a ORDER BY ordering ASC
a
和b
是別名 - 在SQL中,這些表名後立即宣佈(在FROM或JOIN子句)或柱後/或選擇表達。
SELECT *, (
SELECT COUNT(id) FROM abc_menu b WHERE b.parentId=a.id)
FROM abc_menu a
ORDER BY ordering ASC
在這裏你可以看到爲a
「最外」訪問表的別名(此語句中命名)。
這使得它與子查詢區分開來,將其與子查詢區分開來,它將引用同一個表,分別表示爲b
。
b
引用的行在邏輯上獨立於a
引用的行,並且僅在邏輯上指定時才連接 - 在此處由子查詢WHERE子句b.parentId=a.id
進行連接。
他們是別名。也許閱讀一個基本的教程... –
你還沒有看到複雜的SQL語句 –
複雜的SQL查詢在哪裏? –