Головна → Уроки SQL → Урок 6. Об'єднання таблиць (внутрішнє об'єднання)
Синтаксис самого простого об'єднання наступний:
SELECT імена_столбцов_табліци_1, імена_столбцов_табліци_2 FROM імя_табліци_1, імя_табліци_2;
Давайте створимо просте об'єднання:
Вийшло не зовсім те, що ми очікували. Таке об'єднання науково називається декартовим твором, коли кожному рядку першої таблиці ставиться у відповідність кожен рядок другої таблиці. Можливо, бувають випадки, коли таке об'єднання корисно, але це явно не наш випадок.
На схемі буде зрозуміліше:
Тобто ми в запиті зробили таку умову: якщо в обох таблицях є однакові ідентифікатори, то рядки з цим ідентифікатором необхідно об'єднати в одну результуючу рядок.
Зверніть увагу на дві речі:- Якщо в одній з поєднуваних таблиць є рядок з ідентифікатором, якого немає в інший об'єднаній таблиці, то в результуючій таблиці рядки з таким ідентифікатором не буде. У нашому прикладі є користувач Oleg (id = 5), але він не створював теми, тому в результаті запиту його немає.
SELECT імя_табліци_1.імя_столбца1_табліци_1, імя_табліци_1.імя_столбца2_табліци_1, імя_табліци_2.імя_столбца1_табліци_2, імя_табліци_2.імя_столбца2_табліци_2 FROM імя_табліци_1, імя_табліци_2 WHERE імя_табліци_1.імя_столбца_по_которому_об'едіняем = імя_табліци_2.імя_столбца_по_которому_об'едіняем;
Якщо ім'я стовпця унікально, то назва таблиці можна опустити (як ми робили в прикладі), але робити це не рекомендується.
Як ви розумієте, об'єднання дають можливість вибирати будь-яку інформацію з будь-яких таблиць, причому об'єднуються таблиць може бути і три, і чотири, та й умова для об'єднання може бути не одне.
Але щоб замість ідентифікаторів відображалися імена і назви, нам доведеться зробити об'єднання трьох таблиць:
Тому, якщо нам буде потрібно скласти дещо інший запит - вивести всіх користувачів і теми, які вони створювали, якщо такі є - то нам доведеться скористатися Зовнішнім об'єднанням. що дозволяє виводити всі рядки однієї таблиці і наявні пов'язані з ними рядки з іншої таблиці. Про таких об'єднаннях ми і будемо говорити в наступному уроці.
Якщо цей сайт виявився вам корисний, ви можете допомогти в його розвитку, поставивши одну з цих посилань на свій сайт.