Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So fügen Sie mehrere Zeilen in eine einzelne SQL-Abfrage ein – Interviewfrage der Woche #069

Es gibt so viele verschiedene Datenbanken auf der Welt und viele von ihnen verwenden die Sprache SQL für ihre Programmierung. Es ist sehr leicht anzunehmen, dass wir, wenn sie SQL verwenden, problemlos Code von einer Datenbank zu einer anderen Datenbank verwenden können. Leider sieht die Realität ganz anders aus, nicht alle Skripte aus einer Datenbank funktionieren in einer anderen Datenbank. Heute werden wir eine sehr interessante Frage sehen, bei der der Benutzer eine Frage zum Einfügen mehrerer Zeilen in eine einzelne SQL-Abfrage gestellt hat.

Frage: Schreiben Sie einen SQL-Code, der mehrere Zeilen in eine einzelne SQL-Abfrage einfügt. Die Bedingung für dieses Skript war, dass es in SQL Server, MySQL und PostgreSQL funktionieren sollte, ohne eine einzige Codezeile zu ändern.

Antwort: Das Schreiben eines Codes zum Einfügen mehrerer Zeilen in eine einzelne SQL-Abfrage ist keine schwierige Aufgabe, aber es ist in der Tat eine Herausforderung, ein Skript zu erstellen, das mit mehreren Datenbanken funktioniert. Es ist jedoch möglich, ein Skript zu erstellen, das über mehrere Datenbanken hinweg funktioniert.

Lassen Sie uns zuerst eine Beispieltabelle mit zwei Spalten erstellen. Sobald die Tabelle erstellt ist, fügen Sie drei verschiedene Zeilen in eine einzelne SQL-Abfrage ein.

CREATE TABLE SampleTable (ID INT, Col1 VARCHAR(100));
INSERT INTO SampleTable (ID, Col1)
VALUES (1, 'One'), (2, 'Two'), (3, 'Three');
SELECT *
FROM SampleTable;
DROP TABLE SampleTable;

Lassen Sie uns nun diese Abfrage in mehreren Datenbanken ausführen und das Ergebnis sehen.

SQL-Server

MySQL

PostgreSQL

Das war's. Das war in der Tat eine sehr interessante Frage. Nur damit Sie wissen, alternativ können Sie das SQL-Skript auch mit Hilfe der UNION erstellen. Die Lösung, die in dieser Abfrage demonstriert wurde, ist jedoch der neue Weg.