Mysql
 sql >> база данни >  >> RDS >> Mysql

Различен подход за използване на клауза IN в MySql

повдигнахте въпрос, свързан с моя отговор тук .

В просто обяснение, използвайки тези твърдения по-долу,

SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)

Първото изявление включва само ЕДНА КОЛОНА което се сравнява с множество стойности .

SELECT  *
FROM   TableName
WHERE  column1 = 1 OR
       column1 = 2 OR
       column1 = 3 OR
       column1 = 4

докато второто изявление е A VALUE което е сравнено с множество колони .

SELECT  *
FROM   TableName
WHERE  column1 = 1 OR
       column2 = 1 OR
       column3 = 1 OR
       column4 = 1

които са малко по-различни един от друг.

АКТУАЛИЗИРАНЕ 1

Ето третата форма на IN клауза:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте стойността за дата и час в низ

  2. Стойност по подразбиране СЕГА от две колони на MySQL ГРЕШКА 1067

  3. Как мога да организирам изобилието от mysql таблици?

  4. Използване на шел скрипт за вмъкване на данни в отдалечена база данни MYSQL

  5. Може ли MySQL да използва индекси, когато между условията има ИЛИ?