Główna forma zapytania SELECT
Distinc oznacza nie powtarzające się wiersze.
SELECT [DISTINC] nazwy(a)_kolumny /*
FROM nazwa_tabeli ;
Selekcja wierszy z tabeli z warunkiem
SELECT [DISTINC] nazwy(a)_kolumny
FROM nazwa_tabeli
WHERE nazwa_kolumny operator_porównania wartoć;
Uporządkowanie wierszy
SELECT [DISTINC] nazwy(a)_kolumny /*
FROM nazwa_tabeli
ORDER BY nazwy(a)_kolumn(y) / numer(y)_kolumn(y) [ASC/DESC-rosn±co/malejąco] ;
Operatory porównania
= równe
< mniejsze niż
!= nie równe
<= mniejsze niż lub równe
> większe niż
>= większe niż lub równe
Warunek iloczynowy (AND)
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE warunek AND warunek ;
Alternatywny warunek zapytania
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE warunek OR warunek ;
Wyszukiwania zakresowe (BETWEEN)
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE nazwa_kolumny
[NOT] BETWEEN warto¶ć_1 AND warto¶ć_2 ;
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE wartoć
[NOT] BETWEEN nazwa_kolumny_1 AND nazwa_kolumny_2
Poszukiwanie wzorców znakowych (LIKE)
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE nazwa_kolumny
[NOT] LIKE "napis" ;
Wyszukiwanie wartości NULL
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE nazwa_kolumny IS [NOT] NULL ;
Operatory porównania zbioru (IN)
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE nazwa_kolumny
[NOT] IN (wartoć_1, wartoć_2, .....) ;
Funkcje wbudowane
SELECT funkcja_wbudowana [DISTINCT] nazwa_kolumny
FROM nazwa_tabeli
[WHERE warunek] ;
Funkcje wbudowane w SQL
AVG
SUM
MIN
MAX
COUNT (może być użyta razem z *
Obliczenia
SELECT nazwy(a)_kolumn(y), wyrażenie arytmetyczne
FROM nazwa_tabeli
[WHERE warunek]
[ORDER BY nazwy(a)_kolumn(y) / *] ;
Operatory arytmetyczne
+ dodawanie
- odejmowanie
* mnożenie
/ dzielenie
Podzapytania
Zapytanie główne:
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE nazwa_kolumny
operator_porównania / operator_porównania zbioru
pod zapytanie :
(SELECT nazwa_kolumny
FROM nazwa_tabeli
[WHERE warunek] ) ;
Grupowanie
SELECT nazwy(a)_kolumn(y), funkcja_wbudowana(argument)
FROM nazwa_tabeli
[WHERE warunek]
GROUP BY nazwy(a)_kolumn(y)
[HAVING warunek]
[ORDER BY nazwy(a)_kolumny / numer(y)_kolumn(y) [ASC/DESC]] ;
Złączanie tabel
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli, nazwa_tabeli [,nazwa_tabeli, .....]
WHERE warunek_zł±czenia
[AND / OR warunek]
[ORDER BY nazwy(a)_kolumny / numer(y)_kolumn(y)] ;
Operowanie danymi
Wstawianie wierszy do tabeli
INSERT INTO nazwa_tabeli
[(nazwa_kolumny_1, nazwa_kolumny_2, ....)]
VALUES (wartoć_1, wartoć_2, ...);
INSERT INTO nazwa_tabeli
[(nazwa_kolumny_1, nazwa_kolumny_2, ....)]
VALUES (wartoć_1, wartoć_2, ...)
SELECT nazwy(a)_kolumn(y)
FROM nazwa_tabeli
WHERE warunek ;
INSERT INTO Klienci
VALUES (1,’Piotr’,'Kowalski’,'Aktualny’,'(032)255-45-98′); >
INSERT INTO Klienci (Imie,Nazwisko)
SELECT Imie,Nazwisko
FROM Klienci2
WHERE ID_Klienta >500;
UPDATE nazwa_tabeli / nazwa_perspektywy
SET nazwa_kolumny_1=wartoć / wyrażenie_arytmetyczne,
..........
nazwa_kolumny_n=wartoć / wyrażenie_arytmetyczne
[WHERE warunek];
UPDATE Klienci
SET ID_Klienta =
(SELECT ID_Klienta FROM Klienci,Adresy
WHERE Klienci.ID_Klienta=Adresy.ID_Klienta
AND Adres=’Katawice’);>
Kasowanie wierszy z tabeli
DELETE FROM nazwa_tabeli
[WHERE warunek] ;
Definiowanie danych, tworzenie tablic
CREATE TABLE nazwa_tabeli
(nazwa_kolumny_1 typ_danych [NOT NULL]
nazwa_kolumny_2 typ_danych [NOT NULL]
...........
nazwa_kolumny_n typ_danych [NOT NULL] ;
CREATE TABLE Klienci
(ID_Klienta Number(4) PRIMARY KEY,
Imie Varchar2(20) NOT NULL,
Nazwisko Varchar2(20) NOT NULL,
Status Varchar2(10) DEFAULT ‘Aktualny’);
CREATE TABLE Nieaktualne
AS SELECT * FROM Klienci
WHERE Status != ‘Aktualny’;
Definiowanie danych, zmiana tablic
ALTER TABLE nazwa_tabeli
ADD nazwa_kloumny typ_danych;
ALTER TABLE Klienci
ADD (Telefon Varchar2(10));
DROP TABLE nazwa_tabeli ;
Definiowanie danych, tworzenie indeksu
CREATE [UNIQUE] INDEX nazwa_indeksu
ON nazwa_tabeli (nazwy(a)_kolumny [ASC/DESC]);
Definiowanie danych, usuwanie indeksu
DROP INDEX (nazwa_indeksu);
Definiowanie danych, tworzenie synonimu
CREATE SYNONYM nazwa_synonimu
FOR nazwa_tabeli / nazwa_perspektywy;
Definiowanie danych, usuwanie synonimu
DROP SYNONYM nazwa_synonimu;
Definiowanie danych, tworzenie perspektywy
CREATE VIEW nazwa_perspektywy
AS instrukcja_zapytania_w_SQL ;
Definiowanie danych, usuwanie perspektywy
DROP VIEW nazwa_perspektywy;
Administrowanie danymi
Przyznanie uprawnienia:
GRANT ALL / SELECT / UPDATE / INSERT / DELETE / INDEX / ALTER
dla obiektu:
ON nazwy(a)_tabel(i) / nazwa_perspektyw(y)
dla użytkownika:
TO nazwy(a)_użytkowników(a);
Usunięcie uprawnień
REVOKE ALL / SELECT / UPDATE / INSERT / DELETE / INDEX / ALTER
ON nazwy(a)_tabel(i) / nazwa_perspektyw(y)
TO nazwy(a)_użytkowników(a);
źródło http://figaro.ae.katowice.pl/~roznicki/sql.htm