Несколько OR-предложений в MySQL

Я пытаюсь захватить контент, где id = 3 ИЛИ id = 9 ИЛИ id = 100... Имейте в виду, что у меня может быть несколько сотен этих идентификаторов.

Каков наиболее эффективный способ написания моего запроса?

$sql = "SELECT name FROM artists WHERE (id=3 OR id=9 OR .... id-100)"

Ответ 1

  ....
WHERE id IN (3, 9, 100, ...)

Ответ 2

Вы можете использовать функцию IN():

... WHERE id IN (3, 9, 100);

Синтаксис функции IN():

expr IN (value,...)

Проверьте, находится ли значение в пределах набора значений...

Возвращает 1, если expr равно любому из значений в списке IN, else возвращает 0.

Ответ 3

SELECT * FROM table WHERE id IN (1, 2, 3 etc)

И вызовите только нужные столбцы, а не используйте *!

Ответ 4

Вы можете использовать условие SQL IN

SELECT * FROM table WHERE ID IN ('1', '2', '3', '4');

Ответ 5

SELECT * FROM table WHERE id IN (1,2,5)

Ответ 6

SELECT * FROM table WHERE id IN (1,2,5);

Ответ 7

$sql = "SELECT name FROM artist WHERE id REGEXP regex-pattern"