-
總結。 親愛的您好,關於SQL語句Q&A,根據您提供的資訊,您在這裡發現的是:根據錯誤訊息,問題出在表別名或列引用的錯誤上。
具體而言,錯誤訊息指出第 9 行的第 6 列中存在無效的表別名或列引用'shop_type'。根據可能的列名列表,未找到'shop_type'這已列出。 檢查 SQL 語句,確保表別名和列名拼寫正確。
確認'shop_type'此列名存在於相關資料表中,沒有任何拼寫錯誤或語法問題。 您可以進一步檢查資料表的結構,以確保您引用的列名正確無誤。
選擇 count(distinct user id) as 小店商手電見家正澍機20230710機機 ' and is_30_dongxiao = 0' and shop_type in ('1','2','3','4','5','7')
讓我們看看這裡是否有問題。
親愛的您好,關於SQL語句Q&A,根據您提供的資訊,您在這裡發現的是:根據錯誤訊息,問題出在表別名或列引用的錯誤上。 具體而言,錯誤訊息指出第 9 行的第 6 列中存在無效的表別名或列引用'shop_type'。
根據可能的清單,沒有彎曲的芹菜可找'shop_type'這已列出。 檢查 SQL 語句,確保表別名和列名拼寫正確。 確認'shop_type'此列名存在於相關資料表中,沒有任何拼寫錯誤或語法問題。
您可以進一步檢查資料表的結構,以確保使用正確的列名。
-
兩者在效能方面應該沒有區別,或者沒有太大區別,也沒有人證實過這一事實。
但是這兩個 SQL 語句在安全性方面有很大的區別,例如,如果你編寫第乙個:
select * from stu where id=1
如果傳入值 1,則簡單連線可能如下所示id=1。然後,您可以連線字串以獲取上面的語句。
但是,了解資料庫的人可以通過某些方式檢視不應該檢視的資料,例如手動輸入 ***jsp?id=1 or 1=1。在這種情況下,如果拼接字串,則 sql 將變為:
從 STU 中選擇 * where id=1 or 1=1 以檢查所有資料。 這就是所謂的SQL注入攻擊,想想就很可怕,使用select * from stu where id=?不會發生此問題。
當然,我給大家舉個最簡單的例子,沒有乙個程式設計師會犯這樣的錯誤,但是它說明了乙個問題,那就是第乙個SQL不安全,NB裡有很多人。 你不是最NB的,所以使用更安全的,當然沒有絕對的安全。
這就是我所知道的,我希望你能對這兩個sql有所了解。
-
id=1 是 ID 為 1 的查詢資料,id=? 一起。