Mithilfe von IN lassen sich in Kombination mit WHERE Spalten auf mehrere Werte hin überprüfen. So können mehrere Konditionen geprüft werden, ohne, dass auf unübersichtliche Art und Weise mehrere WHERE-Klauseln zu definieren.

Syntax

WHERE <Spalte> IN (<Werte>);

Beispiel

Es sollen die Artikel mit den Nummern 1, 4 und 7 angezeigt werden:

mysql> SELECT * FROM ARTIKEL WHERE ART_Nr IN (1, 4, 7);
+--------+------------------------+-------------------------------+-------------+---------------+
| ART_Nr | ART_Bezeichnung        | ART_Details                   | ART_Auslauf | ART_StckPreis |
+--------+------------------------+-------------------------------+-------------+---------------+
|      1 | Thin-Client BAER       | 1.6 GHZ,Sound,VGA,USB         |        NULL |        199.99 |
|      4 | Server CONTRALION      | 3.4 Ghz,DC,SCSI,RAID          |           1 |       1299.99 |
|      7 | Workstation CONTENANCE | 3.0 Ghz,SAS,Sound,DVI+DP,USB3 |        NULL |       1399.99 |
+--------+------------------------+-------------------------------+-------------+---------------+
3 rows in set (0.06 sec)

Ohne IN wäre diese Abfrage ziemlich verwirrend, da hierfür 3 Vergleiche definiert werden müssten:

mysql> SELECT * FROM ARTIKEL WHERE ART_Nr = 1 OR ART_Nr = 4 OR ART_Nr = 7;
...