Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
— |
computer:tutorials:sql:in [2011/03/02 15:53] (aktuell) christian angelegt |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | 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====== | ||
+ | <code>WHERE <Spalte> IN (<Werte>);</code> | ||
+ | |||
+ | |||
+ | |||
+ | ======Beispiel====== | ||
+ | Es sollen die Artikel mit den Nummern 1, 4 und 7 angezeigt werden: | ||
+ | |||
+ | <code> | ||
+ | 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) | ||
+ | </code> | ||
+ | |||
+ | Ohne **IN** wäre diese Abfrage ziemlich verwirrend, da hierfür 3 Vergleiche definiert werden müssten: | ||
+ | |||
+ | <code> | ||
+ | mysql> SELECT * FROM ARTIKEL WHERE ART_Nr = 1 OR ART_Nr = 4 OR ART_Nr = 7; | ||
+ | ... | ||
+ | </code> |