Podstawy SQL
Opis Algebra relacji Język Transact-SQL
Wyświetlenie zawartości
ÃTRUE (R)
SELECT * FROM R
tabeli
SELECT * FROM R
R *" S
Suma mnogościowa UNION
SELECT * FROM S
SELECT * FROM R
Suma tabel
UNION ALL
(mogą wystąpić duplikaty)
SELECT * FROM S
SELECT * FROM R
WHERE NOT EXISTS
(
R (A1, A2) \ S (A1, A2)
Różnica mnogościowa SELECT * FROM S
WHERE R.A1 = S.A1
AND R.A2 = S.A2
)
SELECT * FROM R
WHERE EXISTS
(
R (A1, A2) )" S (A1, A2)
Przekrój mnogościowy SELECT * FROM S
WHERE R.A1 = S.A1
AND R.A2 = S.A2
)
SELECT *
R × S
Iloczyn kartezjański FROM R CROSS JOIN S
albo SELECT * FROM R, S
SELECT DISTINCT A1, A3
Ä„A ,A3 (R (A1, A2, A3))
Projekcja
1
FROM R
Projekcja na kolumny SELECT A1, An-1, An
(mogą wystąpić duplikaty) FROM R
SELECT * FROM R
ÃA =a("A2=b (R (A1, A2))
Selekcja
1
WHERE A1 = a OR A2 = b
Złączenie wewnętrzne SELECT *
R (A1, A2) R (A2, A3)
(należy podać warunek FROM R INNER JOIN S
złączenia) ON R.A2 = S.A2
Opis Algebra relacji Język Transact-SQL
R (A1, A2) SELECT *
Złączenie zewnętrzne
+ R.A2=S.A2 FROM R LEFT OUTER JOIN S
lewostronne
R (A2, A3) ON R.A2 = S.A2
R (A1, A2) SELECT *
Złączenie zewnętrzne
+R.A =S.A2 FROM R RIGHT OUTER JOIN S
2
prawostronne
R (A2, A3) ON R.A2 = S.A2
R (A1, A2) SELECT *
Złączenie zewnętrzne
+ +R.A =S.A2 FROM R FULL OUTER JOIN S
2
pełne
R (A2, A3) ON R.A2 = S.A2
Podzielenie R (A1, A2) ÷ S (A2)
SELECT DISTINCT R.A1 FROM R AS alias R1
WHERE NOT EXISTS
(
SELECT * FROM S
WHERE NOT EXISTS
(
SELECT * FROM R AS alias R2
WHERE alias R2.A2 = S.A2
AND alias R2.A1 = alias R1.A1
)
)
albo
SELECT DISTINCT A1 FROM R AS alias R1
WHERE
(
SELECT COUNT (*) FROM S
) = (
SELECT COUNT (*) FROM R AS alias R2
WHERE alias R2.A1 = alias R1.A1
)
Zadania
Tabele w bazie danych:
" studenci(nr indeksu, imie, nazwisko, plec, adres),
" rekrutacja(imie, nazwisko, plec, adres, punkty)
" przedmioty(symbol, nazwa, punkty),
" egzaminy(nr indeksu, przedmiot, ocena).
Zadanie 1. Napisać zapytanie SQL do bazy danych zwracające następujące informacje:
a) Listę wszystkich studentów.
b) Nazwy wszystkich przedmiotów egzaminacyjnych.
c) Listę nazw miast, z których pochodzą studenci i rekruci.
d) Listę wszystkich studentek: imię, nazwisko, numer indeksu (w podanej kolejności).
e) Listę rekrutów (imię i nazwisko), którzy przekroczyli próg 150 punktów.
f ) Aączną listę (imię, nazwisko, indeks) starych studentów i nowych studentów (tych, którzy się
zakwalifikowali).
g) Listę wszystkich studentów, którzy wzięli udział w nowej rekrutacji.
h) Listę studentów, którzy nie zdawali jakiegokolwiek egzaminu.
i) Listę studentów, którzy nie zaliczyli sesji (WSKAZÓWKA: funkcja ISNULL({nazwa argumentu},
{wartość jaką zastępowana jest wartość NULL})).
j ) Listę studentów, którzy zdali wszystkie egzaminy.
k) Listę studentów, którzy zdali wszystkie egzaminy na 5.
Zadanie 2. Czy w bazie danych są błędy? Należy się zastanowić, gdzie w bazie mogą wystąpić niespójności
i jak można je wykryć (odpowiednie zapytania SQL).
Zadanie 3*. Wykonać skrypt (listę poleceń INSERT), który mógłby posłużyć do przeniesienia danych
pomiędzy bazami o tych samych tabelach: egzaminy, przedmioty, studenci i rekrutacja.
WSKAZÓWKA: Niech nią będzie poniższe zapytanie SQL:
SELECT przedmiot , nazwa, ma + + symbol + symbol +
FROM przedmioty
Wyszukiwarka
Podobne podstrony:
kurs oracle podstawy sqlZajęcia 1 Podstawy SQL 1Zajęcia 2 Podstawy SQL 2Podstawy baz danych zajecia 2 z SQL Tabela BibliotekaJezyk SQL podstawy zapytanPodstawy Jezyka SQLbd ii cw1 podstawy jezyka sqlPodstawy baz danych zajecia 3 z sqlPodstawy baz danych sql 19 11Podstawy baz danych 12 11 SQLSQL Server 2005 Programowanie od podstawSQL podstawy8 podstawy jezyka SQL cz 1Podstawy języka SQL materiały szkoleniowePodstawy baz danych Zajecia 1 z SQL Tabela STUDENTBazyDanych SQL podstawywięcej podobnych podstron