SELECT in SELECT und IN

Mit dem IN-Statement kannst du überprüfen, ob ein Element in einer Liste enthalten ist, z.B.

SELECT name FROM world WHERE continent IN ('Europe', 'Asia')

zeigt alle Länder an, die in Europa oder Asien liegen.

Die Liste kannst du auch mit HILFE einer SELECT IN SELECT Anweisung generieren:

SELECT name 
  FROM world 
 WHERE continent IN (SELECT continent
                       FROM world
                      WHERE continent LIKE '%e%')

Dies allerdings geht nicht:

select name 
from world
where name IN (
    select name, continent
    from world
    where name like '%e%'     ) 

Der Grund ist folgender: Rückgabe der inneren SELECT-Abfrage darf max. aus einer Spalte bestehen, damit der Inhalt als Liste interpretiert werden kann.

Last modified: Wednesday, 10 March 2021, 1:53 PM