Podstawy baz danych sql 19 12 2011


SELECT WYDZIALY.NAZWA, OSOBY.IMIE1||' '||OSOBY.NAZWISKO AS OSOBA
FROM WYDZIALY, OSOBY, ZATRUDNIENIA
WHERE (ZATRUDNIENIA.ID_W = WYDZIALY.ID_W AND ZATRUDNIENIA.ID_OS = OSOBY.ID_OS AND ZATRUDNIENIA.DO IS NULL)
ORDER BY 1 ASC, 2 ASC;

=============================
Z aliasami

SELECT W.NAZWA, O.IMIE1||' '||O.NAZWISKO AS OSOBA
FROM WYDZIALY W, OSOBY O, ZATRUDNIENIA Z
WHERE (Z.ID_W = W.ID_W AND Z.ID_OS = O.ID_OS AND Z.DO IS NULL)
ORDER BY 1 ASC, 2 ASC;

===============================

CROSS JOIN:

SELECT WYDZIALY.NAZWA, OSOBY.IMIE1||' '||OSOBY.NAZWISKO AS OSOBA
FROM WYDZIALY CROSS JOIN OSOBY CROSS JOIN ZATRUDNIENIA
WHERE (ZATRUDNIENIA.ID_W = WYDZIALY.ID_W AND ZATRUDNIENIA.ID_OS = OSOBY.ID_OS AND ZATRUDNIENIA.DO IS NULL)
ORDER BY 1 ASC, 2 ASC;

=================================

NATURAL JOIN

SELECT WYDZIALY.NAZWA, OSOBY.IMIE1||' '||OSOBY.NAZWISKO AS OSOBA
FROM WYDZIALY NATURAL JOIN OSOBY NATURAL JOIN ZATRUDNIENIA
WHERE ZATRUDNIENIA.DO IS NULL
ORDER BY 1 ASC, 2 ASC;

=======================================

ZWYKLY JOIN

SELECT WYDZIALY.NAZWA, OSOBY.IMIE1||' '||OSOBY.NAZWISKO AS OSOBA
FROM (OSOBY JOIN ZATRUDNIENIA ON OSOBY.ID_OS=ZATRUDNIENIA.ID_OS) JOIN WYDZIALY ON WYDZIALY.ID_W=ZATRUDNIENIA.ID_W
WHERE ZATRUDNIENIA.DO IS NULL
ORDER BY 1 ASC, 2 ASC;

===================================

KWERENDY AGREGUJĄCE:

SELECT COUNT(OSOBY.ID_OS) AS ILE_OSOB
FROM OSOBY;

==================================

WYSWIETLENIE NAJMLODSZEJ KOBIETY

SELECT MAX(OSOBY.D_UR) AS DATA_UR
FROM OSOBY
WHERE OSOBY.PLEC='K';


===================================

SELECT PLEC, COUNT(OSOBY.ID_OS) AS ILE
FROM OSOBY
GROUP BY PLEC
ORDER BY 2 DESC;


==================================

SELECT SUBSTR(INITCAP(IMIE1),1,1) AS LITERA1, COUNT(OSOBY.ID_OS) AS ILE
FROM OSOBY
GROUP BY SUBSTR(INITCAP(IMIE1),1,1)
ORDER BY 1 ASC;

==================================

INSERT INTO OSOBY (ID_OS, NAZWISKO, IMIE1, D_UR, PLEC) VALUES (100,'Milczarek','Michal',TO_DATE('12/01/1970','DD/MM/YYYY'),'M');

SELECT IMIE1||' '||NAZWISKO AS OSOBA, NVL(ZATRUDNIENIA.PENSJA,0)
FROM OSOBY LEFT JOIN ZATRUDNIENIA ON OSOBY.ID_OS=ZATRUDNIENIA.ID_OS
WHERE ZATRUDNIENIA.DO IS NULL
ORDER BY 1 ASC;

===================================

SELECT WYDZIALY.NAZWA, COUNT(ZATRUDNIENIA.ID_Z) AS ZATRUDNIONYCH
FROM WYDZIALY NATURAL JOIN ZATRUDNIENIA
GROUP BY WYDZIALY.NAZWA
ORDER BY 2 DESC;

===================================

Wyświetlić te wydziały, które zatrudniają aktualnie ponad 2 osoby i wyświetlić

SELECT WYDZIALY.NAZWA, COUNT(ZATRUDNIENIA.ID_Z) AS ZATRUDNIONYCH
FROM WYDZIALY NATURAL JOIN ZATRUDNIENIA
WHERE ZATRUDNIENIA.DO IS NULL
HAVING COUNT(ZATRUDNIENIA.ID_Z)>2
GROUP BY WYDZIALY.NAZWA
ORDER BY 2 DESC, 1 ASC;

===================================

SELECT WYDZIALY.NAZWA, OSOBY.PLEC, SUM(ZATRUDNIENIA.PENSJA)
FROM OSOBY, WYDZIALY, ZATRUDNIENIA
WHERE ZATRUDNIENIA.DO IS NULL AND WYDZIALY.ID_W=ZATRUDNIENIA.ID_W
GROUP BY WYDZIALY.NAZWA, OSOBY.PLEC
ORDER BY 1 ASC, 3 ASC;

Wyszukiwarka

Podobne podstrony:
Podstawy baz danych  12 11 SQL
Podstawy baz danych zajecia 2 z SQL Tabela Biblioteka
Podstawy baz danych zajecia 3 z sql
Podstawy baz danych Zajecia 1 z SQL Tabela STUDENT
IWZ 2 Podstawy baz danych
2004 11 Porównanie serwerów relacyjnych baz danych Open Source [Bazy Danych]
22 Część VII Udostępnianie baz danych w sieci WWW Podsta
Podstawy prawoznawstwa 19 11 2013 Ćwiczenia
19 11
Zawahiri ostrzega Obamę przed porażką w Afganistanie (19 11 2008)
7 ROZ warunki techniczne baz i stacji paliw [M G ][21 11
Wprowadzenie do baz danych
Analiza baz danych na temat materiałów betonopodobnych

więcej podobnych podstron