łączenie wielu tabel w SQL - THE DATA SCIENCE LIBRARY http://sigmaquality.pl/tag/laczenie-wielu-tabel-w-sql/ Wojciech Moszczyński Sun, 06 Oct 2024 09:24:44 +0000 pl-PL hourly 1 https://wordpress.org/?v=6.8.3 https://sigmaquality.pl/wp-content/uploads/2019/02/cropped-ryba-32x32.png łączenie wielu tabel w SQL - THE DATA SCIENCE LIBRARY http://sigmaquality.pl/tag/laczenie-wielu-tabel-w-sql/ 32 32 12_SQL. Łączenie wielu tabel w SQL Oracle https://sigmaquality.pl/mysql-kurs-podstawowy/12_sql-laczenie-wielu-tabel-w-sql-oracle/ Sun, 24 May 2015 07:13:00 +0000 http://sigmaquality.pl/?p=1686 Skorzystamy z tabel EMPLOYEES, JOB_HISTORY i DEPARTMENTS z bezpłatnej bazy Oracle HR dostępnej tutaj: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html Przy łączeniu wielu tabel w zapytaniu należy poprzedzać nazwy kolumn [...]

Artykuł 12_SQL. Łączenie wielu tabel w SQL Oracle pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>

Skorzystamy z tabel EMPLOYEES, JOB_HISTORY i DEPARTMENTS z bezpłatnej bazy Oracle HR dostępnej tutaj: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html

 Łączenie wielu tabel w SQL prowadzi się używając klauzuli WHERE i operatora AND 

Przy łączeniu wielu tabel w zapytaniu należy poprzedzać nazwy kolumn nazwami tabel.

Połączenie trzech baz za pomocą wspólnego klucza DEPARTMENT_ID

 

SELECT

EMPLOYEES.FIRST_NAME,

EMPLOYEES.LAST_NAME,

JOB_HISTORY.START_DATE,

JOB_HISTORY.END_DATE,

DEPARTMENTS.DEPARTMENT_NAME

FROM EMPLOYEES, DEPARTMENTS, JOB_HISTORY

WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID AND EMPLOYEES.DEPARTMENT_ID = JOB_HISTORY.DEPARTMENT_ID;

Otrzymujemy tabelę wynikową:

Teraz zrobimy łączenie wielu tabel w SQL za pomocą różnych kluczy.

SELECT

EMPLOYEES.FIRST_NAME,

EMPLOYEES.LAST_NAME,

JOB_HISTORY.START_DATE,

JOB_HISTORY.END_DATE,

DEPARTMENTS.DEPARTMENT_NAME,

JOBS.JOB_TITLE

FROM EMPLOYEES, DEPARTMENTS, JOB_HISTORY, JOBS

WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID

AND EMPLOYEES.DEPARTMENT_ID = JOB_HISTORY.DEPARTMENT_ID

AND JOBS.JOB_ID = EMPLOYEES.JOB_ID;

Otrzymujemy tabelę wynikową:

Teraz połączymy trzy tabele z warunkiem, że maksymalna pensja będzie większa od 15 000.

SELECT

EMPLOYEES.FIRST_NAME,

EMPLOYEES.LAST_NAME,

JOB_HISTORY.START_DATE,

JOB_HISTORY.END_DATE,

DEPARTMENTS.DEPARTMENT_NAME,

JOBS.JOB_TITLE,

JOBS.MAX_SALARY

FROM EMPLOYEES, DEPARTMENTS, JOB_HISTORY, JOBS

WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID

AND EMPLOYEES.DEPARTMENT_ID = JOB_HISTORY.DEPARTMENT_ID

AND JOBS.JOB_ID = EMPLOYEES.JOB_ID

AND JOBS.MAX_SALARY > 15000;

 

Otrzymujemy tabelę wynikową:

Artykuł 12_SQL. Łączenie wielu tabel w SQL Oracle pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>