Zum Inhalt
Sqltempp
Aus ProgrammingWiki
Archivierte Version vom 2022-03-24T18:33:22+00:00.
Aktuelle Version
== SQL Playground
DROP TABLE IF EXISTS player; CREATE table player(p_id int NOT NULL PRIMARY KEY, username text NOT NULL, level int NOT NULL, rank text NOT NULL); INSERT INTO player(p_id,username,level,rank) values (1,"hilseduck", 101, "silver"); INSERT INTO player(p_id,username,level,rank) values (2,"chiefspy007", 34, "iron"); INSERT INTO player(p_id,username,level,rank) values (3,"randalf", 507, "gold"); INSERT INTO player(p_id,username,level,rank) values (4,"gerard_alaste", 55, "bronze"); INSERT INTO player(p_id,username,level,rank) values (5,"96TRS", 98, "silver"); INSERT INTO player(p_id,username,level,rank) values (6,"team_siko", 87, "iron"); INSERT INTO player(p_id,username,level,rank) values (7,"skell.reaver", 201, "gold"); INSERT INTO player(p_id,username,level,rank) values (8,"n0ts", 51, "bronze"); INSERT INTO player(p_id,username,level,rank) values (9,"eremois", 156, "silver"); INSERT INTO player(p_id,username,level,rank) values (10,"wildwestsr", 177, "bronze"); INSERT INTO player(p_id,username,level,rank) values (11,"teemo_reemo", 156, "silver"); INSERT INTO player(p_id,username,level,rank) values (12,"trest", 78, "silver"); INSERT INTO player(p_id,username,level,rank) values (13,"livinrat", 126, "silver"); INSERT INTO player(p_id,username,level,rank) values (14,"smurfedya", 48, "gold"); INSERT INTO player(p_id,username,level,rank) values (15,"fish_553", 156, "diamond"); INSERT INTO player(p_id,username,level,rank) values (16,"idom_ror", 48, "silver"); INSERT INTO player(p_id,username,level,rank) values (17,"wizard", 78, "diamond"); INSERT INTO player(p_id,username,level,rank) values (18,"kled_bane", 106, "silver"); INSERT INTO player(p_id,username,level,rank) values (19,"doublelift", 707, "platin"); INSERT INTO player(p_id,username,level,rank) values (20,"faker", 852, "platin"); DROP TABLE IF EXISTS game; CREATE table game(g_id int NOT NULL PRIMARY KEY, end_time datetime NOT NULL, start_time datetime NOT NULL); INSERT INTO game(g_id,end_time,start_time) values (1,'2022-03-18 10:27:32','2022-03-18 10:05:01'); INSERT INTO game(g_id,end_time,start_time) values (2,'2022-03-19 04:43:12','2022-03-19 04:12:53'); INSERT INTO game(g_id,end_time,start_time) values (4,'2022-03-20 15:12:59','2022-03-20 14:22:37'); DROP TABLE IF EXISTS rune; CREATE table rune(r_id int NOT NULL PRIMARY KEY, path_name text NOT NULL); INSERT INTO rune(r_id,path_name) values (1,"Precision"); INSERT INTO rune(r_id,path_name) values (2,"Domination"); INSERT INTO rune(r_id,path_name) values (3,"Sorcery"); INSERT INTO rune(r_id,path_name) values (4,"Resolve"); INSERT INTO rune(r_id,path_name) values (5,"Inspiration"); DROP TABLE IF EXISTS champion; CREATE table champion(c_id int NOT NULL PRIMARY KEY, c_name text NOT NULL); INSERT INTO champion(c_id,c_name) values (1,"Talon"); INSERT INTO champion(c_id,c_name) values (2,"Akshan"); INSERT INTO champion(c_id,c_name) values (3,"Jhin"); INSERT INTO champion(c_id,c_name) values (4,"Vi"); INSERT INTO champion(c_id,c_name) values (5,"Ahri"); INSERT INTO champion(c_id,c_name) values (6,"Malphite"); INSERT INTO champion(c_id,c_name) values (7,"Viego"); INSERT INTO champion(c_id,c_name) values (8,"Aatrox"); INSERT INTO champion(c_id,c_name) values (9,"Leona"); INSERT INTO champion(c_id,c_name) values (10,"Jinx"); INSERT INTO champion(c_id,c_name) values (11,"Rengar"); INSERT INTO champion(c_id,c_name) values (12,"Kled"); INSERT INTO champion(c_id,c_name) values (13,"Fizz"); INSERT INTO champion(c_id,c_name) values (14,"Twitch"); DROP TABLE IF EXISTS item; CREATE table item(i_id int NOT NULL PRIMARY KEY, i_name text NOT NULL, damage int NOT NULL, attack_speed int NOT NULL, armor int NOT NULL); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (1,"Thornnail",5,0,20); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (2,"Rapid Firecannon",35,100,0); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (3,"Bloodthirster",135,0,0); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (4,"Steel-Plated Boots",0,0,15); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (5,"Kraken Slayer",55,85,0); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (6,"Everfrost",100,0,5); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (7,"Galeforce",75,75,0); INSERT INTO item(i_id, i_name, damage, attack_speed,armor) values (8,"Gargoyle Stoneplate",0,0,45); DROP TABLE IF EXISTS game_player; CREATE table game_player( g_id int NOT NULL, p_id INT NOT NULL, c_id int NOT NULL, i_id int NOT NULL, r_id int NOT NULL, win_or_team int NOT NULL, role TEXT NOT NULL, FOREIGN KEY (g_id) REFERENCES game(g_id), FOREIGN KEY (p_id) REFERENCES player(p_id), FOREIGN KEY (c_id) REFERENCES champion(c_id), FOREIGN KEY (i_id) REFERENCES item(i_id), FOREIGN KEY (r_id) REFERENCES rune(r_id), PRIMARY KEY (g_id, p_id), -- CHECKS CHECK (win_or_team <= 1), CHECK (win_or_team >= 0) -- win_or_team darf nur 0 (für Team Verlierer) oder 1 (für Team Gewinner) sein ); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,1,2,5,1,1,"mid"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,20,5,6,2,0,"mid"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,7,3,7,1,1,"adc"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,3,14,2,1,0,"adc"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,4,9,6,5,1,"support"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,9,6,8,5,0,"support"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,17,4,4,2,1,"jungle"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,13,11,3,2,0,"jungle"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,2,8,1,4,1,"top"); INSERT INTO game_player(g_id,p_id,c_id,i_id,r_id,win_or_team,role) values (1,8,12,8,3,0,"top");
-- Schwierigkeitsstufe 1 : welchen Rang (engl. rank) hat der Spieler mit dem username "chiefspy007"? SELECT player.username, player.rank FROM player WHERE username = "chiefspy007"; -- Schwierigkeitsstufe 2: Wie lange dauerte das Match mit der Match-ID 1 in Minuten? select ROUND((JULIANDAY(end_time) - JULIANDAY(start_time)) * 1440,2) FROM game WHERE g_id = 1; -- Schwierigkeitsstufe 2: Welches Match dauerte am längsten, und wie lange? select g_id, MAX(ROUND((JULIANDAY(end_time) - JULIANDAY(start_time)) * 1440,2)) FROM game; -- Schwierigkeitsstufe 3: Überblick über das Game mit der ID 1. SELECT game_player.g_id,game_player.role,game.end_time,game.start_time,player.username,player.level,player.rank,champion.c_name,item.i_name,rune.path_name,win_or_team FROM game_player, game,player,champion,item,rune WHERE game_player.g_id = game.g_id AND game_player.p_id = player.p_id AND game_player.c_id = champion.c_id AND game_player.i_id = item.i_id AND game_player.r_id = rune.r_id AND game_player.g_id = 1 ORDER BY win_or_team DESC, CASE WHEN role='top' THEN 1 WHEN role='jungle' THEN 2 WHEN role='mid' THEN 3 WHEN role='adc' THEN 4 WHEN role='support' THEN 5 ELSE role END; -- Schwierigkeitsstufe 3 Welchen Champion und welches Item spielte der Spieler mit dem höchsten Level zuletzt in einem Spiel, und in welcher Role? SELECT MAX(game_player.g_id), game_player.p_id, game_player.role,game.end_time,game.start_time,player.username,MAX(player.level),player.rank,champion.c_name,item.i_name FROM game_player,game,player,champion,item WHERE game_player.g_id = game.g_id AND game_player.p_id = player.p_id AND game_player.c_id = champion.c_id AND game_player.i_id = item.i_id;
ausführen
Seite
Quelltext
Versionen/Autoren
Konto registrieren
Anmelden
Navigation
Startseite
Letzte Änderungen
Alle Seiten
Einführungskurs
Hilfe
Dateien
Suche
Suchen
Werkzeuge
Links auf diese Seite
Spezialseiten