sql中的通配符

时间:2013-02-23 23:37:10

标签: sql database select

通配符如何在sql中运行。如果我select * from table它会给出所有字段。但如果我做select a* from table则会出错。它不应该给所有以a开头的字段吗? 我有点困惑。

3 个答案:

答案 0 :(得分:4)

SELECT * FROM tableName字面意思是“从tableName中选择所有列”。

菲利普·格雷厄姆在他要求使用a.*

的答案时说得对

通配符可帮助您搜索您不确定的字符串。这些几乎总是与LIKE关键字一起使用,并放入WHERE子句或搜索CASE语句。

有两个通配符 - %_

%用于查找长度为0或更多的任何字符串。 如,

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

这将从firstName表返回所有persons,其中firstname以字母J开头。这将返回“Jason”,“James”,“Josh”,“Jessica”等等。

请注意UPPER函数用于消除区分大小写。

接下来,您可以使用_字符查找是否存在单个字符。

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

这将返回“James”,“Jimmy”,“Jamos”,“Jxmx”并过滤掉任何“Jason”,“Jaguar”等。

有关详情,请点击here

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:3)

如果要在SQL中使用通配符,则需要使用LIKE键入要过滤的列。

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

这将为您提供以该列上的“a”开头的所有内容。

如果您不想要所有列,则必须在查询中明确指定所需的每个列的名称。

SELECT LastName, FirstName, Address 
FROM table

因此,如果您想要所有以'a'开头的字段,则必须在SELECT语句中为所有以'a'开头的字段命名。

希望这会有所帮助。