Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Inne podejście do używania klauzuli IN w MySql

zadałeś pytanie związane z moją odpowiedzią tutaj .

W prostym wyjaśnieniu, korzystając z poniższych stwierdzeń,

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

Pierwsze stwierdzenie obejmuje tylko JEDNĄ KOLUMNĘ czyli porównywane z wieloma wartościami .

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

podczas gdy drugie stwierdzenie to WARTOŚĆ czyli w porównaniu z wieloma kolumnami .

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

które nieco się od siebie różnią.

AKTUALIZACJA 1

Oto trzecia forma IN klauzula:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połączenie JDBC MySQL przy użyciu gniazda Unix

  2. MySQL NET Connect 6.7.2 w Visual Studio 2012

  3. Tworzenie i używanie procedur składowanych MySQL — samouczek

  4. „0000-00-00 00:00:00” nie może być reprezentowane jako błąd java.sql.Timestamp

  5. Pokaż obraz BLOB PHP MySQL wraz z innymi danymi