SQL bez tajemnic – Najczęstsze SQL pytania rekrutacyjne

SQL pytania rekrutacyjne – Twoja kompletna lista przygotowawcza

SQL (Structured Query Language) to nieodłączny element pracy w IT – od analityków danych po programistów i administratorów baz danych. Jeśli przygotowujesz się do rozmowy kwalifikacyjnej, znajomość SQL pytania rekrutacyjne może zadecydować o Twoim sukcesie. W tym artykule przedstawimy najczęściej zadawane pytania rekrutacyjne z SQL oraz praktyczne odpowiedzi i wskazówki.

  1. Co to jest SQL i do czego służy?

Odpowiedź:
SQL to język zapytań strukturalnych, który służy do komunikacji z relacyjnymi bazami danych. Umożliwia tworzenie, odczyt, aktualizację i usuwanie danych (CRUD), a także zarządzanie strukturą baz danych.

  1. Jakie są podstawowe polecenia SQL?

Odpowiedź:

  • SELECT: pobiera dane z bazy
  • INSERT: dodaje nowe dane
  • UPDATE: aktualizuje istniejące dane
  • DELETE: usuwa dane
  • CREATE: tworzy nowe tabele lub bazy
  • DROP: usuwa tabele lub bazy
  • ALTER: modyfikuje istniejącą strukturę
  1. Czym różni się WHERE od HAVING?

Odpowiedź:
WHERE filtruje dane przed agregacją, natomiast HAVING działa po agregacji – na wynikach funkcji grupujących (np. COUNT, SUM, AVG).

Przykład:

SELECT department, COUNT(*)

FROM employees

GROUP BY department

HAVING COUNT(*) > 5;

  1. Co to jest JOIN i jakie są jego rodzaje?

Odpowiedź:
JOIN służy do łączenia danych z wielu tabel na podstawie powiązanych kolumn. Typy:

  • INNER JOIN: zwraca dopasowane rekordy z obu tabel
  • LEFT JOIN: wszystkie rekordy z lewej tabeli + dopasowania z prawej
  • RIGHT JOIN: odwrotnie niż LEFT JOIN
  • FULL JOIN: wszystkie rekordy z obu tabel
  • CROSS JOIN: iloczyn kartezjański tabel
  1. Jakie są różnice między UNION a UNION ALL?

Odpowiedź:

  • UNION: łączy wyniki dwóch zapytań, eliminując duplikaty
  • UNION ALL: łączy wyniki bez usuwania duplikatów – szybszy
  1. Co to są indeksy i do czego służą?

Odpowiedź:
Indeksy przyspieszają wyszukiwanie danych w tabelach. Są jak spis treści w książce. Tworzenie indeksów na często używanych kolumnach znacznie poprawia wydajność zapytań.

  1. Wyjaśnij różnicę między DELETE, TRUNCATE i DROP.
  • DELETE: usuwa wybrane rekordy, można cofnąć (ROLLBACK)
  • TRUNCATE: usuwa wszystkie rekordy, szybciej niż DELETE, nieodwracalne
  • DROP: usuwa całą tabelę z bazy
  1. Jak działa GROUP BY?

Odpowiedź:
GROUP BY grupuje dane według wskazanych kolumn, zwykle w połączeniu z funkcjami agregującymi (SUM, AVG, COUNT).

Przykład:

SELECT department, AVG(salary)

FROM employees

GROUP BY department;

  1. Czym są podzapytania (subqueries)?

Odpowiedź:
Podzapytania to zapytania zagnieżdżone wewnątrz innych zapytań, np. w klauzuli WHERE.

Przykład:

SELECT name

FROM employees

WHERE department_id = (SELECT id FROM departments WHERE name = ‘IT’);

  1. Jakie znasz typy danych w SQL?

Odpowiedź:

  • Liczbowe: INT, DECIMAL, FLOAT
  • Tekstowe: CHAR, VARCHAR, TEXT
  • Daty i czasu: DATE, TIME, DATETIME, TIMESTAMP
  • Logiczne: BOOLEAN
  1. Jak zapobiec duplikatom w tabeli?

Odpowiedź:

  • Użycie klucza głównego (PRIMARY KEY)
  • Ustawienie UNIQUE na kolumnie
  • Stosowanie DISTINCT w zapytaniach SELECT
  1. Co to jest normalizacja danych?

Odpowiedź:
Normalizacja to proces strukturyzacji danych w bazie tak, aby zminimalizować redundancję i zapewnić spójność danych. Obejmuje różne formy normalne: 1NF, 2NF, 3NF itd.

  1. Jak sprawdzić wydajność zapytania?

Odpowiedź:
Można użyć EXPLAIN lub EXPLAIN PLAN, aby przeanalizować sposób działania zapytania i identyfikować potencjalne problemy (np. brak indeksów).

  1. Co to są transakcje w SQL?

Odpowiedź:
Transakcje to zestaw operacji wykonywanych jako całość – albo wszystkie się powiodą, albo żadna. Używają poleceń: BEGIN, COMMIT, ROLLBACK.

  1. Jak działa CASE w SQL?

Odpowiedź:
CASE działa jak instrukcja warunkowa IF. Pozwala na zwracanie różnych wartości w zależności od warunku.

Przykład:

SELECT name,

CASE

WHEN salary > 5000 THEN ‘High’

WHEN salary > 3000 THEN ‘Medium’

ELSE ‘Low’

END AS salary_level

FROM employees;

 

Praktyczne wskazówki na rozmowę rekrutacyjną z SQL

  1. Ćwicz na rzeczywistych bazach danych – np. Chinook lub Sakila.
  2. Zrozum pytania – nie ucz się ich na pamięć. Zrozumienie logiki zapytań jest ważniejsze niż zapamiętanie składni.
  3. Przygotuj się do pisania kodu bez edytora. Rekruterzy często proszą o napisanie zapytań ręcznie.
  4. Znaj podstawy optymalizacji zapytań. Wiedza o JOIN, indeksach, czy EXPLAIN może Cię wyróżnić.

 

Podsumowanie

Zrozumienie najczęściej zadawanych SQL pytania rekrutacyjne to klucz do sukcesu w rozmowach o pracę w branży IT. Wiedza ta przydaje się nie tylko programistom, ale każdemu, kto pracuje z danymi – analitykom, testerom, administratorom.

Przygotuj się z wyprzedzeniem, ćwicz codziennie, i nie bój się zadawać pytań. Im lepiej zrozumiesz SQL, tym większe szanse na sukces zawodowy.

Leave a Reply

Your email address will not be published. Required fields are marked *