Как отображать имена сотрудников, начинающиеся с 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