Ответ 1
....
WHERE id IN (3, 9, 100, ...)
Я пытаюсь захватить контент, где id = 3 ИЛИ id = 9 ИЛИ id = 100... Имейте в виду, что у меня может быть несколько сотен этих идентификаторов.
Каков наиболее эффективный способ написания моего запроса?
$sql = "SELECT name FROM artists WHERE (id=3 OR id=9 OR .... id-100)"
....
WHERE id IN (3, 9, 100, ...)
Вы можете использовать функцию IN()
:
... WHERE id IN (3, 9, 100);
Синтаксис функции IN()
:
expr IN (value,...)
Проверьте, находится ли значение в пределах набора значений...
Возвращает
1
, еслиexpr
равно любому из значений в спискеIN
, else возвращает0
.
SELECT * FROM table WHERE id IN (1, 2, 3 etc)
И вызовите только нужные столбцы, а не используйте *
!
Вы можете использовать условие SQL IN
SELECT * FROM table WHERE ID IN ('1', '2', '3', '4');
SELECT * FROM table WHERE id IN (1,2,5)
SELECT * FROM table WHERE id IN (1,2,5);
$sql = "SELECT name FROM artist WHERE id REGEXP regex-pattern"