Как найти все имена на а mysql

I want to find the data from table artists where name is start with letter a, b, c.

i.e. 
My o/p should contain
Adam
Alan
Bob
Ben
Chris
Cameron

But not GlAin, doC, dolBie

asked Dec 23, 2009 at 8:06

Salil's user avatar

SalilSalil

46.3k21 gold badges122 silver badges156 bronze badges

In MySQL use the '^' to identify you want to check the first char of the string then define the array [] of letters you want to check for.

Try This

SELECT * FROM artists WHERE name REGEXP '^[abc]'

TarangP's user avatar

TarangP

2,7005 gold badges20 silver badges39 bronze badges

answered Mar 7, 2016 at 7:14

mike's user avatar

mikemike

4211 gold badge5 silver badges6 bronze badges

1

You can use like ‘A%’ expression, but if you want this query to run fast for large tables I’d recommend you to put number of first button into separate field with tiny int type.

answered Dec 23, 2009 at 12:49

Dienow's user avatar

DienowDienow

1,26712 silver badges13 bronze badges

Try this:

select * from artists where name like "A%" or name like "B%" or name like "C%"

answered Dec 23, 2009 at 8:08

Dumb Guy's user avatar

Dumb GuyDumb Guy

3,28621 silver badges23 bronze badges

1

One can also use RLIKE as below

SELECT * FROM artists WHERE name RLIKE '^[abc]';

answered Oct 12, 2016 at 6:29

madhu131313's user avatar

madhu131313madhu131313

6,9317 gold badges39 silver badges53 bronze badges

Try this simple select:

select * 
from artists 
where name like "a%"

gofr1's user avatar

gofr1

15.7k11 gold badges42 silver badges52 bronze badges

answered May 19, 2017 at 8:31

Mohammed Jafar's user avatar

try using CHARLIST as shown below:

select distinct name from artists where name RLIKE '^[abc]';

use distinct only if you want distinct values only.
To read about it Click here.

answered Nov 5, 2016 at 14:46

curious visitor's user avatar

5

I’d assume

SELECT * FROM artists WHERE name >= 'a' and name < 'd'

will perform good, as long as name is indexed.

answered Apr 26 at 12:59

jarlh's user avatar

jarlhjarlh

41.8k8 gold badges43 silver badges63 bronze badges

Ваша конфиденциальность

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

7 ответов

Вы можете использовать выражение «A%», но если вы хотите, чтобы этот запрос выполнялся быстро для больших таблиц, я бы рекомендовал вам поместить номер первой кнопки в отдельное поле с крошечным типом типа.

Dienow
23 дек. 2009, в 13:04

Поделиться

Попробуйте следующее:

select * from artists where name like "A%" or name like "B%" or name like "C%"

Dumb Guy
23 дек. 2009, в 09:23

Поделиться

В mysql используйте ‘^’, чтобы определить, что вы хотите проверить первый char строки, затем определите массив [] lettters, который вы хотите проверить.

Попробуйте это

SELECT * FROM artist WHERE name REGEXP ‘^ [abc]’

mike
07 март 2016, в 08:40

Поделиться

Можно также использовать RLIKE, как показано ниже

SELECT * FROM artists WHERE name RLIKE '^[abc]';

ZenOut
12 окт. 2016, в 08:26

Поделиться

Попробуйте этот простой выбор:

select * 
from artists 
where name like "a%"

Mohammed Jafar
19 май 2017, в 09:17

Поделиться

попробуйте использовать CHARLIST, как показано ниже:

select distinct name from artists where name RLIKE '^[abc]';

использовать разные, только если вам нужны только отдельные значения.
Чтобы прочитать об этом, нажмите здесь.

curious visitor
05 нояб. 2016, в 15:03

Поделиться

Ещё вопросы

  • 0Вставка латинских символов в mysql с использованием php?
  • 0Не удалось изменить объект javascript
  • 0как я могу сделать выпадающее меню на всю ширину
  • 1Как создать внутренние ссылки с JS-XLSX
  • 0Python утилизация данных с неправильной HTML-структурой
  • 1Как поделиться кодом котлина в IntelliJ IDEA между рабочим столом, android и сервером?
  • 0AngularJS — как передать объект (созданный на лету) с интерполированными данными в пользовательскую директиву
  • 0IE8 & 9 — нет объекта ответа jquery ajax
  • 1Использование ConcurrentDictionary в веб-сервисе
  • 0Исправлено Nav, содержимое сайта затем перемещается вверх — Как это предотвратить?
  • 1ждать процесса в процессе
  • 1Игра Java Hangman — замена персонажей
  • 0Как я могу поместить функции в другой файл CS?
  • 1Удалить строку из файла с пустыми полями, используя Python
  • 0Какую версию Nsight можно использовать в CUDA5.5 в VisualStudio2010?
  • 0Полная ширина фона внутри div
  • 0PHP код превращает файл не результат в HTML через jQuery
  • 1android.R.anim.fade_out Не работает хорошо, просто исчезает в работе
  • 1Создание выполнения элемента с помощью KitItems с использованием NetSuite SuiteTalk в C #
  • 0выходное значение с тем же шаблоном
  • 0Codeigniter — как вернуть номер массива в контроллер
  • 0MySql объединяет два столбца даты в один столбец по запросу
  • 1Android Constraint Layout alignemnt
  • 0AngularJS-контроллер не работает в v1.4.1
  • 1Подключение эмулятора Windows Phone 8 к хост-машине
  • 1Модуль веб-модуля RefrenceError не определен
  • 1Не удается правильно прочитать словарь, сохраненный как файл json
  • 0проверка, является ли число палиндромом в C ++
  • 1pyspark — как я могу удалить все дублирующиеся строки (игнорируя определенные столбцы) и не оставляя после себя пары дубликатов?
  • 1Аутентификация FireBase mAuth.createUserWithEmailAndPassword (электронная почта, пароль) ошибка
  • 0Passport JS auth middleware проблема
  • 0Как преобразовать подзапрос MySql в подзапрос HQL
  • 1оператор if, включая hover () и ширину окна
  • 1Spinner с подчеркиванием и специальной стрелкой вправо
  • 0случайная работа cron
  • 0Как я могу создать новые экземпляры разных классов хорошим способом?
  • 1Добавить новый элемент в XML-файл с помощью Java DOM
  • 1Мгновенная функция Android: в этом подходе есть что-то принципиальное?
  • 1Отрегулируйте элемент в панели навигации слева, если нет значка
  • 0Изменяемая ручка блокирует перетаскиваемое взаимодействие
  • 1вернуться в исходное состояние при снятии флажка
  • 0Ошибка в AngularJS? Различные результаты на Chrome (43) и Firefox (38.0.5)
  • 1Дата в UTC зоне на Java с использованием Joda-Time
  • 0Нам понадобится несколько советов: я хочу добавить и отобразить объекты в ArrayList с помощью jTable, а затем добавить эти записи в базу данных SQL
  • 0возмущение сигнала с нормальным шумом в C ++
  • 1Интерфейс между контроллером и сервисным уровнем
  • 1Словарь головоломки
  • 1При написании программы для «броска костей» необходимо принять число и бросить число раз, а затем вывести это число 1-6
  • 1DLL должна завершить свою работу, хотя ссылочное приложение закрывается
  • 0Javascript / JQuery: как что-то переопределить?

Оператор LIKE

LIKE используется для поиска записей, данные которых совпадают с заданным шаблоном.

Для создания шаблона используются два специальных символа.

  • % — представляет собой неопределенное количество любых символов.
  • _ — представляет только один любой символ.

Синтаксис LIKE

mysql> SELECT column1, column2, ... , columnN
    -> FROM table_name
    -> WHERE column LIKE 'pattern';

В таблице ниже представлены несколько возможных вариантов шаблона оператора LIKE.

Шаблон LIKE Описание
LIKE ‘a%’ Значение начинается с символа «a»
LIKE ‘%a’ Значение заканчивается на символ «a»
LIKE ‘%a%’ Значение имеет символ «a» в любом месте
LIKE ‘_a%’ Значение имеет символ «a» на втором месте
LIKE ‘a__’ Значение состоит из 3 символов, первый «a»
LIKE ‘a%d’ Значение начинается с символа «a» и заканчивается на символ «d»

Рассмотрим несколько примеров.

Для всех примеров будем использовать условную базу данных книжного магазина — Bookstore и таблицу books.

mysql> USE Bookstore;

Database changed
mysql> SELECT id, title, author, price, shelf_position FROM books;
+----+---------------------------+--------------------+--------+----------------+
| id | title                     | author             | price  | shelf_position |
+----+---------------------------+--------------------+--------+----------------+
|  1 | Дубровский (Акция)        | Александр Пушкин   | 230.00 | 023A12         |
|  2 | Нос (Акция)               | Николай Гоголь     | 255.20 | 003C05         |
|  3 | Мастер и Маргарита        | Михаил Булгаков    | 263.00 | 004D11         |
|  4 | Мёртвые души (Акция)      | Николай Гоголь     | 173.00 | 007A15         |
|  5 | Преступление и наказание  | Фёдор Достоевский  | 245.00 | 004E08         |
|  6 | Война и мир               | Лев Толстой        | 341.00 | 020F01         |
|  7 | Анна Каренина             | Лев Толстой        | 346.00 | 004D05         |
|  8 | Отцы и дети               | Иван Тургенев      | 371.00 | 001H10         |
|  9 | Собачье сердце            | Михаил Булгаков    | 232.00 | 006A19         |
| 10 | Бесы                      | Фёдор Достоевский  | 212.00 | 028A03         |
+----+---------------------------+--------------------+--------+----------------+
10 rows in set (0.00 sec)

Найдем все записи с книгами, в названии которых есть слово «Акция».

mysql> SELECT id, title, author, price, shelf_position
    -> FROM books
    -> WHERE title LIKE '%Акция%';
+----+---------------------------+--------------------+--------+----------------+
| id | title                     | author             | price  | shelf_position |
+----+---------------------------+--------------------+--------+----------------+
|  1 | Дубровский (Акция)        | Александр Пушкин   | 230.00 | 023A12         |
|  2 | Нос (Акция)               | Николай Гоголь     | 255.20 | 003C05         |
|  4 | Мёртвые души (Акция)      | Николай Гоголь     | 173.00 | 007A15         |
+----+---------------------------+--------------------+--------+----------------+
3 rows in set (0.00 sec)

В колонке shelf_position представлен код местоположения книги, например код — 004E08 означает: 4 ряд, шкаф Е, полка 8. Найдем все записи с книгами, которые хранятся на полках шкафа D на 4 ряду. 

mysql> SELECT id, title, author, price, shelf_position
    -> FROM books
    -> WHERE shelf_position LIKE '004D__';
+----+---------------------------+--------------------+--------+----------------+
| id | title                     | author             | price  | shelf_position |
+----+---------------------------+--------------------+--------+----------------+
|  3 | Мастер и Маргарита        | Михаил Булгаков    | 263.00 | 004D11         |
|  7 | Анна Каренина             | Лев Толстой        | 346.00 | 004D05         |
+----+---------------------------+--------------------+--------+----------------+
2 rows in set (0.00 sec)

LIKE можно использовать с логическим оператором NOT, и находить записи, которые НЕ соответствуют заданному шаблону.

mysql> SELECT id, title, author, price, shelf_position
    -> FROM books
    -> WHERE author NOT LIKE 'Николай%';
+----+--------------------------------+-----------------------------------+--------+----------------+
| id | title                          | author                            | price  | shelf_position |
+----+--------------------------------+-----------------------------------+--------+----------------+
|  1 | Дубровский (Акция)             | Александр Пушкин                  | 230.00 | 023A12         |
|  3 | Мастер и Маргарита             | Михаил Булгаков                   | 263.00 | 004D11         |
|  5 | Преступление и наказание       | Фёдор Достоевский                 | 245.00 | 004E08         |
|  6 | Война и мир                    | Лев Толстой                       | 341.00 | 020F01         |
|  7 | Анна Каренина                  | Лев Толстой                       | 346.00 | 004D05         |
|  8 | Отцы и дети                    | Иван Тургенев                     | 371.00 | 001H10         |
|  9 | Собачье сердце                 | Михаил Булгаков                   | 232.00 | 006A19         |
| 10 | Бесы                           | Фёдор Достоевский                 | 212.00 | 028A03         |
+----+--------------------------------+-----------------------------------+--------+----------------+
10 rows in set (0.00 sec)

Оператор REGEXP

Поиск значений по шаблонам также возможен с помощью регулярных выражений, используя оператор REGEXP.

RLIKE является синонимом для оператора REGEXP.

Синтаксис REGEXP

mysql> SELECT column1, column2, ... , columnN
    -> FROM table_name
    -> WHERE column REGEXP 'pattern';

Ниже представлены несколько примеров использования регулярных выражений в MySQL.

Найдем все записи книг, имя автора которых начинается с букв «А» или «Л».

mysql> SELECT id, title, author, price, shelf_position
    -> FROM books
    -> WHERE author REGEXP '^(А|Л)';
+----+---------------------------+--------------------+--------+----------------+
| id | title                     | author             | price  | shelf_position |
+----+---------------------------+--------------------+--------+----------------+
|  1 | Дубровский (Акция)        | Александр Пушкин   | 230.00 | 023A12         |
|  6 | Война и мир               | Лев Толстой        | 341.00 | 020F01         |
|  7 | Анна Каренина             | Лев Толстой        | 346.00 | 004D05         |
+----+---------------------------+--------------------+--------+----------------+
3 rows in set (0.00 sec)

Найдем все книги, в названии которых есть слово «война».

mysql> SELECT id, title, author, price, shelf_position
    -> FROM books
    -> WHERE title REGEXP '(В|в)ойна';
+----+----------------------+-----------------------+--------+----------------+
| id | title                | author                | price  | shelf_position |
+----+----------------------+-----------------------+--------+----------------+
|  6 | Война и мир          | Лев Толстой           | 341.00 | 020F01         |
+----+----------------------+-----------------------+--------+----------------+
1 row in set (0.00 sec)

Посмотрим какие книги находятся в шкафах на 004 ряду.

mysql> SELECT id, title, author, price, shelf_position
    -> FROM books
    -> WHERE shelf_position REGEXP '^004.*';
+----+---------------------------+--------------------+--------+----------------+
| id | title                     | author             | price  | shelf_position |
+----+---------------------------+--------------------+--------+----------------+
|  3 | Мастер и Маргарита        | Михаил Булгаков    | 263.00 | 004D11         |
|  5 | Преступление и наказание  | Фёдор Достоевский  | 245.00 | 004E08         |
|  7 | Анна Каренина             | Лев Толстой        | 346.00 | 004D05         |
+----+---------------------------+--------------------+--------+----------------+
3 rows in set (0.00 sec)

0 / 0 / 0

Регистрация: 08.01.2018

Сообщений: 6

1

Получить список сотрудников чьи инициалы например а а

08.01.2018, 21:24. Показов 11591. Ответов 11


Студворк — интернет-сервис помощи студентам

подскажите пожалуйста как создать запрос на выборку данных из таблицы, такой, чтобы получить список сотрудников чьи инициалы например а а



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

08.01.2018, 21:24

Ответы с готовыми решениями:

Найти список телефонов сотрудников, чьи фамилии начинаются с заданной буквы
Здравствуйте, мне необходимо доработать код. Мой код ищет фамилии по первой букве,а мне нужно,чтобы…

Получить список сотрудников пенсионного возраста на сегодняшний день с указанием стажа работы
Написать программу, которая позволяет получить следующую информацию: список сотрудников пенсионного…

Вывести информацию о сотруднике, список сотрудников пенсионного возраста, средний оклад сотрудников отдела
Дан файл, содержащий информацию о сотрудниках отдела учреждения. Структура записи файла:…

Известны фамилии сотрудников, инициалы, номера телефонов. Найти номер телефона по фамилии и инициалам владельца
помогите с Исходником.
Известны фамилии сотрудников, инициалы, номера телефонов. Найти номер…

11

AutoSearches

14 / 14 / 7

Регистрация: 05.01.2018

Сообщений: 30

08.01.2018, 23:27

2

SQL
1
SELECT * FROM Employers WHERE LEFT(LastName, 1)='A' AND LEFT(FirstName, 1)='A'



1



0 / 0 / 0

Регистрация: 08.01.2018

Сообщений: 6

09.01.2018, 00:56

 [ТС]

3

не получается… нужно что-нибудь вставить в скобки {}

SELECT * FROM название табл WHERE FirstN LIKE ‘ {} ‘ {} FatherN LIKE ‘ {} ‘



0



AutoSearches

14 / 14 / 7

Регистрация: 05.01.2018

Сообщений: 30

09.01.2018, 10:15

4

SQL
1
SELECT * FROM название табл WHERE FirstN LIKE 'A%' AND FatherN LIKE 'A%'



1



0 / 0 / 0

Регистрация: 08.01.2018

Сообщений: 6

09.01.2018, 16:27

 [ТС]

5

спасибо, но пишет что в поле допустимы только логические операторы, не могу тест сделать …

и еще никак не получается составить запрос, который будет получать даты платежей и имена получателей, без повторов.
SELECT DISTING paydata , name FROM expenses;
там еще из предложенных элементов есть WHERE BY * LIKE num ORDER value INTO RECEIVER=RECEIVERS.num



0



AutoSearches

14 / 14 / 7

Регистрация: 05.01.2018

Сообщений: 30

09.01.2018, 16:40

6

Первый вариант как раз логические операторы «=»

MySQL
1
SELECT * FROM Employers WHERE LEFT(LastName, 1)='A' AND LEFT(FirstName, 1)='A'

можно GROUP BY

MySQL
1
2
SELECT paydata , name FROM expenses
GROUP BY paydata , name;



1



0 / 0 / 0

Регистрация: 08.01.2018

Сообщений: 6

09.01.2018, 20:06

 [ТС]

7

спасибо. но это все равно не пропускает тест



0



14 / 14 / 7

Регистрация: 05.01.2018

Сообщений: 30

09.01.2018, 20:33

8

а что за тест такой может лику скинете или скиншот



0



0 / 0 / 0

Регистрация: 08.01.2018

Сообщений: 6

09.01.2018, 21:20

 [ТС]

9

вот такие тесты

Миниатюры

Получить список сотрудников чьи инициалы например а а
 

Получить список сотрудников чьи инициалы например а а
 



0



14 / 14 / 7

Регистрация: 05.01.2018

Сообщений: 30

09.01.2018, 22:07

10

Ну в первом точно %А AND %А главное чтоб русские буквы были %А
А второй SELECT DISTING paydata, name FROM expenses; может просто с другой таблицы
например:
SELECT DISTING paydata, name FROM receivers;



1



0 / 0 / 0

Регистрация: 08.01.2018

Сообщений: 6

11.01.2018, 12:48

 [ТС]

11

Спасибо )
но с тестом что-то не так. не проходит и все тут…

Добавлено через 13 часов 34 минуты
A% and A% . А буквы нужно было русскими вводить, а остальное англ.



0



14 / 14 / 7

Регистрация: 05.01.2018

Сообщений: 30

11.01.2018, 12:52

12

Да, точно, сорири, опечатка, конечно А% это я что то за тупил , в четвертом сообщении я так и написал



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

11.01.2018, 12:52

Помогаю со студенческими работами здесь

Вывести: список ровесников и список сотрудников со стажем, большим заданного числа K
Не могу реализовать код к задаче

Дан список N работников с указанием фамилии, даты рождения,…

Вывести список ровесников и список сотрудников со стажем, большим заданного числа
Дан список N сотрудников с указанием фамилии, даты рождения,стажа работы и зарплаты.Вывести: список…

Массив: вывести список ровесников и список сотрудников со стажем, большим заданного числа K
Дан Список N сотрудников с указанием фамиллии , даты рождения, стажа работы, и зарплаты. Вывести…

Массив: Вывести список ровесников и список сотрудников со стажем, большим заданного числа K
Дан Список N сотрудников с указанием фамиллии , даты рождения, стажа работы, и зарплаты. Вывести…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

12

Понравилась статья? Поделить с друзьями:
  • Как найти работу под углом
  • Как составить композицию для фотографии
  • Принтер пишет нет картриджа как исправить
  • Как найти своих предков в россии архив
  • Как найти вероятность события онлайн