Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6

Podobne dokumenty
Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

3. Podzapytania, łączenie tabel i zapytań

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Grupowanie i funkcje agregacji

Laboratorium Bazy danych SQL 2

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Podzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania

Autor: Joanna Karwowska

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco:

Wykład 6. SQL praca z tabelami 3

Zadania z SQLa (MS SQL Server)

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

NORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.

Podstawy języka SQL cz. 2

Laboratorium nr 10. Temat: Połączenia relacji

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Krok 1. SELECT Symbol AS KS INTO Dzielnik FROM Towary WHERE (Nazwa='Orzeszki solone') OR (Nazwa = 'Zupy CHOISE') OR (Nazwa = 'Kawa BURG');

Podstawowe zapytania SELECT (na jednej tabeli)

Systemy GIS Tworzenie zapytań w bazach danych

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Pobieranie danych z wielu tabel i łączenie wyników zapytań

Plan. Łączenie danych z wielu tabel złączenia JOIN suma zbiorów - UNION Użycie aliasów dla nazw tabel

Model relacyjny. Wykład II

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Wprowadzenie do SQL TEMAT 3 - Zadania dodatkowe

Język SQL. Rozdział 2. Proste zapytania

Plan. ! Podzapytania (subqueries) ! Podzapytania do tabel. ! Podzapytanie jako wyrażenie. ! Podzapytania skorelowane. ! operatory IN, NOT IN

Wprowadzenie do SQL TEMAT 4 - Zadania dodatkowe

Zagadnienia podstawowe

Wykład 05 Bazy danych

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Struktura bazy danych

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Relacyjne bazy danych. Podstawy SQL

PODZAPYTANIE (SUBSELECT)

Plan. ! Łączenie danych z wielu tabel. ! Użycie aliasów dla nazw tabel. " złączenia JOIN. " suma zbiorów - UNION

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Podstawy języka SQL -

Technologie baz danych

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Technologie baz danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

SQL - Structured Query Language. strukturalny język zapytań

SQL praca z tabelami 4. Wykład 7

Wykład XII. optymalizacja w relacyjnych bazach danych

SQL (ang. Structured Query Language)

Podyplomowe Studia Systemy informatyczne w logistyce

Microsoft SQL Server Podstawy T-SQL

Przestrzenne bazy danych Podstawy języka SQL

Bazy danych. dr inż. Arkadiusz Mirakowski

E.14 Bazy Danych cz. 14 SQL Podzapytania

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podobnie jak wywołania funkcji w innych funkcjach, zapytania możemy zagnieżdżać w innych zapytaniach. Podzapytanie musi zostać zapisane w nawiasie.

Bazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Bazy Danych II. Ćwiczenia

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

Operacja Teta-złączenia. v1 v1 Θ v2

Model relacyjny. Wykład II

Bazy danych SQL Server 2005

Autor: Joanna Karwowska

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Zarzadzanie transakcjami. Transakcje

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Złaczenia tablic: FROM, WHERE, JOIN

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Materiały szkoleniowe. Podstawy języka SQL

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Relacyjne bazy danych. Podstawy SQL

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Podstawowe funkcje dodatku linq w C#

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SIECI KOMPUTEROWE I BAZY DANYCH

Optymalizacja poleceń SQL Metody dostępu do danych

Wprowadzenie do baz danych

10. Wybierz nazwy produktów oraz inf. o stanie magazynu dla produktów dostarczanych przez firmę.tokyo Traders.

Wykład 5. SQL praca z tabelami 2

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Zarządzanie obiektami bazy danych Oracle11g

niż zadeklarowana długość, zostaje ucięty z prawej strony. osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Wypisujemy nazwiska pracowników o numerach równych 100 lub 500. SELECT DISTINCT Nazwisko FROM Pracownik WHERE NrPrac IN (100,500);

Lista zadań nr Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000.

Transkrypt:

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6 Wybieranie danych z wielu tabel polega na użyciu więcej niż jednej tabeli w klauzuli FROM i, najczęściej, kolumn z więcej niż jednej tabeli w klauzuli SELECT i WHERE. ; Wybieranie danych z wielu tabel, z użyciem złączenia, wiąże się z istnieniem warunków dokonujących złączeń odpowiednich wierszy jednych tabel z innymi na podstawie istnienia w nich kolumn z takimi samymi wartościami identyfikującymi wiersze (lub doprowadzenia do tego stanu za pomocą przekształceń). Szczególnym przypadkiem wybierania danych z wielu tabel jest wielokrotne użycie w klauzuli FROM tej samej tabeli, praktycznie wymaga to aliasowania tabel. FROM EMPLOYEE sz, EMPLOYEE pr WHERE sz.employee_id = pr.manager_id;

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 2 z 6 Użycie tabel w klauzuli FROM nie powoduje konieczności użycia kolumn tych tabel w klauzuli SELECT, chociaż najczęściej tak jest. Przykłady: SELECT 1 lub SELECT first_name, last_name Użycie tabel w klauzuli FROM nie powoduje konieczności użycia kolumn tych tabel w klauzuli WHERE chociaż prawie zawsze tak powinno być. Ewentualne niezłączenie którejkolwiek z tabel daje iloczyn kartezjański zazwyczaj jest to nieprawidłowość. ; a

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 3 z 6 Kolumny występujące w klauzuli WHERE, przy złączeniach, używane są w charakterze innym niż filtracja w klauzuli WHERE i służą do łączenia wierszy tabel z klauzuli FROM. Wykorzystanie warunków w charakterze łączenia jest niezależne od wykorzystania warunków w charakterze filtracji. SELECT first_name, last_name WHERE employee_id = salesperson_id AND city = 'NEW YORK'; W przypadku, gdy nazwy kolumn używanych w zdaniu SELECT należą do więcej niż jednej tabeli użytej w klauzuli FROM należy: - albo poprzedzać takie kolumny pełną nazwą tabeli (ewentualnie wraz z nazwą schematu), o ile nie są to te same tabele - albo poprzedzać takie kolumny poprzedzać aliasem zdefiniowanym dla tabeli w klauzuli FROM SELECT first_name, last_name, function FROM EMPLOYEE e, JOB j WHERE e.job_id = j.job_id;

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 4 z 6 Złączenia tabel dzieli się na: - równościowe i w takim przypadku porównywane w warunku złączenia wartości muszą sobie zupełnie odpowiadać. SELECT pro.description, pri.list_price FROM PRODUCT pro, PRICE pri WHERE pro.product_id = pri.product_id - nierównościowe i w takim przypadku może nastąpić łączenie na podstawie zawierania się w przedziały SELECT first_name, last_name, salary, GRADE_ID FROM EMPLOYEE e, SALARY_GRADE sg WHERE e.salary BETWEEN sg.lower_bound AND sg.upper_bound lub dzieli na: - złączenie wewnętrzne (INNER JOIN - dotychczas prezentowane) - złączenie zewnętrzne(outer JOIN) Złączenie zewnętrzne ma na celu umożliwić zwrócenie wiersza przy takim rezultacie złączenia, w którym żaden rekord z tabeli dołączanej nie odpowiada wierszowi łączonemu. W celu oznaczenia kolumny, której wartość nie jest znaleziona (kolumny z niepełną informacją) stosuje się sekwencję znaków: (+).

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 5 z 6 Różnica w wykonaniu: SELECT DISTINCT first_name, last_name, function, JOB WHERE employee_id = salesperson_id AND EMPLOYEE.JOB_ID = JOB.JOB_ID; a SELECT DISTINCT first_name, last_name, function, JOB WHERE employee_id = salesperson_id(+) AND EMPLOYEE.JOB_ID = JOB.JOB_ID;

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 6 z 6 Zadania: 1. Wybrać nazwiska i imiona pracowników oraz miasta w jakich pracują. Nazwy miast wyświetlić z początkowymi literami wielkimi reszta liter małych. 2. Wybrać wszystkich menadżerów (nazwiska i imiona) i posortować alfabetycznie. 3. Korzystając ze złączenia wybrać tych handlowców, którzy pracują w miejscowościach swoich klientów. 4. Wybrać nazwisko i imię szefa oraz nazwisko i imię pracownika tego szefa jeśli zarabia on więcej od szefa. 5. Wybrać nazwę nazwisko i imię pracownika, nazwę klienta oraz nazwy towarów jakie kupił i ich ówczesną cenę.