Na początku nauki każdy popełnia sporo błędów. Ja również sporo ich robiłem i nadal robię. Błędy są nieodzownym elementem pracy w IT. Od ponad 3 lat uczę różnych technologii IT, m.in. baz danych. Zebrałem najczęściej popełniane błędy osób uczących się SQLa i mam nadzieję, że dzięki mojemu doświadczeniu znacznie szybciej stworzysz swoje zapytania.

Gubienie przecinka – w SQLu przecinek służy do oddzielania kolejnych elementów od siebie, np. w klauzuli SELECT za pomocą przecinka oddzielamy frazy tworzące kolejne kolumny. Jeśli podając nazwy kolumn np. SELECT Imię, Nazwisko FROM Pracownicy zgubimy przecinek, wtedy zapytanie zadziała tak: SELECT Imię AS Nazwisko FROM Pracownicy czyli wyciągniemy tylko kolumnę Imię i nadamy jej nazwę Nazwisko. Zapytanie zadziała w prawie każdym silniku baz relacyjnych, ale nie zwróci oczekiwanego wyniku.

Operator LIKE – korzystając z wyrażeń wieloznacznych (to z procentami) zamiast operatora LIKE pojawia się znak równości, więc procent zamiast zastępować dowolną ilość znaków jest zwykłym znakiem procent. Pisząc WHERE Nazwa = „Chomik%” nie otrzymamy żadnego wyniku, gdy w tabeli mamy chomiki dżungarskiego i syryjskiego. Natomiast używając WHERE Nazwa LIKE „Chomik%” wyświetlą się nam oba.


Pytanie o NULLa – w wielu książkach istnieje błędne określenie „wartość null”. Null oznacza brak wartości, nieznany wynik, więc nie jest on wartością. W związku z tym pytamy się o to czy coś jest nullem, a nie czy jest równe nullowi. Zapiszemy zatem WHERE IdPracownika IS NULL aby otrzymać wiersze bez podanego identyfikatora pracownika. Należy również zwracać uwagę, aby poprawnie oznaczać nulla w tabeli, ponieważ spotkałem się kilka razy z bazami produkcyjnymi, gdzie w komórce były podane 4 literki „NULL” zamiast komórki bez wartości.

Łączenie tabel – gdy nie znamy bazy danych i jest ona skomplikowana, to bardzo trudno określić jest nam po czym łączyć ze sobą tabele. Warto dopytać kogoś kto zna lepiej taką bazę od nas lub sprawdzić dokumentację, o ile istnieje. Łączenie czegoś „bo mi się wydaje” często doprowadza do otrzymywania niepoprawnych wyników. Najczęściej u początkujących zdarza się łączenie ze sobą kluczy głównych. Powoduje to uzyskanie relacji jeden do jednego, która jest bardzo rzadko spotykana w projektach baz danych.

Dołącz do newslettera już dziś!
Zero spamu - tylko wartościowe treści!
Musisz już lecieć?
Zostaw swój adres e-mail i dołącz do BEZPŁATNYCH WEBINARÓW dotyczących SQLa!
  • „Jak uczyć się SQLa?” – 4 października
  • „SQL dla testerów” – 12 października