Database Exercises
Sakila database/t1 ratkaisut
  1. asetetaan sakila tietokanta aktiiviseksi
    use sakila;
  2. mitä tauluja tietokannassa on?
    show tables;
  3. millainen on actor taulun rakenne?
    describe actor;
  4. lisätään tietue actor tauluun
    insert into actor(first_name,last_name)
    values('Teppo','Testi');
  5. näytetään actor-taulusta sukunimet
    select last_name
    from actor;
  6. sama kuin edellä mutta kukin sukunimi vain kerran
    select distinct last_name
    from actor;
  7. näytetään kaikki kentät actor-taulusta
    select * from actor;
  8. järjestettynä last_updaten perusteella
    select * from actor order by last_update;
  9. päivastainen järjestys
    select * from actor order by last_update desc;
  10. päiväys suomalaisella tavalla
    select first_name, last_name, DATE_FORMAT(last_update,"%d.%m.%Y %H:%i:%s") 
    from actor;
  11. muokataan otsikot
    select first_name as 'etunimi', last_name as 'sukunimi', 
    DATE_FORMAT(last_update,"%d.%m.%Y %H:%i:%s") as 'muokattu'
    from actor;
  12. näytetään 5 ensimmäistä riviä actor taulusta
    select * from actor limit 5;
  13. näytetään rivit 6-10 actor taulusta
    select * from actor limit 5,5;
  14. näytetään kaikki joiden etunimi on Christian
    select * from actor where first_name='Christian';
  15. näytetään kaikki joiden etunimi on Christian tai Helen
    select * from actor 
    	where first_name='Christian' or first_name='Helen';
    tai IN lauseella
    select * from actor 
    	where first_name in ('Christian','Helen');
  16. näytetään ne joiden actor_id suurempi kuin 50
    select * from actor where actor_id > 50;
  17. ne joiden actor_id välillä 50-60
    select * from actor where actor_id >= 50 and actor_id <= 60;
    sama between lauseella
    select * from actor where actor_id between 50 and 60;
  18. ne joiden etunimi alkaa kirjaimella J
    select * from actor where first_name like 'J%';
  19. ne joiden etunimi alkaa kirjaimilla JA
    select first_name from actor where first_name like 'JA%';
  20. ne joiden nimessä on A -kirjain
    select first_name from actor where first_name like '%A%';
  21. ne joiden nimen toinen kirjain on A
    select first_name from actor where first_name like '_A%';
  22. näytetään etunimen 3 ensimmäistä merkkiä
    select substring(first_name,1,3), first_name from actor;
  23. tulostetaan etunimi ja sukunimi samaan kenttään
    select concat(first_name,' ', last_name) as 'name' from actor;
  24. tulostetaan nimikirjaimet
    select concat(substring(first_name,1,1),'.', substring(last_name,1,1)) as 'nimikirjaimet' 
    from actor;
  25. tulostetaan kokonimi ja nimikirjaimet
    select concat(first_name,' ', last_name) as 'nimi',
    	concat(substring(first_name,1,1),'.', substring(last_name,1,1)) 
    	as 'nimikirjaimet' 
    from actor;
  26. montako tietuetta actor taulussa on
    select count(actor_id) from actor;
  27. montako J-kirjaimella alkavaa etunimeä
    select count(actor_id) from actor where first_name like 'J%';
  28. tulostetaan etunimi ja sen frekvenssi
    select first_name,count(first_name) 
    from actor 
    group by first_name;
  29. tulostetaan etunimi ja sen frekvenssi järjestettynä frekvenssin mukaan laskevaan järjestykseen
    select first_name,count(first_name) as 'frekv'
    from actor 
    group by first_name
    order by frekv desc;
  30. kuten edellä mutta näytetään vain ne joita vähintään 3
    select first_name,count(first_name) as 'frekv'
    from actor 
    group by first_name
    having frekv >= 3
    order by frekv desc;
  31. select last_name,group_concat(first_name) as 'firstnames'
    from actor 
    group by last_name;
  32. tulostetaan film taulun rakenne
    describe film;
  33. filmin pituuden keskiarvo
    select avg(length) from film;
  34. sama yhden desimaalin tarkkuudella
    select round(avg(length) ,1) from film;
  35. filmin pituuden minimi, maksimi ja keskiarvo
    select min(length), max(length), round(avg(length) ,1) from film;



Toggle Menu