我想显示名字以a和b开头的员工姓名,它应该像list一样显示员工的'a'作为第一个字母,然后'b'作为第一个字母......
所以任何身体告诉我显示这些的命令是什么......
答案 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)
cfengineers说了什么,除了听起来你也想要对它进行排序。
select columns
from table
where (
column like 'a%'
or column like 'b%' )
order by column
也许你最好查看一些关于SQL的教程,这很有意思。
答案 5 :(得分:0)
如果您询问字母顺序,则语法为:
SELECT * FROM table ORDER BY column
我可以在不知道您的表和字段名称的情况下提供的最佳示例:
SELECT * FROM employees ORDER BY name
答案 6 :(得分:0)
select *
from stores
where name like 'a%' or
name like 'b%'
order by name
答案 7 :(得分: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
答案 8 :(得分: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
答案 9 :(得分:0)
从A到Z:
select employee_name from employees ORDER BY employee_name ;
从Z到A:
select employee_name from employees ORDER BY employee_name desc ;
答案 10 :(得分: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。仍然建议使用此方法不是一个好主意。
答案 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