[英]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%'
這將返回所有firstName
從persons
,其中姓與字母開頭表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.