Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

Podzapytania: Podzapytania niepowiązane w SQL cz. I

Język SQL pozwala na zagnieżdżanie zapytań do bazy danych czyli na umieszczanie jednego zapytania w drugim itd.. Jest to możliwe dzięki temu, że serwery bazodanowe odczytują dane najpierw z wewnętrznych zapytań, a później stopniowo „przesuwają się” do tych zewnętrznych. Dzięki temu pobrane wcześniej dane możemy użyć w innych zapytaniach.

Ważne tutaj jest, żeby przy konstruowaniu kwerend zastanowić się co tak naprawdę nasze podzapytanie zwróci. Czy będzie to jedna wartość, czy może jakiś zbiór albo tabela? Jest to o tyle kluczowe, że na przykład kiedy dostaniemy zbiór danych to nie możemy tego porównać do jednej wartości. W takim wypadku należy zastosować na przykład operator IN.

W tym artykule omówię podzapytania niepowiązane, które charakteryzują się tym, że zwracają tylko jedną wartość oraz wykonywane są raz. W przeciwieństwie do podzapytań powiązanych (zostaną one omówione w II części tego wpisu) gdzie zapytanie wewnętrzne wykonywane jest dla każdego wiersza zapytania zewnętrznego z osobna.

Należy również zwrócić uwagę, że podzapytania zawsze umieszczane są w nawiasach okrągłych: ( ).

Do ćwiczeń będziemy wykorzystywać bazę danych zbudowaną z dwóch tabel:

Tabela: pracownicy

PracownicyID (♠)Miasto (♣)ImieNazwiskoData_urodzeniaStanowiskoData_zatrudnienia
11JanKowalski1984-12-23Programista1999-12-09
21AdamAdamiak1991-08-08Menadżer2011-31-01
33JakubWawrzyniak1990-16-03Programista2010-01-04
42MichałJakubiak1981-05-02Projektant1998-09-22

Gdzie kluczem (♠) jest kolumna PracownicyID.

Tabela: miastoZamieszkania

MiastoZamieszkaniaID (♣)Miasto
1Kraków
2Warszawa
3Wrocław
4Londyn

Gdzie kluczem (♣) jest kolumna MiastoZamieszkaniaID oraz (♣).

Obie tabele zostały połączone za pomocą relacji PracownicyID -> MiastoZamieszkaniaID (♠ -> ♣). Oznacza to, że do każdego pracownika zostało przypisane jego miasto zamieszkania.

Strony: 1 2

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

, , ,

Dodaj komentarz

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest