W tej lekcji kursu Oracle SQL podłączymy się do bazy i zaczniemy pisać pierwsze zapytania SQL. Skupimy się na wybieraniu konkretnych kolumn w zapytaniu, dodawaniu nowych. Zapraszam do lektury!
Podłączenie do bazy danych
Uruchamiamy program Oracle SQL Developer. W zakładce Connections klikamy znak “+”. W nowo otwartym oknie wpisujemy:
Connection name: baza_HR
Username: hr
Password: hr
Pozostałe ustawienia zostawiamy jak są i klikamy Test. W lewym dolnym rogu okna powinien pojawić się Status: Success. Klikamy Save (spowoduje to zapisanie ustawień) i Connect.
Wszystkie zapytania piszemy w nowo otwartym oknie. Zapytania kończymy średnikiem. Uruchamiamy je przyciskiem Run statement (zielony trójkąt) lub z klawiatury Ctrl+Enter.
Zatem do dzieła!
Działanie instrukcji SELECT
Służy do wybierania rekordów z tabel w bazie danych. Przetwarzanie danych odbywa się „w locie“ i nie jest zapisywane w bazie.
W Oracle każde zapytanie musi składać się co najmniej z SELECT i FROM.
Po SELECT wymieniamy kolumny, które chcemy wyświetlić. Mogą to też być wyrażenia, np. 2+2. Jeśli po SELECT użyjemy gwiazdki – wyświetlimy wszystkie kolumny.
Po FROM wypisuje tabele, z których chcemy wybrać dane.
Z jakich tabel możemy korzystać?
Użytkownik HR zawiera tabele, które są wykorzystywane do przechowywania informacji o firmie:
employees – informacja o pracownikach
locations – informacje o lokalizacjach oddziałów
regions – regiony wykorzystywane dla umiejscowienia krajów
countries – informacje o krajach dla lokalizacji oddziałów
departments – informacje o oddziałach
jobs – informacje o stanowiskach pracy
job_history – zawiera informacje historyczne o pracownikach – na jakich stanowiskach pracowali
Z tych tabel będziemy korzystali w przykładach.
Przykład 1. Wybierz wszystkich rekordów z tabeli o nazwie employees
SELECT * FROM employees;
Przykład 2. Wybierz zawartość kolumn First_name i Last_name z tabeli employees
SELECT first_name, last_name FROM employees;
Przykład 3. Wybierz z tabeli locations kolumny city i state_province.
SELECT city, state_province FROM locations;
Zauważ, że w kolumnie state_province jest wartość NULL (nie została przypisana, żadna wartość dla rekordu). Jak ją zamienić na słowo brak? Możemy skorzystać z funkcji NVL.
Funkcja NVL
NVL(p1, p2) – jeśli p1 jest NULL to zwraca p2. Jeśli p1 nie jest NULL to zwraca p1.
Zatem użyjmy jej.
Przykład 4. Wybierz z tabeli locations kolumny city i state_province. Zamień wartości NULL w kolumnie state_province na słowo ‘brak’
SELECT city, nvl(state_province, 'brak') FROM locations;
Czy wynik wygląda dostatecznie ładnie? Chyba nie. Druga kolumna nazywa się NVL(STATE_PROVINCE,’brak’). Jak zatem nazwa kolumny? Aliasami.
Aliasy
Aliasy stosuje się po określeniu nazwa kolumn.
SELECT kolumna1 alias, kolumn2 AS alias2 FROM tabela;
Słowo kluczowe AS nie jest konieczne.
Przykład 5. Kontynuując poprzedni przykład nazwij kolumnę city jako miasto, a kolumnę state_province jako stan_województwo.
SELECT city miasto, nvl(state_province, 'brak') stan_wojewodztwo FROM locations;
Zobaczmy jak działają obliczenia matematyczne.
Przykład 6. Z tabeli employees wyświetlmy kolumny first_name, last_name oraz salary (wynagrodzenie). Wyświetlmy również dla każdego z pracowników, jako kolejną kolumnę, wartość pensji po podwyżce o 5%. A co tam! Niech mają, po podwyżce o 15% 🙂 Ostatnią kolumnę nazwijmy – po_podwyzce.
SELECT first_name, last_name, salary, salary*1.15 po_podwyzce FROM employees;
Uwaga! Separatorem dziesiętnym w liczbie jest kropka nie przecinek.
Co do samych działań – można stosować działania arytmetyczne (*, /, +, -). Można również stosować nawiasy.
Wybieranie bez powtórzeń
Jeśli chcemy wybrać wartości bez powtórzeń możemy użyć słowa kluczowego DISTINCT. Słowo kluczowe DISTINCT stoi zaraz po SELECT
Przykład 7. Wyświetl z tabeli employees kolumnę job_id wyświetlając wartości bez powtórzeń.
SELECT DISTINCT job_id FROM employees;
Dla porównania możesz uruchomić zapytanie bez słowa kluczowego DISTINCT -zobaczysz różnicę.
Co w następnej lekcji?
Limitowanie rekordów. Do tej pory wybieraliśmy niektóre kolumny, dodawaliśmy nowe.
W kolejnej lekcji dowiesz się jak wybierać tylko niektóre rekordy.