Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
u5_databaser [2009-11-10 13:38]
Joakim Forsgren
u5_databaser [2020-09-11 14:03]
Joakim Forsgren
Line 1: Line 1:
-====== SELECT frågor 5 ====== +====== SELECT med JOIN (Birds) ====== 
-Nu skall nu använda min databas **jf**. Om du inte kommer ihåg hur man loggade in kolla: [[u1_databaser]]\\+Nu skall nu använda min databas **jf_select**. Om du inte kommer ihåg hur man loggade in kolla: [[u1_databaser]]\\
 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 :-)\\ 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.\\ **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.\\
 Följande tabeller finns i databasen jf_select (i princip lika i varje fall…) \\ Följande tabeller finns i databasen jf_select (i princip lika i varje fall…) \\
 {{:selectuppgifter_html_m3687461c.png|}} {{:selectuppgifter_html_m3687461c.png|}}
 +<code SQL># ev Måste ni först ställa om teckentabellen 
 +SET NAMES utf8
 +
 +SELECT Login, Name FROM Users INNER JOIN Observations ON Users.UserID=Observations.UserID INNER JOIN Birds ON Observations.BirdID=Birds.BirdID;
 +</code>
  
   - Visa alla fåglar   - Visa alla fåglar
-  - Visa alla kryss som användaren med UserID 3 har. (Visa alla observationer på fåglar som användaren med UserID = 3 har gjort)+  - Visa alla kryss som användaren med UserID 3 har, jag vill se fågelnamnen. (Tips INNER JOIN)
   - Visa alla fåglar som användaren med login = JF har kryssat Tips: INNER JOIN   - Visa alla fåglar som användaren med login = JF har kryssat Tips: INNER JOIN
   - 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:<code>   - 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:<code>
Line 81: Line 86:
 | Kristina Wiklund     123 | | Kristina Wiklund     123 |
 | Fritz Forsgren       112 | | Fritz Forsgren       112 |
-osv..++--------------------+-------+
 </code> </code>
  
 +<php>
 +/*
 +<code SQL>
 +1.
 +SELECT * FROM Birds;
  
 +2.
 +SELECT * FROM Observations 
 +WHERE UserID=3;
  
 +3.
 +SELECT * FROM Users INNER JOIN Observations USING(UserID)
 +WHERE Login='JF';
 +
 +4.
 +SELECT Name,COUNT(UserID) as Antal 
 +FROM Birds INNER JOIN Observations USING(BirdID) 
 +WHERE UserID=1 
 +GROUP BY BirdID 
 +ORDER BY Antal DESC;
 +
 +5.
 +SELECT CONCAT(FirstName,' ',LastName) as Name,COUNT(DISTINCT BirdID) as Antal 
 +FROM Users INNER JOIN Observations USING(UserID) 
 +GROUP BY UserID 
 +ORDER BY Antal DESC;
 +
 +6.
 +SELECT Name,COUNT(DISTINCT UserID) as Antal 
 +FROM Birds INNER JOIN Observations USING(BirdID) 
 +WHERE Plot=1 
 +GROUP BY BirdID ORDER BY Antal DESC;
 +
 +7.
 +SELECT CONCAT(FirstName,' ',LastName) as Name,COUNT(DISTINCT BirdID) as Antal 
 +FROM Users INNER JOIN Observations USING(UserID) 
 +WHERE YEAR(Date)=2004 
 +GROUP BY UserID 
 +ORDER BY Antal DESC;
 +</code>
 +*/
 +</php>