Kurs SQL online – Oracle: Pierwsze zapytania SQL

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.

 

 

About Rafal Stryjek

My LinkedIn profile. Passionate about data. Data Warehousing Expert. Snowflake Data SuperHero & Oracle ACE Associate. International conferences Speaker: Snowflake Build Summit-BUILD.local 2021, Oracle Open World, DOAG, UKOUG, APEX World,.. Visit dataconsulting.pl website!
This entry was posted in Nieokreślona, Oracle SQL Podstawy, SQL and tagged , , , , . Bookmark the permalink.

Leave a Reply