2017-03-13 1 views
0

http://sqlzoo.net/wiki/SELECT_from_WORLD_Tutorial#All_the_vowelsSQLZOO - wählen Sie aus Tutorial Welt 13 #

Äquatorial-Guinea und die Dominikanische Republik haben alle die Vokale (a e i o u) im Namen. Sie zählen nicht, weil sie mehr als ein Wort im Namen haben.

Finden Sie das Land, das alle Vokale und keine Leerzeichen in seinem Namen hat. Sie können den Wortnamen NOT LIKE '% a%' verwenden, um Zeichen von Ihren Ergebnissen auszuschließen.

die Abfrage gezeigt Misses Ländern wie Bahamas und Belarus, weil sie mindestens einen enthalten ‚a‘

ich dachte ich, das viele oder Aussagen der Verschachtelung mit mehr einer Brute-Force-Methode tun könnte, aber das hat nicht funktioniert und ich bin mir nicht sicher, wie man einen Space ausschließen kann.

Antwort

0

Wie der Raum, in dem Wort

AND NOT LIKE '% %' 
6

Sie wollen alle der Vokale auszuschließen, so müssen Sie AND verwenden, nicht OR.

Um etwas von der Antwort auszuschließen, können Sie auch NOT LIKE verwenden. Diese Ausschlussbedingung zählt zusätzlich zu allen Vokalbedingungen, sie muss also ebenfalls mit AND verknüpft werden.

Wenn Sie es nicht selbst lösen können, bewegen Sie den Cursor über diesen Block eine gültige Lösung zu sehen:

SELECT name FROM Welt WHERE%‘name LIKE A%‘ UND Name LIKE '% E%' UND Name LIKE '% I%' UND name LIKE '% O%' UND Name LIKE '% U%' UND Name NOT LIKE '%%'

(siehe this answer's sourcecode für eine richtig formatierte Lösung)

+0

Wie hast du das gemacht * Maus schweben * Trick? Bitte – Rahul

+0

@Rahul Es ist in der erweiterten Markdown-Hilfe unter "[Spoiler] (https://stackoverflow.com/editing-help#spoilers)". – Philipp

+0

Super cool ... Vielen Dank für Ihre Nachricht. – Rahul

0
SELECT name FROM TABLE_NAME 
WHERE name LIKE '%a%' AND 
name LIKE '%e%' AND 
name LIKE '%i%' AND 
name LIKE '%o%' AND 
name LIKE '%u%' AND 
name NOT LIKE '% %' 
+0

Bitte fügen Sie eine Erklärung um Ihren Code nur beantworten. Nur-Code-Antworten werden oft abgelehnt und können gelöscht werden. Vielen Dank – Bugs