Mehrere Anfangsbuchstaben zum Sortieren der Länder
P粉797855790
P粉797855790 2024-03-30 22:35:22
0
2
547

In meiner High-School-Klasse lernen wir gerade etwas über MySQL und wie man Elemente anhand bestimmter Kriterien auswählt und sortiert. Zum Beispiel

Select CountryCode from Country where code like '_W%'

Dieser Code funktioniert in meiner Datenbank, aber es gibt ein Problem, das ich nicht lösen kann:

Rufen Sie alle Daten für Länder ab, die mit den Zeichen „N“, „O“ oder „P“ beginnen. sortiere sie Alphabetisch nach Namen geordnet.

Ich verstehe, dass wir Platzhalter verwenden müssen und ich habe alles versucht, aber es funktioniert einfach nicht, es werden entweder nur Länder angezeigt, die mit N beginnen, oder die vollständige Liste mit „null“

Meine aktuelle Codeabfrage ist

SELECT * from country where name like 'N%' 'O%' 'P%' order by name

Ich würde mich über jede Hilfe freuen, sobald ich andere Themen habe, mit denen ich mich befassen muss

Die Antwort sieht in etwa so aus: Aber detaillierter, mit mehr Spalten und Zeilen, mit Daten wie BIP, Lebenserwartung usw.

Name Festland
Namibia Afrika
Oman Asien
Pakistan Asien
-------- --------------

Danke Sohail für die Antwort, es hat funktioniert!

P粉797855790
P粉797855790

Antworte allen(2)
P粉587780103
...name LIKE 'N%' OR name LIKE 'O%' OR name LIKE 'P%'

不会非常高效,因为它将在内部被视为具有模式匹配的 3 个子查询。此外,OR 使得引擎有必要检查重复项 - 尽管我们知道没有重复项。 虽然其中大部分(但不是全部)将由优化器修复,但这样写会更好(也更易读):

select * from country
 where left(name, 1) in 'NOP'
 order by name
P粉115840076

这应该有效,因为您必须编写 name LIKE 'N%' OR name LIKE ...

SELECT * FROM country WHERE name LIKE 'N%' OR name LIKE 'O%' OR name LIKE 'P%' ORDER BY name
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage