2016-09-28 1 views
-3

Für den Datensatz bin ich ein Neuling, wenn es um SQL geht. Ich übe und lerne die Syntax kennen und wie alles strukturiert ist. Ich verwende this website als einen Crashkurs in SQL. Wenn Sie dem Link folgen und sich die Frage Nr. 5 anschauen, geben Sie in den Anweisungen an, dass nur Daten zu drei Ländern in Frankreich, Deutschland und Italien abgerufen werden sollen.Mehrere Strings in WHERE-Klausel hinzufügen - SQL

Mein Dilemma ist, dass ich nicht verstehe, wie mehrere Strings strukturiert sein sollten.

Hier ist mein Code:

SELECT name, population 
FROM world 
WHERE name = 'france'; 

Der obige Code eine Tabelle mit den beiden ausgewählten Spalten erzeugen, und der Zeile, die französischen Daten enthält, aber ich brauche noch zwei weitere Zeilen mit Daten. Allerdings, wenn ich versuche, es zu bearbeiten, um die Ergebnisse zu erzielen, ich brauche es nicht funktionieren wird:

SELECT name, population 
FROM world 
WHERE name = 'germany' 'france' 'italy'; 

Der obige Code nur erzeugt Spalten und die Reihen verschwinden. Ich brauche meinen Tisch, um den Namen und die Bevölkerung aller drei Länder einzutragen. Ich habe nach einer einfachen Antwort gesucht, wie man mehrere Zeichenketten richtig hinzufügt und nichts schlüssiges gefunden hat.

Obwohl mein Problem relativ einfach ist, suche ich immer noch Hilfe von allen, also bitte helfen!

Vielen Dank!

+3

'SELECT Name, Bevölkerung FROM Welt WHERE Name IN ('Deutschland', 'Frankreich', 'Italien');' – wildplasser

+2

Schauen Sie sich das zweite Beispiel auf [Grundlagen wählen] (http://sqlzoo.net/wiki/ SELECT_basics). –

Antwort

5

Verwenden Sie den Operator IN, mit dem Sie mehrere Werte in der WHERE-Klausel eingeben können.

Der Code sollte wie folgt aussehen:

SELECT name, population 
FROM world 
WHERE name IN ('france','Germany','Italy'); 
+0

Vielen Dank! – Anthony

0

Sie viele Kriterien in einer WHERE Klausel setzen können. Verwenden Sie AND und OR, um sie zu kombinieren (und bei Bedarf Klammern, wie in where a = 1 and (b = 2 or c = 3)). So Ihre Abfrage kann als

SELECT name, population 
FROM world 
WHERE name = 'germany' OR name = 'france' OR name = 'italy'; 

geschrieben werden, wie gezeigt wurde, jedoch, wenn für mehrere Werte eines Attributs suchen können Sie alle OPs mit einer IN Klausel ersetzen:

WHERE name IN ('germany', 'france', 'italy') 

das ist mehr lesbar und daher vorzuziehen.

+0

Vielen Dank! – Anthony