Bazy Danych - sql

Przykładowe zapytania SQL:

PROJEKCJA:
1. SELECT * FROM czasopisma;
2. SELECT tytul, cena, rodzaj FROM czasopisma;
4. SELECT idczytelnika, datapocz, datakon, (datakon-datapocz) AS “Liczba Dni” FROM prenumer;
5. SELECT tytul, cena, rodzaj FROM czasopisma ORDER BY cena ASC;
6. SELECT tytul, cena, rodzaj FROM czasopisma ORDER BY tytul DESC;
7. SELECT rodzaj, tytul FROM czasopisma ORDER BY rodzaj, tytul ASC;

***************************************
SELEKCJA:
8. SELECT DISTINCT rodzaj FROM czasopisma;
9. SELECT tytul, rodzaj FROM czasopisma WHERE rodzaj=’dziennik’;
10.SELECT tytul, cena, rodzaj FROM czasopisma WHERE cena>5;
11. SELECT tytul FROM czasopisma WHERE rodzaj<>’dziennik’;
12. SELECT tytul, cena, rodzaj FROM czasopisma WHERE rodzaj=’miesiecznik’AND cena>5;
14. SELECT tytul, wydawca, rodzaj FROM czasopisma WHERE wydawca=’lupus’ AND rodzaj=’miesiecznik’ OR wydawca=’lupus’ AND rodzaj=’dwutygodnik’;
15. SELECT tytul FROM czasopisma WHERE cena=3 between 9;
17. SELECT tytul FROM czasopisma WHER tytul Like ‘P%’;
18. SELECT .. WHERE nazwisko IS NULL;

FUNKCJE AGREGUJACE:
19. SELECT COUNT(*) AS “Ilosc czasopism” FROM czasopisma;
20. SELECT MIN(cena) AS “Min cena” FROM czasopisma;
21. SELECT MAX(cena) AS “MAx: ” FROM czasopisma;
22. SELECT AVG(cena) AS “srednia” FROM czasopisma;
23. SELECT DISTINCT rodzaj, COUNT(*) AS “Ilosc” FROM czasopisma GROUP BY rodzaj;
24. SELECT DISTINCT rodzaj, COUNT(*) AS “Ilosc” FROM czasopisma GROUP BY rodzaj ORDER BY COUNT(*);
25. SELECT DISTINCT rodzaj, COUNT(*) AS “Ilosc” FROM czasopisma GROUP BY rodzaj HAVING COUNT(*)>1 ORDER BY COUNT(*) DESC;
26. SELECT DISTINCT rodzaj, AVG(cena) AS “Sr:” FROM ..
27. SELECT rodzaj, COUNT(cena) AS “ilosc”, AVG(SREDNIA) AS “SREDNIA”

WYSZUKIWANIE INFORMACJI W TABELACH
***********************************************
4.
SELECT datapocz, tytul
FROM czasopisma, prenumer
WHERE czasopisma.idtytulu=prenumer.idtytulu AND (tytul=’Enter’ OR tytul=’Polityka’) ;
5.
SELECT nazwisko, tytul
FROM czasopisma, prenumer, czytelnicy
WHERE czasopisma.idtytulu=prenumer.idtytulu AND prenumer.idczytelnika=czytelnicy.idczytelnika;
7.
SELECT a.idczytelnika, a.nazwisko, SUM(*) AS “Ilosc czasopism”
FROM prenumer b, czytelnicy a
WHERE a.idczytelnika=b.idczytelnika
GROUP BY a.idczytelnika, a.nazwisko

8.
SELECT a.nazwisko, tytul, b.ilosc
FROM prenumer b, czytelnicy a, czasopisma c
WHERE a.idczytelnika=b.idczytelnika AND c.idtytulu=b.idtytulu AND c.tytul=’Enter’
GROUP BY a.idczytelnika, a.nazwisko, c.tytul, b.ilosc;
9.
SELECT czasopisma.tytul, czytelnicy.nazwisko
FROM prenumer, czytelnicy, czasopisma
WHERE czytelnicy.idczytelnika=prenumer.idczytelnika AND prenumer.idtytulu=czasopisma.idtytulu AND czytelnicy.nazwisko=’Janicki’;
10.
SELECT a.nazwisko, b.idczytelnika, b.datapocz
FROM czytelnicy a LEFT OUTER JOIN prenumer b ON a.idczytelnika=b.idczytelnika;
13.
SELECT a.tytul, b.idtytulu
FROM czasopisma a LEFT JOIN prenumer b ON a.idtytulu=b.idtytulu
WHERE b.idtytulu IS NULL;

SQL - PODZAPYTANIA
**************************************************
2. SELECT tytuł, cena, rodzaj
FROM tytuły
WHERE cena>(SELECT AVG(cena) AS “srednia cena”
FROM tytuły
WHERE rodzaj=”dziennik”) AND rodzaj=”dziennik”;

3. SELECT Imie, Nazwisko
FROM CZYTELN
WHERE Iddystryb IN (Select iddystryb
From [Dystryb]
WHERE miasto=”Kraków” OR miasto=”Tarnów”);

5. SELECT tytuł, rodzaj, cena
FROM tytuły
WHERE cena<ALL( SELECT cena
FROM tytuły
WHERE rodzaj=”tygodnik”);

6.SELECT tytuł, rodzaj, cena
FROM tytuły
WHERE cena<ANY ( SELECT cena
FROM tytuły
WHERE rodzaj=”tygodnik”);

7. SELECT nazwa, COUNT(*) AS “Czytelnicy”
FROM dystryb, czyteln
WHERE dystryb.iddystryb=czyteln.iddystryb
GROUP BY nazwa HAVING COUNT(*)>(SELECT count(*)
FROM czyteln
where iddystryb=(SELECT iddystryb
FROM dystryb
WHERE miasto=”Krynica”));

8. SELECT imie, nazwisko
FROM czyteln
WHERE czyteln.idczyteln IN (SELECT idczyteln
FROM prenumer
WHERE idtytułu=(SELECT idtytułu
FROM tytuły
WHERE tytuł=”Enter”));

9. SELECT imie, nazwisko
FROM czyteln, prenumer, tytuły
WHERE czyteln.idczyteln=prenumer.idczyteln AND prenumer.idtytułu=tytuły.idtytułu AND tytuł=”Enter”;

10. SELECT imie, nazwisko
FROM czyteln
WHERE EXISTS (SELECT idczyteln
FROM prenumer
WHERE czyteln.idczyteln=prenumer.idczyteln);

11. SELECT imie, nazwisko
FROM czyteln
WHERE NOT EXISTS (SELECT idczyteln
FROM prenumer
WHERE czyteln.idczyteln=prenumer.idczyteln);

ZAPYTANIA ZEWNĘTRZNE:

SELECT imie, nazwisko
FROM czyteln
LEFT JOIN prenumer ON czyteln.idczyteln=prenumer.idczyteln
WHERE prenumer.idczyteln IS NULL;

 

 
>