簡體   English   中英

sql中的通配符

[英]Wildcards in sql

通配符如何在sql中工作。 如果我select * from table它會給出所有字段。 但如果我select a* from table它會給出錯誤。 它不應該給所有以a開頭的字段嗎? 我有點困惑。

SELECT * FROM tableName字面意思是“從tableName中選擇所有列”。

菲利普·格雷厄姆對他的回答是正確的,他要求使用a.*

通配符可幫助您搜索您不確定的字符串。 它們幾乎總是與LIKE關鍵字一起使用,並放在WHERE子句或搜索的CASE語句中。

有兩個通配符 - %_

%用於查找長度為0或更多的任何字符串。 例如,

SELECT firstName
  FROM persons
 WHERE UPPER(firstName) LIKE 'J%'

這將返回所有firstNamepersons ,其中姓與字母開頭表J 這將歸還“Jason”,“James”,“Josh”,“Jessica”等等。

請注意, UPPER功能用於消除區分大小寫。

接下來,您可以使用_字符查找是否存在單個字符。

SELECT firstName
  FROM persons
 WHERE UPPER(firstName) LIKE 'J_M__'

這將返回“James”,“Jimmy”,“Jamos”,“Jxmx”並過濾掉任何“Jason”,“Jaguar”等。

欲了解更多信息,請點擊

您可以使用。*,其中a是表的名稱。 例如在

select a.* from a left join b on a.id = b.id 

您只返回a中的字段而不是b中的字段

如果要在SQL中使用通配符,則需要使用LIKE鍵入要過濾的列。

SELECT * 
FROM table
WHERE column_name LIKE 'a%';

這將為您提供該列上以“a”開頭的所有內容。

如果您不想要所有列,則必須在查詢中明確指定所需的每個列的名稱。

SELECT LastName, FirstName, Address 
FROM table

因此,如果您想要所有以'a'開頭的字段,則必須在SELECT語句中為所有以'a'開頭的字段命名。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM