Heim > Datenbank > MySQL-Tutorial > Wie kann ich NULL-Werte aus MySQL SELECT-Anweisungen ausschließen?

Wie kann ich NULL-Werte aus MySQL SELECT-Anweisungen ausschließen?

Susan Sarandon
Freigeben: 2025-01-15 16:37:43
Original
239 Leute haben es durchsucht

How Can I Exclude NULL Values from MySQL SELECT Statements?

NULL-Werte in MySQL-SELECT-Abfragen herausfiltern

Frage: Wie kann ich mit MySQL SELECT-Anweisungen nur Nicht-Null-Werte abrufen?

Standard-MySQL-SELECT *-Anweisungen umfassen alle Spalten, auch diejenigen mit NULL-Werten. Um nur Nicht-Null-Daten abzurufen, verwenden Sie die IS NOT NULL-Bedingung:

SELECT * 
FROM your_table
WHERE YourColumn IS NOT NULL;
Nach dem Login kopieren

Diese Abfrage gibt Zeilen zurück, in denen YourColumn kein NULL enthält. MySQL unterstützt auch die Negation des nullsicheren Gleichheitsoperators, obwohl dies kein Standard-SQL ist:

SELECT *
FROM your_table
WHERE NOT (YourColumn <=> NULL);
Nach dem Login kopieren

Der Umgang mit mehreren Spalten erfordert eine andere Strategie. Eine Methode verwendet mehrere SELECT-Anweisungen und UNION ALL:

SELECT val1 AS val
FROM your_table
WHERE val1 IS NOT NULL
UNION ALL
SELECT val2
FROM your_table
WHERE val2 IS NOT NULL;
Nach dem Login kopieren

Dieser Ansatz prüft jede Spalte einzeln und kombiniert die Ergebnisse. Aufgrund mehrerer Tabellenscans kann es jedoch ineffizient sein.

Um möglicherweise mehrere Scans zu vermeiden, ziehen Sie eine CASE-Anweisung mit einem Cross-Join in Betracht:

SELECT CASE idx
         WHEN 1 THEN val1
         WHEN 2 THEN val2
       END AS val
FROM your_table
CROSS JOIN (SELECT 1 AS idx UNION ALL SELECT 2) t
HAVING val IS NOT NULL;
Nach dem Login kopieren

Dadurch wird der erste Nicht-Null-Wert aus val1 und val2 für jede Zeile ausgewählt und der Spalte val zugewiesen.

Das obige ist der detaillierte Inhalt vonWie kann ich NULL-Werte aus MySQL SELECT-Anweisungen ausschließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage