• Nie Znaleziono Wyników

lista kolumn>

N/A
N/A
Protected

Academic year: 2021

Share "lista kolumn>"

Copied!
22
0
0

Pełen tekst

(1)

Autor: Joanna Karwowska

(2)

SELECT [DISTINCT] <

lista kolumn/wyrażeń

>

FROM

<lista tablic>

[WHERE <

warunek>

]

[GROUP BY <

lista kolumn>

] [HAVING <

warunek>

]

[ORDER BY <

lista kolumn/numerów>

]

[ ]

instrukcja może wystąpić, ale nie musi.

(3)

SELECT - określa, które kolumny z tablic

podanych we frazie FROM mają zostać włączone do wyniku (projekcja). Dodatkowo, mogą zostać włączone wyrażenia.

DISTINCT - powoduje wyeliminowanie duplikatów (wierszy powtarzających się).

FROM - określa tablice, na jakich działa instrukcja SELECT. Jeśli jest kilka tablic,

dokonywany jest produkt kartezjański tych tablic.

WHERE - określa warunki wyboru wierszy z

tablic wymienionych we frazie FROM (selekcja).

(4)

GROUP BY - powoduje wiązanie wierszy wynikowych w grupy o jednakowych

wartościach we wskazanych kolumnach, a następnie redukowanie tych grup do

pojedynczych wierszy.

HAVING - określa warunki wyboru dla wierszy powstałych w wyniku działania frazy GROUP BY.

ORDER BY - porządkuje wiersze wynikowe rosnąco lub malejąco według wartości

wskazanych kolumn:

ASC – rosnąco (domyślne sortowanie) DESC - malejąco

(5)

Uwaga 1!

Każda kolumna występująca we frazie GROUP BY musi wystąpić na liście wyboru instrukcji SELECT, i na odwrót.

Uwaga 2!

W warunku HAVING może wystąpić funkcja agregująca (ale nie w warunku WHERE!).

(6)

SELECT [DISTINCT] <

lista kolumn/wyrażeń>

FROM <

nazwa tablicy>

[ WHERE <

warunek> ]

Uwaga: <

lista kolumn> może przybrać formę *

(co oznacza wybór wszystkich kolumn).

(7)

Przykład 1

Pokaż identyfikatory i nazwiska wszystkich pracowników.

SELECT nazwisko, pesel FROM pracownicy;

Przykład 2

Pokaż nazwy wszystkich miast, skąd pochodzą pracownicy.

SELECT DISTINCT miasto FROM pracownicy;

Uwaga:

Bez słowa DISTINCT nazwy miast mogłyby się powtarzać.

(8)

Przykład 3

Pokaż imiona i nazwiska pracowników, którzy pochodzą z Sopotu.

SELECT imie, nazwisko FROM pracownicy

WHERE miasto = ‘Sopot’;

(9)

Przykład 4

Pokaż imiona i nazwiska i pensje wszystkich pracowników.

SELECT imie, nazwisko, pensja FROM pracownicy, stanowiska

WHERE stanowisko=stanowiska.id_stanowiska;

Relacja:

{klucz_obcy=nazwa_tabeli.klucz_podstawowy}

(10)

Bez frazy ORDER BY wyniki zapytania ukazują się w porządku nieokreślonym (w porządku

wstawienia ich do tablicy).

Przykład 5

Posortuj alfabetycznie (rosnąco) dane o pracownikach według pola nazwisko.

SELECT nazwisko, imie, pesel FROM pracownicy ORDER BY nazwisko ASC;

(11)

Przykład 6

Policz ilość pracowników w każdym mieście.

SELECT miasto, COUNT(*) FROM pracownicy GROUP BY miasto;

(12)

Operatory języka SQL występujące w wyrażeniach we frazie SELECT, WHERE i in.:

Operatory arytmetyczne:

** ^ potęgowanie

* / mnożenie, dzielenie

+ - dodawanie, odejmowanie

Operatory logiczne:

NOT AND OR

Operatory porównania:

= > < >= <= <>

Operatory specjalne:

IN BETWEEN LIKE

Operatory porównania z wartością pustą:

IS NULL IS NOT NULL

(13)

IN - sprawdza, czy wartość w kolumnie jest równa jednej z wartości określonej na liście wartości lub będących wynikiem instrukcji SELECT.

Przykład:

WHERE miasto = ‘Gdansk’ OR miasto =

‘Gdynia’ OR miasto = ‘Sopot’

jest równoważne:

WHERE miasto IN (‘Gdansk’, ‘Gdynia’, ‘Sopot’)

(14)

BETWEEN - sprawdza, czy wartość

w kolumnie jest zawarta w przedziale wartości.

Przykład:

WHERE pensja>=3000 AND pensja<=5000 jest równoważne:

WHERE pensja BETWEEN 3000 AND 5000

(15)

LIKE - porównuje zawartość kolumny znakowej z łańcuchem znaków, który może zawierać symbole wieloznaczne.

Symbole wieloznaczne:

_ (podkreślenie) - pasuje do dowolnego pojedynczego znaku,

% (procent) - pasuje do dowolnej liczby dowolnych znaków.

Przykład

Pokaż wszystkich pracowników o nazwiskach zaczynających się na literę B.

SELECT nazwisko FROM pracownicy WHERE nazwisko LIKE ‘B%’;

(16)

COUNT()-zwraca liczbę wierszy wybranych w zapytaniu.

AVG()-oblicza średnią arytmetyczną w kolumnie numerycznej.

SUM()-sumuje wartości kolumn numerycznych.

MIN()-znajduje wartość minimalną w kolumnie znakowej, numerycznej lub daty.

MAX()-znajduje wartość maksymalną w kolumnie znakowej, numerycznej lub daty.

(17)

COUNT(*) - zwraca liczbę wierszy w tablicy wynikowej.

COUNT(DISTINCT <

nazwa kolumny>)

- zwraca liczbę różnych wartości we wskazanej

kolumnie.

Przykład 1

Ilu pracowników pochodzi z Sopotu?

SELECT COUNT(*) FROM pracownicy WHERE miasto = ‘Sopot’;

Przykład 2

Z ilu różnych miast pochodzą pracownicy?

SELECT COUNT(DISTINCT miasto) FROM pracownicy;

(18)

Przykład 1

Podaj sumę zarobków wszystkich pracowników.

SELECT SUM(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 2

Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji.

SELECT SUM(pensja) AS „Suma zarobków”

FROM pracownicy, stanowiska

WHERE stanowisko=stanowiska.id_stanowiska;

(19)

Przykład 1

Podaj średnie wynagrodzenie wszystkich pracowników.

SELECT AVG(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 2

Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji.

SELECT AVG(pensja) AS „Średnie wynagrodzenie”

FROM pracownicy, stanowiska

WHERE stanowisko=stanowiska.id_stanowiska;

(20)

Przykład 1

Znajdź największą pensję pracownika.

SELECT MAX(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 2

Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji.

SELECT MAX(pensja) AS „Najwyższewynagrodzenie”

FROM pracownicy, stanowiska

WHERE stanowisko=stanowiska.id_stanowiska;

(21)

Przykład 1

Znajdź najmniejszą pensję pracownika.

SELECT MIN(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 2

Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji.

SELECT MIN(pensja) AS „Minimalne wynagrodzenie”

FROM pracownicy, stanowiska

WHERE stanowisko=stanowiska.id_stanowiska;

(22)

Cytaty

Powiązane dokumenty

Dodaj do tabeli pracownicy nowe pole o nazwie drugie_imie2. ALTER TABLE pracownicy ADD drugie_imie

Stosowany ostatnio coraz częściej ibandronian (rów- nież w formie parenteralnej u osób z przeciwwska- zaniami do leczenia doustnego) zmniejsza ryzyko złamań kręgów o 50–60%,

o stosowanej licencji, o posiadaczach praw oraz o programie polskiej

Wykazać, że jeżeli V jest skończenie wymiarową przestrzenią liniową, to wielo- miany charakterystyczne (a więc także wartości własne) macierzy przekształcenia T ∈ L(V )

Czyli tak: funkcja jest bardzo porządna 8 , jej szereg Taylora jest świetnie zbieżny 9 , ale suma tego szeregu Taylora nie ma wiele wspólnego z samą funkcją, bo suma szeregu

[r]

Dwiczenie: Wypisz imie i wiek kotów, których wiek jest wyższy niż średni wiek kotów z bandy nr 2 (podzapytanie w sekcji WHERE).?. SELECT imie, wiek

Na koniec tabela ta może zostać posortowana według kryteriów określonych po klauzuli ORDER BY, a także o ile użyto takowych opcji, powtarzające się wiersze mogą zostać