SlideShare a Scribd company logo
ENKLA FRÅGOR
3.1 Lista hela innehållet i tabellen employees
SELECT * FROM employees;
3.2 Lista hela innehållet i tabellen departments
SELECT * FROM departments;
3.3 Gör en projektion: Lista namn (last_name), lön (salary) och avdelningsnummer
(department_id) från tabellen employees
SELECT last_name, salary, department_id
FROM employees;
3.4 Gör en restriktion: Lista alla uppgifter i employees gällande anställda på avdelning
20
SELECT *
FROM employees
WHERE department_id = 20;
3.5 Visa nam, antällningsdatum och lön för alla som har minst 13500 i lön. Kolumnalias:
Namn Anställningsdatum Lön
SELECT last_name "Namn", hire_date "Anställningsdatum", salary "Lön"
FROM employees
WHERE salary >= 13500;
3.6 Visa alla uppgifter om de anställda på avdelning 20 och 30
SELECT *
FROM employees
WHERE department_id IN (20, 30);
3.7 Lista alla namn som börjar på bokstaven S
SELECT last_name
FROM employees
WHERE last_name LIKE 'S%';
3.8 Lista anställningsnummer(employee_id), namn och lön för alla med lön i intervallet
1000 och 2000. Använd valfria kolumnalias
SELECT employee_id "Anst.nr", last_name "Namn", salary "Lön"
FROM employees
WHERE salary BETWEEN 12000 AND 17000;
3.9 Lista alla uppgifter i employees i bokstavsordning efter namn
SELECT *
FROM employees
ORDER BY last_name;
3.10 Lista alla avdelningsnummer, namn, arbete och lön med lägsta
avdelningsnummer först och –inom respektive avdelning, i ordning med högsta lönen
först
SELECT department_id, last_name, salary
FROM employees
ORDER BY department_id, salary DESC;
3.11 Visa namn och lön för alla kontorister (job_id slutar på CLERK) på avdelning
50. Sortera efter namn i bokstavsordning
SELECT last_name, salary
FROM employees
WHERE job_id LIKE '%CLERK'
AND department_id = 50
ORDER BY last_name;
3.12 Man vill ha en lista med namn, jobb och lön. Alla chefer (job_id slutar på
MAN) och alla som arbetar på avdelning 50 ska finnas med. Ta fram en sådan lista.
Sortera efter (fallande) lön
SELECT last_name, job_id, salary
FROM employees
WHERE job_id LIKE '%MAN'
OR department_id = 50
ORDER BY salary DESC;
3.13 Vilka personer har namn där strängen ’th’ eller strängen ’ll’ ingår
SELECT last_name
FROM employees
WHERE last_name LIKE '%th%'
OR last_name LIKE '%ll%';
3.14 Vilka anställda har ingen chef? (För en sådan person har chefsnumret,
manager_id, värdet NULL)
SELECT last_name
FROM employees
WHERE manager_id IS NULL;
3.15 Gör en lista med namn och provision för alla säljare (SA_REP). Provision är
produkten av lön och bonus(commission_pct). Sortera så att högsta provisionen
kommer först. Använd kolumnalias.
SELECT last_name namn,
salary * commission_pct provision
FROM employees
WHERE job_id = 'SA_REP'
ORDER BY provision DESC;
3.16 Vilka personer har högre bonus än lön?
3.17 All personal läkarundersöks 7 dagar efter anställning. Ta fram en lista med
namn, antällningsdag och datum för läkartest. Sortera efter anställningsdag. Använd
kolumnalias: NAMN, ANSTÄLLNINGSDAG och TESTDAG
SELECT last_name namn,
hire_date anställningsdag,
hire_date + 7 testdag
FROM employees
ORDER BY hire_date;
3.18 Kolumner kan konkateneras med tecknet || Exempelvis ger satsen
SELECT country_id||'-'||country_name landskod FROM countries;
utskriften:
LANDSKOD
------------------
AR-Argentina
AU-Australia
BE-Belgium
BR-Brazil
Gör en lista där förnamn och efternamn på anställda skrivs ut konkatenerat med
blanksteg emellan
SELECT first_name || ' ' || last_name "Namn"
FROM employees;
3.19 Gör DESCRIBE på tabellen locations och svara sen på följande frågor:
Vilken gatuadress har kontoret i Tokyo?
SELECT street_address
FROM locations
WHERE city = 'Tokyo';
FUNKTIONER
4.1 Lista i ordning efter avdelningsnummer, alla anställdas namn samt lön ökat med
15%. Den nya lönen skall avrundas till heltal
SELECT department_id "Avdelning",
last_name "Namn",
ROUND (salary * 1.15, -2) "Lön"
FROM employees
ORDER BY department_id;
4.2 Lista e-postadresser med gemener (små bokstäver) – första bokstaven skall dock
vara versal (stor bokstav)
SELECT INITCAP(email) "E-post"
FROM employees
ORDER BY department_id;
4.3 Lista anställningsnummer, namn och inkomst för alla anställda som har bonus.
Med inkomst menas lön plus eventuell bonus. Ordning efter inkomst
SELECT employee_id "Anst.nr", last_name "Namn",
salary + salary * NVL (commission_pct, 0) "Inkomst"
FROM employees
ORDER BY "Inkomst";
4.4 Lista namn, anställningsdatum och anställningstid för alla anställda.
Antällningstiden ska avrundas till hela år
SELECT last_name "Namn",
hire_date "Anställningsdatum",
ROUND(MONTHS_BETWEEN(sysdate, hire_date)/12, 0) "Anställningstid"
FROM employees
ORDER BY "Anställningsdatum";
4.5 Vilken är den största lönen en anställd har? Svar: 24000 kr
SELECT MAX (salary) max_lön
FROM employees;
4.6 Hur många rader innehåller employees -tabellen? Svar: 107 st
SELECT COUNT(*) antal
FROM employees;
4.7 Hur många anställda har bonus? Svar: 35 st
SELECT COUNT(commission_pct) antal
FROM employees;
4.8 Hur många chefer finns det? Svar: 2 st
SELECT count (*) antal
FROM employees
WHERE job_id like '%MGR';
4.9 Hur många anställda har en lön som överstiger 15000? Svar: 3
SELECT count (*) antal
FROM employees
WHERE salary > 15000;
4.10 Lista alla typer av jobb samt max- och minlön för resp. jobb. Bokstavsordning
efter jobb
SELECT job_id yrke, MAX (salary) MAX, MIN (salary) MIN
FROM employees
GROUP BY job_id
ORDER BY job_id;
4.11 Vilken är medellönen för chefer? Svar: 12000
SELECT AVG (salary)
FROM employees
WHERE job_id LIKE '%MGR';
4.12 Lista alla typer av jobb samt medelinkomsten för resp. jobb. Inkomst = lön +
eventuell bonus
SELECT job_id yrke,
AVG (salary + salary * NVL (commission_pct, 0)) medelinkomst
FROM employees
GROUP BY job_id
ORDER BY job_id;
4.13 Lista alla typer av jobb
SELECT DISTINCT(job_id)
FROM employees;
4.14 Lista avdelningsnummer samt antalet anställda på respektive avdelning
SELECT department_id avd, count(*) antal
FROM employees
GROUP BY department_id;
4.15 Som föregående men ta endast med de avdelningar som har mindre än 6
anställda
SELECT department_id avd, count(*) antal
FROM employees
GROUP BY department_id
HAVING count(*) < 6;
4.16 Lista de avdelningar och medellönen där medellönen överstiger 9000. Mr King
ska undantas från beräkningarna
SELECT department_id avd, AVG(salary) medel
FROM employees
WHERE last_name != 'King'
GROUP BY department_id
HAVING AVG(salary) > 9000;
4.17 Visa först strukturen för tabellen INVENTION (tabellen innehåller data om ett
antal uppfinningar)
4.18 Ta fram namnen på alla uppfinnare som har gjort fler än två uppfinningar.
Bokstavsordning efter uppfinnarnas namn
4.19 Finns det i tabellen INVENTION något årtal som har fler än 5 uppfinningar?
4.20 Finns det några länder i tabellen NATION som har lika stor area?
FLERA TABELLER
Lista anställdas namn, lön och avdelningsnamn(department_name) för all personal i
employees -tabellen. (Join employees och departments)
SELECT last_name, salary, department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id;
Som föregående – men ta endast med dem som har en lön som överstiger 5000
SELECT last_name, salary, department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id
AND salary > 5000;
Som övning 9.1 men endast personal på finansavdelningen(Finance) ska vara med i listan
SELECT last_name, salary, department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id
AND department_name = 'Finance';
På vilken avdelning arbetar Fripp?
SELECT last_name, first_name, department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id
AND last_name = 'Fripp';
9.1 Visa först innehållet i tabellen SALGRADE. (LOSAL och HISAL är tal som
bestämmer nedre respektive övre gränsen för en viss lönegrad, GRADE).
Gör en lista som visar namn, jobb, lön samt lönegrad för alla i EMP-tabellen(en
non-equi-join)
9.2 Som föregående men visa endast dem i lönegrad 3
9.3 Som övning 9.5 men utnyttja även tabellen DEPT för att få med uppgift om
avdelningsnamn i listan
9.4 Lista anställdas namn, jobb, avdelningsnamn och ort. Alla avdelningar ska vara
med – även de som inte har några anställda. (Outer join)
9.5 Lista alla ansällningsnummer, namn och chefsnummer(MGR) i Emp
9.6 Som föregående men ta även med respektive chefs namn i listan (Gör en self join
på EMP tabellen)
9.7 Som föregående med tillse att även personer som inte har någon chef kommer med
i listan. (Bygg på föregående till en outer join)
9.8 Som föregående men lägg till kolumner för anställdas lön och chefs lön. Gör en
restriktion så att endast de rader där den anställde tjänar mer än sin chef visas.
9.9 Lista alla avdelningsnamn och antalet anställda på respektive avdelning. Med en
outer join får vi även med avdelningar som inte har några anställda.
9.10 Lista DEPTNO från DEPT i union med DEPTNO från EMP. (Dvs vilka
avdelningar finns i antingen EMP eller DEPT, utan att ta med dubletter)
9.11 Som ovan men visa snittet. (Dvs vilka avdelningar finns i både EMP och DEPT)
9.12 Som ovan men visa differansen. (Dvs vilka avdelningar finns bara i DEPT)
9.13 Visa strukturen för tabellerna INVENTION och NATION. (I NATION finns
data om olika länder).
Gör en lista på alla uppfinningar vars namn börjar på bokstaven B. Av listan ska
även respektive uppfinnares nationalitet framgå.
9.14 Lista alla länder och antalet uppfinningar som respektive land bidragit med.
Sortera med flest uppfinningar först.
9.15 Visa först strukturen hos tabellen BORDER. (I denna tabell beskrivs vilka
länder som gränsar till ett land).
Vilka länder gränsar till exakt 5 andra länder?
9.16 Lista alla nationer som är öar. (Dessa har inga angränsande länder) (Outer
join)
9.17 Lista alla länder som gränsar till andra länder och, för varje land,
gränsnationernas namn.
9.18 Lista anställningsnummer och namn på alla chefer i EMP-tabellen samt
medellönen för de personer som är direkt underställda respektive chef.
9.19 Visa uppfinnare, årtal och uppfinningar för uppfinningar som har presenterats
av svenskar.
9.20 Skriv ett program som läser in namnet på ett land (på engelska) från terminalen
och som därefter visar detta lands grannländer
9.21 Jhkj
9.22 kjhkjh

More Related Content

Viewers also liked

Estadio bbva bancomer
Estadio bbva bancomerEstadio bbva bancomer
Estadio bbva bancomer
Jimmy Castillo
 
Professionalism, Professional Identity And Clinical Competency In Occupation...
Professionalism,Professional Identity And Clinical Competency In Occupation...Professionalism,Professional Identity And Clinical Competency In Occupation...
Professionalism, Professional Identity And Clinical Competency In Occupation...
sami zamani
 
Presentacion institucional 2 t16
Presentacion institucional 2 t16Presentacion institucional 2 t16
Presentacion institucional 2 t16
BBVA
 

Viewers also liked (8)

Estadio bbva bancomer
Estadio bbva bancomerEstadio bbva bancomer
Estadio bbva bancomer
 
100555
100555100555
100555
 
100373
100373100373
100373
 
100394
100394100394
100394
 
100361
100361100361
100361
 
100508
100508100508
100508
 
Professionalism, Professional Identity And Clinical Competency In Occupation...
Professionalism,Professional Identity And Clinical Competency In Occupation...Professionalism,Professional Identity And Clinical Competency In Occupation...
Professionalism, Professional Identity And Clinical Competency In Occupation...
 
Presentacion institucional 2 t16
Presentacion institucional 2 t16Presentacion institucional 2 t16
Presentacion institucional 2 t16
 

More from Malin Johansson

BO Universe best practices
BO Universe best practicesBO Universe best practices
BO Universe best practices
Malin Johansson
 
Ledningsutveckling 20101207
Ledningsutveckling 20101207Ledningsutveckling 20101207
Ledningsutveckling 20101207
Malin Johansson
 
BO universe
BO universeBO universe
BO universe
Malin Johansson
 
Sql utbldning
Sql utbldningSql utbldning
Sql utbldning
Malin Johansson
 
Beslutsstöd
BeslutsstödBeslutsstöd
Beslutsstöd
Malin Johansson
 
Bi bibel
Bi bibelBi bibel
Bi bibel
Malin Johansson
 
Gate 1 beslutsstöd
Gate 1 beslutsstödGate 1 beslutsstöd
Gate 1 beslutsstöd
Malin Johansson
 
My back on track
My back on trackMy back on track
My back on track
Malin Johansson
 
Lararhandledning barnens livräddningssällskap 2014
Lararhandledning barnens livräddningssällskap 2014Lararhandledning barnens livräddningssällskap 2014
Lararhandledning barnens livräddningssällskap 2014
Malin Johansson
 
Grundlaggande redovisning, sm (1)
Grundlaggande redovisning, sm (1)Grundlaggande redovisning, sm (1)
Grundlaggande redovisning, sm (1)
Malin Johansson
 
Objektbeskrivning släntstigen 6
Objektbeskrivning släntstigen 6Objektbeskrivning släntstigen 6
Objektbeskrivning släntstigen 6
Malin Johansson
 
Stadgar vintergatan 4
Stadgar vintergatan 4Stadgar vintergatan 4
Stadgar vintergatan 4
Malin Johansson
 
Objektbeskrivning Stagneliusvägen 31
Objektbeskrivning Stagneliusvägen 31Objektbeskrivning Stagneliusvägen 31
Objektbeskrivning Stagneliusvägen 31
Malin Johansson
 
Tillväxtverket
TillväxtverketTillväxtverket
Tillväxtverket
Malin Johansson
 
CV Malin Johansson MODUL1
CV Malin Johansson MODUL1CV Malin Johansson MODUL1
CV Malin Johansson MODUL1
Malin Johansson
 
EQT Avstämning Deal Database
EQT Avstämning Deal DatabaseEQT Avstämning Deal Database
EQT Avstämning Deal Database
Malin Johansson
 
2008 09-26 demonstration monthly reporting in deal database
2008 09-26 demonstration monthly reporting in deal database2008 09-26 demonstration monthly reporting in deal database
2008 09-26 demonstration monthly reporting in deal database
Malin Johansson
 
Avtal dn b nor
Avtal dn b norAvtal dn b nor
Avtal dn b nor
Malin Johansson
 
Länsförsäkringar halland årsredovisning 2014
Länsförsäkringar halland årsredovisning 2014Länsförsäkringar halland årsredovisning 2014
Länsförsäkringar halland årsredovisning 2014
Malin Johansson
 

More from Malin Johansson (19)

BO Universe best practices
BO Universe best practicesBO Universe best practices
BO Universe best practices
 
Ledningsutveckling 20101207
Ledningsutveckling 20101207Ledningsutveckling 20101207
Ledningsutveckling 20101207
 
BO universe
BO universeBO universe
BO universe
 
Sql utbldning
Sql utbldningSql utbldning
Sql utbldning
 
Beslutsstöd
BeslutsstödBeslutsstöd
Beslutsstöd
 
Bi bibel
Bi bibelBi bibel
Bi bibel
 
Gate 1 beslutsstöd
Gate 1 beslutsstödGate 1 beslutsstöd
Gate 1 beslutsstöd
 
My back on track
My back on trackMy back on track
My back on track
 
Lararhandledning barnens livräddningssällskap 2014
Lararhandledning barnens livräddningssällskap 2014Lararhandledning barnens livräddningssällskap 2014
Lararhandledning barnens livräddningssällskap 2014
 
Grundlaggande redovisning, sm (1)
Grundlaggande redovisning, sm (1)Grundlaggande redovisning, sm (1)
Grundlaggande redovisning, sm (1)
 
Objektbeskrivning släntstigen 6
Objektbeskrivning släntstigen 6Objektbeskrivning släntstigen 6
Objektbeskrivning släntstigen 6
 
Stadgar vintergatan 4
Stadgar vintergatan 4Stadgar vintergatan 4
Stadgar vintergatan 4
 
Objektbeskrivning Stagneliusvägen 31
Objektbeskrivning Stagneliusvägen 31Objektbeskrivning Stagneliusvägen 31
Objektbeskrivning Stagneliusvägen 31
 
Tillväxtverket
TillväxtverketTillväxtverket
Tillväxtverket
 
CV Malin Johansson MODUL1
CV Malin Johansson MODUL1CV Malin Johansson MODUL1
CV Malin Johansson MODUL1
 
EQT Avstämning Deal Database
EQT Avstämning Deal DatabaseEQT Avstämning Deal Database
EQT Avstämning Deal Database
 
2008 09-26 demonstration monthly reporting in deal database
2008 09-26 demonstration monthly reporting in deal database2008 09-26 demonstration monthly reporting in deal database
2008 09-26 demonstration monthly reporting in deal database
 
Avtal dn b nor
Avtal dn b norAvtal dn b nor
Avtal dn b nor
 
Länsförsäkringar halland årsredovisning 2014
Länsförsäkringar halland årsredovisning 2014Länsförsäkringar halland årsredovisning 2014
Länsförsäkringar halland årsredovisning 2014
 

SQL övningar

  • 1. ENKLA FRÅGOR 3.1 Lista hela innehållet i tabellen employees SELECT * FROM employees; 3.2 Lista hela innehållet i tabellen departments SELECT * FROM departments; 3.3 Gör en projektion: Lista namn (last_name), lön (salary) och avdelningsnummer (department_id) från tabellen employees SELECT last_name, salary, department_id FROM employees; 3.4 Gör en restriktion: Lista alla uppgifter i employees gällande anställda på avdelning 20 SELECT * FROM employees WHERE department_id = 20; 3.5 Visa nam, antällningsdatum och lön för alla som har minst 13500 i lön. Kolumnalias: Namn Anställningsdatum Lön SELECT last_name "Namn", hire_date "Anställningsdatum", salary "Lön" FROM employees WHERE salary >= 13500; 3.6 Visa alla uppgifter om de anställda på avdelning 20 och 30 SELECT * FROM employees WHERE department_id IN (20, 30); 3.7 Lista alla namn som börjar på bokstaven S SELECT last_name FROM employees WHERE last_name LIKE 'S%'; 3.8 Lista anställningsnummer(employee_id), namn och lön för alla med lön i intervallet 1000 och 2000. Använd valfria kolumnalias SELECT employee_id "Anst.nr", last_name "Namn", salary "Lön" FROM employees
  • 2. WHERE salary BETWEEN 12000 AND 17000; 3.9 Lista alla uppgifter i employees i bokstavsordning efter namn SELECT * FROM employees ORDER BY last_name; 3.10 Lista alla avdelningsnummer, namn, arbete och lön med lägsta avdelningsnummer först och –inom respektive avdelning, i ordning med högsta lönen först SELECT department_id, last_name, salary FROM employees ORDER BY department_id, salary DESC; 3.11 Visa namn och lön för alla kontorister (job_id slutar på CLERK) på avdelning 50. Sortera efter namn i bokstavsordning SELECT last_name, salary FROM employees WHERE job_id LIKE '%CLERK' AND department_id = 50 ORDER BY last_name; 3.12 Man vill ha en lista med namn, jobb och lön. Alla chefer (job_id slutar på MAN) och alla som arbetar på avdelning 50 ska finnas med. Ta fram en sådan lista. Sortera efter (fallande) lön SELECT last_name, job_id, salary FROM employees WHERE job_id LIKE '%MAN' OR department_id = 50 ORDER BY salary DESC; 3.13 Vilka personer har namn där strängen ’th’ eller strängen ’ll’ ingår SELECT last_name FROM employees WHERE last_name LIKE '%th%' OR last_name LIKE '%ll%'; 3.14 Vilka anställda har ingen chef? (För en sådan person har chefsnumret, manager_id, värdet NULL) SELECT last_name FROM employees WHERE manager_id IS NULL;
  • 3. 3.15 Gör en lista med namn och provision för alla säljare (SA_REP). Provision är produkten av lön och bonus(commission_pct). Sortera så att högsta provisionen kommer först. Använd kolumnalias. SELECT last_name namn, salary * commission_pct provision FROM employees WHERE job_id = 'SA_REP' ORDER BY provision DESC; 3.16 Vilka personer har högre bonus än lön? 3.17 All personal läkarundersöks 7 dagar efter anställning. Ta fram en lista med namn, antällningsdag och datum för läkartest. Sortera efter anställningsdag. Använd kolumnalias: NAMN, ANSTÄLLNINGSDAG och TESTDAG SELECT last_name namn, hire_date anställningsdag, hire_date + 7 testdag FROM employees ORDER BY hire_date; 3.18 Kolumner kan konkateneras med tecknet || Exempelvis ger satsen SELECT country_id||'-'||country_name landskod FROM countries; utskriften: LANDSKOD ------------------ AR-Argentina AU-Australia BE-Belgium BR-Brazil Gör en lista där förnamn och efternamn på anställda skrivs ut konkatenerat med blanksteg emellan SELECT first_name || ' ' || last_name "Namn" FROM employees; 3.19 Gör DESCRIBE på tabellen locations och svara sen på följande frågor: Vilken gatuadress har kontoret i Tokyo? SELECT street_address FROM locations WHERE city = 'Tokyo';
  • 4. FUNKTIONER 4.1 Lista i ordning efter avdelningsnummer, alla anställdas namn samt lön ökat med 15%. Den nya lönen skall avrundas till heltal SELECT department_id "Avdelning", last_name "Namn", ROUND (salary * 1.15, -2) "Lön" FROM employees ORDER BY department_id; 4.2 Lista e-postadresser med gemener (små bokstäver) – första bokstaven skall dock vara versal (stor bokstav) SELECT INITCAP(email) "E-post" FROM employees ORDER BY department_id; 4.3 Lista anställningsnummer, namn och inkomst för alla anställda som har bonus. Med inkomst menas lön plus eventuell bonus. Ordning efter inkomst SELECT employee_id "Anst.nr", last_name "Namn", salary + salary * NVL (commission_pct, 0) "Inkomst" FROM employees ORDER BY "Inkomst"; 4.4 Lista namn, anställningsdatum och anställningstid för alla anställda. Antällningstiden ska avrundas till hela år SELECT last_name "Namn", hire_date "Anställningsdatum", ROUND(MONTHS_BETWEEN(sysdate, hire_date)/12, 0) "Anställningstid" FROM employees ORDER BY "Anställningsdatum"; 4.5 Vilken är den största lönen en anställd har? Svar: 24000 kr SELECT MAX (salary) max_lön FROM employees; 4.6 Hur många rader innehåller employees -tabellen? Svar: 107 st SELECT COUNT(*) antal FROM employees; 4.7 Hur många anställda har bonus? Svar: 35 st SELECT COUNT(commission_pct) antal
  • 5. FROM employees; 4.8 Hur många chefer finns det? Svar: 2 st SELECT count (*) antal FROM employees WHERE job_id like '%MGR'; 4.9 Hur många anställda har en lön som överstiger 15000? Svar: 3 SELECT count (*) antal FROM employees WHERE salary > 15000; 4.10 Lista alla typer av jobb samt max- och minlön för resp. jobb. Bokstavsordning efter jobb SELECT job_id yrke, MAX (salary) MAX, MIN (salary) MIN FROM employees GROUP BY job_id ORDER BY job_id; 4.11 Vilken är medellönen för chefer? Svar: 12000 SELECT AVG (salary) FROM employees WHERE job_id LIKE '%MGR'; 4.12 Lista alla typer av jobb samt medelinkomsten för resp. jobb. Inkomst = lön + eventuell bonus SELECT job_id yrke, AVG (salary + salary * NVL (commission_pct, 0)) medelinkomst FROM employees GROUP BY job_id ORDER BY job_id; 4.13 Lista alla typer av jobb SELECT DISTINCT(job_id) FROM employees; 4.14 Lista avdelningsnummer samt antalet anställda på respektive avdelning SELECT department_id avd, count(*) antal FROM employees GROUP BY department_id; 4.15 Som föregående men ta endast med de avdelningar som har mindre än 6 anställda
  • 6. SELECT department_id avd, count(*) antal FROM employees GROUP BY department_id HAVING count(*) < 6; 4.16 Lista de avdelningar och medellönen där medellönen överstiger 9000. Mr King ska undantas från beräkningarna SELECT department_id avd, AVG(salary) medel FROM employees WHERE last_name != 'King' GROUP BY department_id HAVING AVG(salary) > 9000; 4.17 Visa först strukturen för tabellen INVENTION (tabellen innehåller data om ett antal uppfinningar) 4.18 Ta fram namnen på alla uppfinnare som har gjort fler än två uppfinningar. Bokstavsordning efter uppfinnarnas namn 4.19 Finns det i tabellen INVENTION något årtal som har fler än 5 uppfinningar? 4.20 Finns det några länder i tabellen NATION som har lika stor area?
  • 7. FLERA TABELLER Lista anställdas namn, lön och avdelningsnamn(department_name) för all personal i employees -tabellen. (Join employees och departments) SELECT last_name, salary, department_name FROM employees e, departments d WHERE e.department_id = d.department_id; Som föregående – men ta endast med dem som har en lön som överstiger 5000 SELECT last_name, salary, department_name FROM employees e, departments d WHERE e.department_id = d.department_id AND salary > 5000; Som övning 9.1 men endast personal på finansavdelningen(Finance) ska vara med i listan SELECT last_name, salary, department_name FROM employees e, departments d WHERE e.department_id = d.department_id AND department_name = 'Finance'; På vilken avdelning arbetar Fripp? SELECT last_name, first_name, department_name FROM employees e, departments d WHERE e.department_id = d.department_id AND last_name = 'Fripp'; 9.1 Visa först innehållet i tabellen SALGRADE. (LOSAL och HISAL är tal som bestämmer nedre respektive övre gränsen för en viss lönegrad, GRADE). Gör en lista som visar namn, jobb, lön samt lönegrad för alla i EMP-tabellen(en non-equi-join) 9.2 Som föregående men visa endast dem i lönegrad 3 9.3 Som övning 9.5 men utnyttja även tabellen DEPT för att få med uppgift om avdelningsnamn i listan 9.4 Lista anställdas namn, jobb, avdelningsnamn och ort. Alla avdelningar ska vara med – även de som inte har några anställda. (Outer join) 9.5 Lista alla ansällningsnummer, namn och chefsnummer(MGR) i Emp 9.6 Som föregående men ta även med respektive chefs namn i listan (Gör en self join på EMP tabellen) 9.7 Som föregående med tillse att även personer som inte har någon chef kommer med i listan. (Bygg på föregående till en outer join)
  • 8. 9.8 Som föregående men lägg till kolumner för anställdas lön och chefs lön. Gör en restriktion så att endast de rader där den anställde tjänar mer än sin chef visas. 9.9 Lista alla avdelningsnamn och antalet anställda på respektive avdelning. Med en outer join får vi även med avdelningar som inte har några anställda. 9.10 Lista DEPTNO från DEPT i union med DEPTNO från EMP. (Dvs vilka avdelningar finns i antingen EMP eller DEPT, utan att ta med dubletter) 9.11 Som ovan men visa snittet. (Dvs vilka avdelningar finns i både EMP och DEPT) 9.12 Som ovan men visa differansen. (Dvs vilka avdelningar finns bara i DEPT) 9.13 Visa strukturen för tabellerna INVENTION och NATION. (I NATION finns data om olika länder). Gör en lista på alla uppfinningar vars namn börjar på bokstaven B. Av listan ska även respektive uppfinnares nationalitet framgå. 9.14 Lista alla länder och antalet uppfinningar som respektive land bidragit med. Sortera med flest uppfinningar först. 9.15 Visa först strukturen hos tabellen BORDER. (I denna tabell beskrivs vilka länder som gränsar till ett land). Vilka länder gränsar till exakt 5 andra länder? 9.16 Lista alla nationer som är öar. (Dessa har inga angränsande länder) (Outer join) 9.17 Lista alla länder som gränsar till andra länder och, för varje land, gränsnationernas namn. 9.18 Lista anställningsnummer och namn på alla chefer i EMP-tabellen samt medellönen för de personer som är direkt underställda respektive chef. 9.19 Visa uppfinnare, årtal och uppfinningar för uppfinningar som har presenterats av svenskar. 9.20 Skriv ett program som läser in namnet på ett land (på engelska) från terminalen och som därefter visar detta lands grannländer 9.21 Jhkj 9.22 kjhkjh