Как отображать имена сотрудников, начинающиеся с a, а затем b в sql
Я хочу отобразить имена сотрудников, имена которых начинаются с a и b, он должен быть похож на список, который отображает сотрудников с "a" в качестве первой буквы, а затем "b" в качестве первой буквы...
чтобы любое тело сообщило мне, какая команда отображает их...
Ответы
Ответ 1
Чтобы получить имена сотрудников, начинающиеся с 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'
Для всех вариантов вам нужно будет подумать, хотите ли вы включить варианты с акцентом, такие как Á
и проверить, выполняют ли вышеуказанные запросы то, что вы хотите с ними, в вашей СУБД и опциях сопоставления.
Ответ 2
select columns
from table
where (
column like 'a%'
or column like 'b%' )
order by column asc
Ответ 3
Регулярные выражения хорошо работают, если вам нужно найти ряд стартовых символов. Следующее находит все имена сотрудников, начинающиеся с A, B, C или D, и добавляет вызов "UPPER" в случае, если имя находится в базе данных со стартовой строчной буквой. Мой запрос работает в Oracle (я не тестировал другие БД). Приведем следующее:
Адамс
Адамса
Дин
декан
Этот запрос также игнорирует случай в ORDER BY посредством "нижнего" вызова:
SELECT employee_name
FROM employees
WHERE REGEXP_LIKE(UPPER(TRIM(employee_name)), '^[A-D]')
ORDER BY lower(employee_name)
Ответ 4
select employee_name
from employees
where employee_name LIKE 'A%' OR employee_name LIKE 'B%'
order by employee_name
Ответ 5
Какие cfengineers сказали, за исключением того, что это похоже на то, что вы тоже захотите его отсортировать.
select columns
from table
where (
column like 'a%'
or column like 'b%' )
order by column
Возможно, вам было бы неплохо проверить некоторые учебные пособия по SQL, это довольно интересно.
Ответ 6
Если вы спрашиваете о алфавитном порядке, синтаксис:
SELECT * FROM table ORDER BY column
лучший пример, который я могу дать, не зная имена ваших таблиц и полей:
SELECT * FROM employees ORDER BY name
Ответ 7
select *
from stores
where name like 'a%' or
name like 'b%'
order by name
Ответ 8
select name_last, name_first
from employees
where name_last like 'A%' or name_last like 'B%'
order by name_last, name_first asc
Ответ 9
Здесь то, что я понял из вопроса, начинается с "a", а затем "b"
например:
Таким образом, должно быть два условия, и оба должны быть истинными, означает, что вы не можете использовать оператор "ИЛИ"
Упорядочено не обязательно, но полезно, если вы используете.
Select e_name from emp
where e_name like 'a%' AND e_name like '_b%'
Ordered by e_name
Ответ 10
От А до Я:
select employee_name from employees ORDER BY employee_name ;
От Z до A:
select employee_name from employees ORDER BY employee_name desc ;
Ответ 11
Оракул: Просто хотел сделать это по-другому. Недостаток: он не выполняет полное сканирование индекса. Но все равно дает результат и может использовать это в подстроке.
select employee_name
from employees
where lpad(employee_name,1) ='A'
OR lpad(employee_name,1) = 'B'
order by employee_name
Мы можем использовать LEFT в SQL Server вместо lpad. Все еще предлагаю не очень хорошая идея использовать этот метод.
Ответ 12
Мы также можем использовать REGEXP
select employee_name
from employees
where employee_name REGEXP '[ab].*'
order by employee_name
Ответ 13
employeeName - это имя столбца в таблице employee
'%' выбирает строки (здесь employeeName) начинается с a и тоже для b
select employeeName
from employee where employeeName LIKE 'a%'
OR employeeName LIKE 'b%'
order by employeeName