Vad är SQL? Introduktion till SQL

Relevanta dokument
Introduktion MySQL och MariaDB

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Databasutveckling Introduktion till SQL och TSQL

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Övningar i SQL. SQLAccess.doc Ove Lundgren

Structured Query Language (SQL)

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Innehåll. MySQL Grundkurs

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?

Introduktion till frågespråket SQL (v0.91)

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

VAD GÖR DU / VEM ÄR DU?

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

Sample exam questions. Database exam TIG058

INNEHÅLL. Historik Vad är SQL Språkuppbyggnad SELECT Operatorer Logiska/Jämförelse SELECT med Alias och JOIN INSERT UPDATE DELETE

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.

WCMS-15, Webbutvecklare CMS

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

Databaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Grunderna i SQL del 1

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

Föreläsning 2: Översikt över ett databassystem

VAD GÖR DU / VEM ÄR DU?

Structured query language (SQL)

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

INNEHÅLL SQL DEL 2. Funktioner inbyggda Aggregatfunktioner Skalärfunktioner. Chapter 11. Beginning SQL Server 2008 for Developers

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

Tentamen för DD1370 Databasteknik och informationssystem

SQL, nästlade delfrågor Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

Databaser. Vad du ska lära dig: Ordlista

Frågespråk och SQL. nikos dimitrakas rum 2423

Databasspråket SQL - online.

Databaser och. SQL, utsökningar mot en tabell

Databasspråket SQL - online.

Databaser och Datamodellering Foreläsning IV

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Föreläsning 4 Dagens föreläsning går igenom

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Databaser - Design och programmering

732G16: Databaser - Design och programmering

Tentamen för DD1370 Databasteknik och informationssystem

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Databasspråket SQL - online.

Relationsdatabasdesign 2I-4067 HT99. Relationsalgebra. som resultat!

Design och underhåll av databaser

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

INTRODUKTION TILL JDBC

3. Dynamiska webbplatser, 20 Yhp (4 v)

Introduktion till Entity Framework och LINQ. Källa och läs mer

Vyer, Prepared Statements, Triggers

Starta MySQL Query Browser

13/11/14. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Vad är en Databas?

Databasspråket SQL - online.

Databaser och SQL - en kort introduktion

SQL del 2. Christer Stuxberg Institutionen för Informatik och Media

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

Lösningar till tentamen i EDAF75

Databasspråket SQL - online.

Prova på-laboration i SQL

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Webbprogrammering, grundkurs 725G54

Grunderna i SQL del 1

Se kurshemsidan för användbara länkar för att genomföra denna laboration.

1.Lär känna MS SQL Observera. Tips. Förberedelse

Agenda (obs! halvdag)

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Föreläsning 5 Dagens föreläsning går igenom

ER-Diagram. Databasutveckling Diagram

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Tentamen för DD1370 Databasteknik och informationssystem

1. Kvalitetsbegreppet 2. Kommunikation 4. Olika typer av datalagring. 5. Databas 6. DBMS 7. Molntjänster 8. Tabeller. 10. SQL 11.

Labb 1. prompt> mysql -h db-und.ida.liu.se -u [liuid] -p Enter password. mysql --host=db-und.ida.liu.se --user=[liuid] --password=[lösen]

16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Kapitel 4 Arkivmenyn Innehåll

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

Laboration SQL. Kom igång.

Tentamen. Databasmetodik Lördag 27 september 2014 kl

DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Genomgång av tentamen. Databasteknik ITHS 4/3 2016

Exempel-Tentamen III

Labb 1. prompt> mysql --host=db-und.ida.liu.se --user=[liuid] -- password=[lösenord] [liuid]

1. SQL DDL (Data Definition Language) 2. Skapa tabell

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Transkript:

Introduktion till SQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är SQL? Structured Query Language (SQL) är ett standardiserat frågespråk för att hämta och modifiera data i en relationsdatabas. Under 1970 utvecklade IBM Structured English Query Language (SEQUEL). SEQUEL byttes senare ut mot SQL eftersom 'SEQUEL' var ett varumärke. 1986 SQL är ANSI-standard 1987 SQL är ISO-standard SQL:2011 är den senaste versionen (standard ANSI) 2 1

SQL Tutorial www.w3schools.com/sql 3 SQL (Structured Query Language ) SQL DDL Data Definition Language (Databeskrivning) DML Data Manipulation Language (Databearbetning) CREATE SELECT DROP INSERT ALTER Exempel ETE UPDATE 4 2

SQL Syntax SQL-frågor består av ett antal satser (statements) SQL är INTE Case Sensitive SQL Nyckelord skrivs normalt i versaler 5 SELECT satsen SELECT är den viktigaste satsen i SQL. Används för att hämta rader från en eller flera tabeller. SELECT * FROM tabell; Eller SELECT kolumn1, kolumn2 FROM tabell; 6 3

Kör SQL-frågor via phpmyadmin 7 SQL Exempel 1 -- Enkla frågor mot enstaka tabeller SELECT * FROM Kunder SELECT * FROM Filmer SELECT * FROM Uthyrning 8 4

SQL Exempel 2 -- Visa ej återlämnade filmer. SELECT * FROM Uthyrning WHERE Aterlamning IS NULL 9 SQL Exempel 3 -- Vilka olika filmer med Mel Gibson i huvudrollen finns i databasen? SELECT * FROM Filmer WHERE Huvudroll = 'Mel Gibson' 10 5

SQL Exempel 4 -- Visa antal filmer som inte lämnats tillbaka per kund (Visa kundnummer). SELECT Kund, Count(Film) AS 'Antal filmer' FROM Uthyrning WHERE Aterlamning IS NULL GROUP BY Kund 11 SQL Exempel 5 -- Visa en lista på alla kunder (kundnummer) som har mer än 10 filmer. SELECT U.Kund, Count(U.film) FROM Uthyrning U WHERE U.Aterlamning IS NULL GROUP BY U.Kund HAVING Count(U.film) >= 10 12 6

SQL Exempel 6 -- Cross Join (Kartesisk produkt) SELECT * FROM kunder, Uthyrning; SELECT * FROM Filmer, Uthyrning; 13 SQL Exempel 7 -- Join (Inner Join) (koppla flera tabeller) SELECT * FROM Kunder, Uthyrning WHERE kunder.kundnummer = Uthyrning.Kund 14 7

SQL Exempel 8 -- Visa några fält från olika tabeller SELECT Kunder.Namn, Uthyrning.Film, Uthyrning.Uthyrning FROM Kunder, Uthyrning WHERE kunder.kundnummer = Uthyrning.Kund 15 SQL Exempel 9 -- Använd Alias SELECT K.Namn, U.Film, U.Uthyrning FROM Kunder K, Uthyrning U WHERE K.Kundnummer = U.Kund 16 8

SQL Exempel 10 -- Använd nyckelorden INNER JOIN ON istället för WHERE SELECT K.Namn, U.Film, U.Uthyrning FROM Kunder AS K INNER JOIN Uthyrning AS U ON K.Kundnummer = U.Kund 17 SQL Exempel 11 -- INNER är inte obligatoriskt (Bara JOIN = INNER JOIN) SELECT K.Namn, U.Film, U.Uthyrning FROM Kunder AS K JOIN Uthyrning AS U ON K.Kundnummer = U.Kund 18 9

SQL Exempel 12 -- Visa ej återlämnade filmer. Visa kundnamnet och filmid (FK). SELECT K.Namn, U.Film, U.Uthyrning FROM Kunder AS K, Uthyrning AS U WHERE K.Kundnummer = U.Kund AND U.Aterlamning IS NULL 19 SQL Exempel 13 -- Visa ej återlämnade filmer. -- Visa Filmtitel och uthyrningsdatumet. -- (Alltså, vilka filmer finns ute) SELECT Filmer.Titel, Uthyrning.Uthyrning FROM Uthyrning, Filmer WHERE Aterlamning IS NULL AND Filmer.FilmID = Uthyrning.Film ORDER BY Uthyrning DESC 20 10

SQL Exempel 14 -- Visa ej återlämnade filmer. -- Visa Kundnamn, Filmtitel och uthyrningsdatumet. SELECT K.Namn, F.Titel, U.Uthyrning FROM Filmer F, Kunder K, Uthyrning U WHERE K.Kundnummer = U.Kund AND F.FilmID = U.Film AND Aterlamning IS NULL 21 SQL Exempel 15 -- Visa kundnamn och filmtitel som finns i tabellen uthyrning! SELECT K.Namn, F.Titel, U.Uthyrning, U.Aterlamning FROM Kunder AS K, Filmer AS F, Uthyrning AS U WHERE K.Kundnummer = U.Kund AND F.FilmID = U.Film ORDER BY F.Titel 22 11

SQL Exempel 16 -- Hur många gånger har "Dödligt vapen 1" hyrts ut? SELECT Count(u.uthyrning) FROM Filmer AS F, Uthyrning U WHERE F.FilmID = U.Film AND F.Titel = 'Dödligt vapen 1' 23 SQL Exempel 17 -- Visa antal filmer som inte lämnats tillbaka per kund -- (Visa Kundnamnet). SELECT K.Namn, Count(U.Film) AS 'Antal filmer' FROM Uthyrning U, Kunder K WHERE Aterlamning IS NULL AND K.Kundnummer = U.Kund GROUP BY K.Namn 24 12

SQL Exempel 18 -- Visa en lista på alla kunder (Kundnamn) som har mer än 10 filmer. SELECT K.Namn, Count(U.film) AS Antal FROM Uthyrning U, Kunder K WHERE U.Aterlamning IS NULL AND K.Kundnummer = U.Kund GROUP BY K.Namn HAVING Count(U.film) >= 10 25 SQL Exempel 19 -- Visa en lista på alla filmer som är ute -- Visa kundnamn och filmtitel SELECT K.Namn, F.Titel FROM Uthyrning U, Kunder K, Filmer F WHERE U.Aterlamning IS NULL AND K.Kundnummer = U.Kund AND F.FilmID = U.Film ORDER BY K.Namn 26 13

SQL Exempel 20 -- Vilka dramor har Vera Lindberg hyrt? (Kategori=Drama) SELECT F.Titel, K.Namn, U.Uthyrning, F.Kategori FROM Kunder K, Filmer F, Uthyrning U WHERE K.Kundnummer = U.Kund AND F.FilmID = U.Film AND F.Kategori = 'Drama' AND K.Namn = 'Vera Lindberg' 27 SQL Exempel 21 -- Använd JOIN istället för WHERE SELECT F.Titel, K.Namn, U.Uthyrning, F.Kategori FROM Uthyrning U JOIN Kunder K ON K.Kundnummer = U.Kund JOIN Filmer F ON F.FilmID = U.Film WHERE F.Kategori = 'Drama' AND K.Namn = 'Vera Lindberg' 28 14

SQL Exempel 22 -- Vilka filmer som kostar 30 kronor att hyra har Natalie Karlsmark hyrt? SELECT F.Titel, F.Pris, K.Namn FROM Kunder K, Filmer F, Uthyrning U WHERE F.Pris = 30 AND K.Namn = 'Natalie Karlsmark' AND K.Kundnummer = U.Kund AND F.FilmID = U.Film 29 SQL Exempel 23 -- Använd JOIN istället för WHERE SELECT F.Titel, F.Pris, K.Namn FROM Uthyrning U JOIN Kunder K ON K.Kundnummer = U.Kund JOIN Filmer F ON F.FilmID = U.Film WHERE F.Pris = 30 AND K.Namn = 'Natalie Karlsmark' 30 15