SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
Copy
Format
Clear
--Aufgabe 1 CREATE TABLE Bahnstation ( Name VARCHAR(30) NOT NULL CHECK (LENGTH(Name) >= 3), Barrierefrei BOOLEAN NULL, Unterirdisch BOOLEAN NULL, Toiletten INTEGER CHECK (Toiletten >= 0), PRIMARY KEY (Name) ); CREATE TABLE Straßenbahn ( Linie INTEGER NOT NULL CHECK (Linie >= 1), Farbe VARCHAR(10) NOT NULL UNIQUE, Strecke VARCHAR(255) NULL, PRIMARY KEY (Linie) ); CREATE TABLE Fahrzeug ( Fahrzeug CHAR(8) NOT NULL CHECK ( Fahrzeug LIKE '^FN-[a-zA-Z0-9]{2}-[a-zA-Z0-9]{2}$' AND (POSITION('Q' IN Fahrzeug) = 0 AND POSITION('R' IN Fahrzeug) = 0) ), Linie INTEGER NULL, PRIMARY KEY (Fahrzeug), FOREIGN KEY (Linie) REFERENCES Straßenbahn(Linie) ON DELETE SET NULL ); CREATE TABLE Fahrplan ( Fahrzeug CHAR(8) NOT NULL, Minute INTEGER NOT NULL, Richtung VARCHAR(30) NOT NULL, Station VARCHAR(30) NOT NULL, PRIMARY KEY (Fahrzeug, Minute), FOREIGN KEY (Fahrzeug) REFERENCES Fahrzeug(Fahrzeug), FOREIGN KEY (Richtung) REFERENCES Bahnstation(Name) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (Station) REFERENCES Bahnstation(Name) ON DELETE CASCADE ); --Aufgabe 2 --a SELECT * FROM Bahnstation WHERE Unterirdisch = TRUE AND Toiletten >= 2; --b SELECT F.Station FROM Fahrplan F JOIN Fahrzeug Fa ON Fa.Fahrzeug = F.Fahrzeug JOIN Straßenbahn S ON S.Linie = Fa.Linie WHERE S.Linie = 4 OR S.Farbe = 'GELB'; --c SELECT Fa.Linie, COUNT(DISTINCT F.Station) AS 'Anzahl Stationen' FROM Fahrplan F JOIN Fahrzeug Fa ON Fa.Fahrzeug = F.Fahrzeug GROUP BY Fa.Linie; --d SELECT F.Station FROM Fahrplan F JOIN Fahrzeug Fa ON F.Fahrzeug = Fa.Fahrzeug GROUP BY F.Station HAVING COUNT(DISTINCT Fa.Linie) = (SELECT COUNT(*) FROM Straßenbahn); --e WITH Station_Bedienungen AS ( SELECT Station, COUNT(*) AS Bedienungen FROM Fahrplan GROUP BY Station ), Durchschnitt AS ( SELECT AVG(Bedienungen) AS Durchschnittsbedienungen FROM Station_Bedienungen ) SELECT sb.Station, sb.Bedienungen FROM Station_Bedienungen sb WHERE sb.Bedienungen > (SELECT Durchschnittsbedienungen FROM Durchschnitt) ORDER BY sb.Station DESC; --Aufgabe 3 --a DELETE FROM Straßenbahn WHERE Strecke LIKE '%Jahnplatz%' AND Strecke LIKE '%Nordpark%'; --b UPDATE Bahnstation SET Toiletten = Toiletten + 2 WHERE Unterirdisch = TRUE; --c ALTER TABLE Fahrzeug ADD Baujahr INTEGER; --d ALTER TABLE Fahrzeug DROP COLUMN Baujahr; --e ALTER TABLE Fahrplan ADD CHECK (Minute >= 0 AND Minute <= 59); --f DROP TABLE Bahnstation; --Aufgabe 4 SELECT f1.Station AS Start, f1.Minute AS Abfahrt, fa.Linie, f1.Richtung AS Endstation, f2.Station AS Ziel, f2.Minute AS Ankunft FROM Fahrplan f1 JOIN Fahrplan f2 ON f1.Fahrzeug = f2.Fahrzeug JOIN Fahrzeug fa ON f1.Fahrzeug = fa.Fahrzeug WHERE f1.Minute >= 00 AND f2.Minute > f1.Minute AND f2.Minute < 59 AND f2.Station = f1.Richtung ORDER BY f2.Minute ASC;
SQL
Server:
MariaDB 11.4
MariaDB 11.5
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear