Вътрешно присъединяване в Oracle - Научете Топ 6 Примерни заявки за вътрешно присъединяване в Oracle

Съдържание:

Anonim

Въведение в Inner Join в Oracle

Клаузите за присъединяване се използват в базата данни на oracle за достъп до данните от множество таблици за получаване на информация. В базата данни на oracle има различни видове присъединения.

Вътрешното присъединяване е един от видовете присъединяване в базата данни на oracle. Вътрешно присъединяване, присъединете се към множеството таблици и върнете тези редове, за които условието за присъединяване е или е вярно. Вътрешното присъединяване е известно и като обикновено присъединяване. Вътрешното присъединяване е най-често срещаното съединение сред типовете присъединяване.

Синтаксисът на вътрешното съединение

SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;

Вътрешното визуално представяне на присъединяването е представено на диаграмата по-долу, както на диаграмата по-долу засенчената област се връща в резултат на Oracle Inner Join

Oracle Inner Join връща пресечните записи на t1 и t2 в резултат.

Примери за заявки за вътрешно присъединяване

Нека разберем подробно вътрешното присъединяване с помощта на някои от примерите на заявката:

Пример №1

Пример за заявка за Inner Join

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;

Този по-горе пример на Oracle INNER JOIN ще върне всички редове от таблицата на служителите и таблицата на отдела, където стойността _id на служителя както в таблицата на служителя, така и в таблицата на отдела са съпоставени.

Ние разглеждаме тук схемата hr, която е примерните схеми на базата данни на oracle. Схемата hr съдържа СТРАНИ, РАБОТОДАТЕЛИ, ДЕПАРТАМЕНТИ, JOB_HISTORY, РАБОТИ, МЕСТОПОЛОЖЕНИЯ, РЕГИОНИ таблици, в които се интересуваме или изискваме таблици ЗАЕТОС, ОТДЕЛЕНИЯ и МЕСТОПОЛОЖЕНИЯ.

Описанието на тези таблици е -

Таблица РАБОТОДАТЕЛИ

ДЕПАРТАМЕНТИ НА ТАБЛИЦА

МЕСТНИ МЕСТОПОЛОЖЕНИЯ

Пример №2

Пример за присъединяване към две таблици

Тук бихме искали да извлечем данни от две таблици ЗАЕТОНИ и ОТДЕЛКИ. Тук заявка пишем, за да извлечем идентификационния номер на служителя и името на служителя от таблицата на служителя и името на отдела от таблицата на отдела -

SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;

продукция

Имената на колоните с таблицата се предхождат от клаузата Oracle SELECT. Ако една колона е обща за двете таблици, тогава за яснота името на колоната трябва да бъде префиксирано с името на таблицата. Таблиците, откъдето да се извличат данните, укажете в клаузата от с разделена със запетая. В клаузата WHERE посочете условието за присъединяване. Връзката между служителите и таблиците на отделите се определя от стойностите в общата колона на заетостта на служителя и в двете таблици трябва да е равна и тази връзка се обозначава като Equi Join. В това отношение участват обикновено първичен ключ и чужди ключове.

Пример №3

Пример за присъединяване на две таблици с псевдоними

Нека да пренапишем горния пример, като използваме таблични псевдоними като -

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;

продукция

Както в горната заявка, псевдонимите на таблицата се създават в клаузата от след името на колоната и Вместо да се запише пълно име на таблицата в клаузата за избор, преди всяка колона да използва таблицата Псевдоними като e и d в горната заявка.

Пример №4

Пример за присъединяване към две таблици с добавяне на допълнителни клаузи

Следващ пример на запитване, в който добавяме допълнителни клаузи към нашата операция Oracle SELECT, където клауза за добавяне на агрегации, ограничаване на върнатите редове, определяне на реда за сортиране и така нататък. Ето примерно запитване, което извлича всички служители, които работят в отдели „Финанси, производство и строителство“.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ( 'Finance', 'Manufacturing', 'Construction' );

продукция

Пример №5

Пример за присъединяване на две таблици с ред по клауза

Следващ пример на заявка, ние пренаписваме горната заявка, като добавяме поръчката по клауза, следователно показваме данните на служителя, подредени по името на отдела.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ('Finance', 'Manufacturing', 'Construction')
ORDER BY d. department_name;

продукция

Пример №6

Пример за вътрешно присъединяване за присъединяване на няколко таблици

Понякога, за да получим информацията, може да се наложи да се присъединим към повече от две таблици. След това пишем примера на заявката, за да се присъединим към няколко таблици. Помислете за примера, който искаме да извлечем името на служителя от таблицата на служителите, името на отдела от таблицата на отдела и идентификационния номер на държавата, където този служител работи в таблицата за местоположение.

SELECT e. first_name, e. salary, d. department_name, l. city, l. country_id
FROM employees e, departments d, locations l
WHERE e. employee_id = d. department_id
AND
d. location_id = l. location_id;

продукция

За присъединяване на четири или повече таблици се прилага същата концепция, като се добави името на таблицата в клауза FROM на oracle и се приложи условието за присъединяване към клаузата WHERE на oracle.

заключение

Вътрешното присъединяване е един от видовете присъединяване в базата данни на oracle. Вътрешно присъединяване, използвано за присъединяване към множество таблици и връщане на тези редове, за които условието за присъединяване е или е вярно. Обикновено първичният и външният ключ участват във вътрешно присъединяване, за да създадат връзка между таблиците.

Препоръчителни статии

Това е ръководство за Inner Join in Oracle. Тук обсъждаме въвеждането на Inner join заедно с някои подробни примери. Можете също да прегледате и другите ни предложени статии, за да научите повече -

  1. Присъединява се към MySQL
  2. Oracle Queries
  3. Складиране на данни на Oracle
  4. Какво представлява Oracle Database