Zawartość kursu
Podstawy zapytań SELECT
Celem tego bloku jest nauka podstawowej składni polecenia SELECT, używania aliasów, wyrażeń obliczeniowych oraz sortowania wyników
0/2
Filtrowanie danych – WHERE
Nauka filtrowania wierszy za pomocą klauzuli WHERE, operatorów porównania, BETWEEN, IN, LIKE, IS NULL oraz łączenia warunków AND/OR.
0/3
Funkcje wbudowane
Praktyczne zastosowanie funkcji tekstowych, liczbowych oraz daty i czasu dostępnych w Oracle SQL.
0/2
Łączenie tabel.
Łączenie tabel przy użyciu JOIN wewnętrznego i zewnętrznego, operatorów zbiorowych UNION i INTERSECT.
0/2
Grupowanie danych= GROUP BY, HAVING.
Agregowanie danych, funkcje grupujące oraz filtrowanie wyników zagregowanych.
0/2
Zapytania zagnieżdżone – SUBQUERIES
Podzapytania w klauzulach WHERE, FROM i SELECT. Operatory IN, EXISTS, ANY, ALL.
0/2
DDL i DML – Tworzenie i modyfikacja obiektów.
Tworzenie tabel, wstawianie, aktualizacja i usuwanie danych. Transakcje COMMIT / ROLLBACK.
0/2
Wskazówki do nauki i egzaminu Oracle SQL Fundamentals
0/1
Zbiór zadań: Wprowadzenie do pracy z Oracle SQL

Zadanie 45.

CREATE TABLE projekty (
    projekt_id   NUMBER        PRIMARY KEY,
    nazwa        VARCHAR2(100) NOT NULL,
    data_startu  DATE,
    budzet       NUMBER(12,2)
);

 

Zadanie 46.

INSERT INTO projekty VALUES (1, 'Alpha', DATE '2023-01-15', 150000);
INSERT INTO projekty VALUES (2, 'Beta',  DATE '2023-06-01', 220000);
INSERT INTO projekty VALUES (3, 'Gamma', DATE '2019-11-30', 80000);
COMMIT;

 

Zadanie 47.

UPDATE projekty
SET budzet = budzet * 1.20
WHERE projekt_id = 1;
COMMIT;

 

Zadanie 48.

DELETE FROM projekty
WHERE data_startu < DATE '2020-01-01';
COMMIT;

 

Zadanie 49.

CREATE TABLE kopia_pracownikow AS
SELECT *
FROM employees
WHERE department_id = 60;

 

Zadanie 50.

-- Wstaw rekord
INSERT INTO projekty VALUES (4, 'Delta', SYSDATE, 500000);

-- Sprawdź dane
SELECT * FROM projekty WHERE projekt_id = 4;

-- Jeśli poprawne:
COMMIT;

-- Jeśli błąd – wycofaj:
-- ROLLBACK;

 

📝 Omówienie

DDL (CREATE, ALTER, DROP) automatycznie zatwierdza transakcję (implicit COMMIT). DML (INSERT, UPDATE, DELETE) wymaga jawnego COMMIT lub może być wycofany przez ROLLBACK do momentu zatwierdzenia. CREATE TABLE … AS SELECT to szybki sposób tworzenia kopii danych. PRIMARY KEY zapewnia unikalność i NOT NULL kolumny kluczowej. VARCHAR2 jest preferowanym typem tekstowym w Oracle (zamiast CHAR). NUMBER(12,2) definiuje liczbę o maksymalnie 12 cyfrach, z czego 2 po przecinku.

 

 

 

Kilka zasad ogólnych:

  1. Kolejność wykonywania zapytania SELECT: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
  2. NULL nie równa się NULL – zawsze używaj IS NULL / IS NOT NULL
  3. Funkcje agregujące ignorują NULL – COUNT(*) liczy wiersze, COUNT(kolumna) pomija NULL
  4. COMMIT zatwierdza, ROLLBACK wycofuje transakcję – DDL zawsze kończy bieżącą transakcję
  5. W Oracle konkatenacja to ||, nie + ani CONCAT (choć CONCAT też działa dla 2 argumentów)
  6. ROWNUM i FETCH FIRST n ROWS ONLY – dwa sposoby limitowania wyników w Oracle
  7. DUAL – specjalna tabela z jednym wierszem, przydatna do testowania wyrażeń: SELECT SYSDATE FROM DUAL

 

 

 

 

Przewijanie do góry