This is an old revision of the document!


SELECT frågor med join

Nu skall nu använda min databas jf_select. (login: jf_select, passwd: jf_select) När det står tips så är det något nytt, det räcker inte enbart med det som står som tips. Ni kommer behöva läsa i manualen för att lyckas skulle jag tro :-)
OBS! Ni får bara ställa en fråga för att ta fram ert svar, spara de SQL-frågor ni ställer i en textfil (mysql4.txt). När ni är klar “commitar” och “pushar” ni filen.
Följande tabeller finns i databasen jf_select (i princip lika i varje fall…)

# ev Måste ni först ställa om teckentabellen om du jobbar via terminal
SET NAMES utf8
  1. Visa alla fåglar
  2. Skriv en fråga som ger en rad till svar och det är antalet fåglar, typ som nedan.
    +-----+
    | N   |
    +-----+
    | 475 |
    +-----+
  3. Visa alla fåglar, sorterat på namn.
  4. Visa alla fåglar, sorterat på artlistan (alltså efter Sort).
  5. Visa de 10 första fåglarna, sorterat på artlistan (alltså efter Sort).
  6. Visa alla fåglar som har trast i sitt namn (18 st).
  7. Visa alla fåglar som börjar på stor (8 st).
  8. Visa alla fåglar som slutar på ett (6 st).
  9. Visa alla kryss som användaren med UserID 3 har, jag vill se fågelnamnen. (Tips INNER JOIN)
  10. Visa alla fåglar som användaren med login = JF har kryssat Tips: INNER JOIN x 2
  11. Skriv en fråga som tar fram hur många kryss användaren med UserID=1 har av varje fågel och man får dem sorterade efter antal. Tips: COUNT, GROUP BY.Exempel på svar:
    +-----------------------+-------+
    | Name                  | Antal |
    +-----------------------+-------+
    | Knipa                 |    10 |
    | Grå kråka             |     6 |
    | Knölsvan              |     6 |
    | Sångsvan              |     5 |
    | Sothöna               |     5 |
    | Blåmes                |     4 |
    | Skata                 |     4 |
    | Talgoxe               |     4 |
    | Sädesärla             |     4 |
    | Gräsand               |     4 |
    | Skrattmås             |     4 |
    | Fiskmås               |     4 |
    osv...
  12. Gör om frågan så att man bara ser de fåglar som JF har fler än 4 observationer av.
  13. Gör om frågan så att man bara ser de fåglar som JF har 1 observation av.
    Nu börjar det bli svårt...
  14. Skriv en fråga som tar fram hur många olika fågelarter varje användare har. Tips: COUNT (DISTINCT… Ex på lämpligt svar:
    +-----------+-----------------+-------+
    | FirstName | LastName        | Antal |
    +-----------+-----------------+-------+
    | Jörgen    | Wiklund         |   234 |
    | Anna      | Lindgren        |   217 |
    | Jan       | Schützer        |   213 |
    | Liam      | Martin          |   192 |
    | Johanna   | Martin          |   176 |
    | Helen     | Forsgren        |   171 |
    | Joakim    | Forsgren        |   171 |
    | Anita     | Bäckström       |   169 |
    | Hasse     | Bäckström       |   159 |
    | Fritz     | Forsgren        |   154 |
    | Edvin     | Forsgren        |   142 |
    | Ulla      | Forsgren        |   141 |
    | Kristina  | Wiklund         |   131 |
    | Nina      | Ödmark          |   123 |
    osv...
  15. Skriv en fråga som visar hur många gånger olika arter har sets från någon tomt. (Plot = 1) sorterat efter vilken fågel som setts av flest personer. (Fågeln får bara räknas en gång per person) Ex på lämpligt svar:
    +-----------------------+-------+
    | Name                  | Antal |
    +-----------------------+-------+
    | Skata                 |    30 |
    | Blåmes                |    28 |
    | Talgoxe               |    28 |
    | Björktrast            |    26 |
    | Grå kråka             |    26 |
    | Bofink                |    26 |
    | Domherre              |    26 |
    | Grönfink              |    24 |
    | Pilfink               |    23 |
    | Större hackspett      |    22 |
    | Sädesärla             |    22 |
    | Rödhake               |    22 |
    | Koltrast              |    20 |
    | Gulsparv              |    20 |
    osv..
  16. Skriv en fråga som visar 10 i topplistan för år 2004. (Flest sedda Fågelarter per person) Ex på lämpligt svar:
    +--------------------+-------+
    | Namn               | Antal |
    +--------------------+-------+
    | Jörgen Wiklund     |   223 |
    | Jan Schützer       |   200 |
    | Liam Martin        |   154 |
    | Anita Bäckström    |   148 |
    | Joakim Forsgren    |   141 |
    | Helen Forsgren     |   140 |
    | Hasse Bäckström    |   139 |
    | Johanna Martin     |   130 |
    | Kristina Wiklund   |   123 |
    | Fritz Forsgren     |   112 |
    +--------------------+-------+
  17. Skulle du redan ha kommit hit så börja göra en sida som visar relevant data från dessa tabeller. Intressanta vyer att visa kan vara “topplista”, “toppplista per år”, “alla kryss”, “en användares alla kryss”, “vilka som har kryssat en fågel”. Man kan ha massa länkar vid tex topplistan kan kan klicka på en användare och få se alla fåglar som denna användare har kryssat och klickar man sen på en fågel kan man se alla som har sett denna fågel… osv. Gör så mycket du hinner…
    Man bör komma åt ditt resultat från ~login/wesweb/web/birds.php