Data Science & ML

SQL Joins i zaawansowane zapytania

INNER JOIN, LEFT/RIGHT JOIN, CROSS JOIN, CTE, window functions, zapytania zagnieżdżone, optymalizacja

22 pytań z rozmów·
Mid-Level
1

Który typ JOIN zwraca tylko wiersze mające dopasowanie w obu tabelach?

Odpowiedź

INNER JOIN zwraca tylko wiersze, które mają dopasowanie w obu tabelach. Jeśli wiersz z lewej tabeli nie ma dopasowania w prawej tabeli (lub odwrotnie), zostaje wykluczony z wyniku. Jest to najbardziej restrykcyjny i najczęściej używany typ JOIN do łączenia powiązanych danych.

2

Jaki jest wynik LEFT JOIN, gdy prawa tabela nie ma dopasowania?

Odpowiedź

LEFT JOIN zachowuje wszystkie wiersze z lewej tabeli, nawet jeśli w prawej tabeli nie ma dopasowania. W takim przypadku kolumny z prawej tabeli są wypełniane wartościami NULL. Pozwala to zachować integralność danych głównej tabeli, dodając jednocześnie opcjonalne informacje.

3

Jak znaleźć klientów, którzy nie złożyli żadnego zamówienia, używając JOIN?

Odpowiedź

Aby znaleźć rekordy bez dopasowania, użyj LEFT JOIN, a następnie filtra WHERE na kolumnie prawej tabeli IS NULL. Ta technika jest bardziej wydajna niż podzapytanie NOT IN, ponieważ pozwala uniknąć wielokrotnego skanowania tabeli zamówień. Jest to klasyczny wzorzec wykrywania danych osieroconych.

4

Co produkuje CROSS JOIN jako wynik?

5

Czym jest SELF JOIN i kiedy go używać?

+19 pytań z rozmów

Opanuj Data Science & ML na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo