[英]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.