Сегодня долго объяснял разницу между MySQL запросами с LEFT JOIN и INNER JOIN, потом вспомнил, что сам долго разбирался и написал небольшой help.
Допустим есть 2 таблицы alpha и beta.
1 2 3 4 5 6 7 8 9 10 11 12 |
id nameA /alpha/ -- ---- 1 mama 2 papa 3 kasha ________ id nameB /beta/ -- ---- 2 Pirate 8 Monkey |
Запрос c LEFT JOIN вернет все 3 строки из таблицы alpha обьединив по id с таблицей beta недостающие значения заполнив NULL
1 2 3 4 5 |
SELECT * FROM alpha LEFT JOIN beta USING (id) ------------------ 1 mama NULL NULL 2 papa 2 Pirate 3 kasha NULL NULL |
Запрос c INNER JOIN вернет 1 строку c id=2 который есть в обеих таблицах
1 2 3 |
SELECT * FROM alpha INNER JOIN beta USING (id) --------------- 2 papa 2 Pirate |
Свежие комментарии