13 个答案:

答案 0 :(得分:29)

要按顺序列出以A或B开头的员工姓名......

select employee_name

from employees

where employee_name LIKE 'A%' OR employee_name LIKE 'B%'

order by employee_name

如果您使用的是Microsoft SQL Server,则可以使用

....

where employee_name LIKE '[A-B]%'

order by employee_name

这不是标准的SQL,虽然它只是转换为以下的。

WHERE employee_name >= 'A'

AND employee_name < 'C'

对于所有变体,您需要考虑是否要包含重音变体,例如Á,并测试上面的查询是否在您的RDBMS和排序规则选项上执行了这些操作。

答案 1 :(得分:5)

select columns

from table

where (

column like 'a%'

or column like 'b%' )

order by column asc

答案 2 :(得分:2)

如果需要查找一系列起始字符,正则表达式可以正常工作。以下查找以A,B,C或D开头的所有员工姓名,并添加“UPPER”调用,以防名称在数据库中以起始小写字母显示。我的查询适用于Oracle(我没有测试其他数据库)。以下将返回例如:

亚当斯

亚当斯

院长

院长

此查询还通过&#34; lower&#34;忽略ORDER BY中的大小写。拨打:

SELECT employee_name

FROM employees

WHERE REGEXP_LIKE(UPPER(TRIM(employee_name)), '^[A-D]')

ORDER BY lower(employee_name)

答案 3 :(得分:1)

select employee_name

from employees

where employee_name LIKE 'A%' OR employee_name LIKE 'B%'

order by employee_name

答案 4 :(得分:0)

从A到Z:

select employee_name from employees ORDER BY employee_name ;

从Z到A:

select employee_name from employees ORDER BY employee_name desc ;

答案 5 :(得分:0)

Oracle:

只是感觉以不同的方式来做。缺点:它不执行全索引扫描。但是仍然给出结果,可以在子字符串中使用它。

select employee_name

from employees

where lpad(employee_name,1) ='A'

OR lpad(employee_name,1) = 'B'

order by employee_name

我们可以在SQL Server中使用LEFT代替lpad。仍然建议使用此方法不是一个好主意。

答案 6 :(得分:0)

cfengineers说了什么,除了听起来你也想要对它进行排序。

select columns

from table

where (

column like 'a%'

or column like 'b%' )

order by column

也许你最好查看一些关于SQL的教程,这很有意思。

答案 7 :(得分:0)

如果您询问字母顺序,则语法为:

SELECT * FROM table ORDER BY column

我可以在不知道您的表和字段名称的情况下提供的最佳示例:

SELECT * FROM employees ORDER BY name

答案 8 :(得分:0)

select *

from stores

where name like 'a%' or

name like 'b%'

order by name

答案 9 :(得分:0)

select name_last, name_first

from employees

where name_last like 'A%' or name_last like 'B%'

order by name_last, name_first asc

答案 10 :(得分:0)

在这里我从问题中理解的是从&#34; a&#34;然后&#34; b&#34;

例如:

阿沛

阿布舍克巴克

阿比纳夫

所以应该有两个条件,两者都应该是真的意味着你不能使用&#34; OR&#34;操作者

订购不是强制性的,但如果你使用它会很好。

Select e_name from emp

where e_name like 'a%' AND e_name like '_b%'

Ordered by e_name

答案 11 :(得分:0)

我们也可以使用REGEXP

select employee_name

from employees

where employee_name REGEXP '[ab].*'

order by employee_name

答案 12 :(得分:-1)

employeeName是表employee中的列名

'a%'获取字符串(此处的EmployeeName)以a开头,b也相同

select employeeName

from employee where employeeName LIKE 'a%'

OR employeeName LIKE 'b%'

order by employeeName