繁体   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