background image

1

1

Wyszukiwanie danych w zapytaniach SQL cz.2

Wyszukiwanie danych w zapytaniach SQL cz.2

(Aliasy, BETWEEN, IN, NULL, NOT NULL, ORDER BY)

(Aliasy, BETWEEN, IN, NULL, NOT NULL, ORDER BY)

Prezentacja do ćwiczenia 6

Prezentacja do ćwiczenia 6

Materiały wykorzystane w przykładach:

Materiały wykorzystane w przykładach:

Materiały pomocnicze  do ćwiczeń laboratoryjnych\Ćwiczenie 6

Materiały pomocnicze  do ćwiczeń laboratoryjnych\Ćwiczenie 6

background image

2

2

Zakres ćwiczeń 

Zakres ćwiczeń 

W przykładach zawartych w prezentacji do laboratorium opisane 

W przykładach zawartych w prezentacji do laboratorium opisane 

zostaną następujące zagadnienia:

zostaną następujące zagadnienia:

Aliasy 

Aliasy 

AS

AS

Operator

Operator

 BETWEEN…AND

 BETWEEN…AND

Predykat 

Predykat 

IN

IN

Predykat 

Predykat 

 IS NULL i IS NOT NULL

 IS NULL i IS NOT NULL

Klauzula 

Klauzula 

ORDER BY

ORDER BY

Prezentacja kończy się ćwiczeniami do wykonania, aby utrwalić 

Prezentacja kończy się ćwiczeniami do wykonania, aby utrwalić 

nabytą wiedzę.

nabytą wiedzę.

background image

3

3

Aliasy AS

Alias to alternatywna nazwa atrybutu. Z aliasów można korzystać 
podczas sortowania i prezentacji wyników.

use [baza]

use [baza]

select [kolumna] AS [nowa_nazwa]

select [kolumna] AS [nowa_nazwa]

from [tabela];

from [tabela];

Przykład 1. W tabeli „pojazdy” nazwa w kolumnie marka zmieniona 

Przykład 1. W tabeli „pojazdy” nazwa w kolumnie marka zmieniona 

zostanie na nazwę Nazwa_marki.

zostanie na nazwę Nazwa_marki.

use msmot

use msmot

select marka AS Nazwa_marki ,marka

select marka AS Nazwa_marki ,marka

from pojazdy;

from pojazdy;

  

  

Rysunek 1

Przykład 1 pokazuje w jak prosty sposób zmienić nazwę kolumny na 
czas prezentacji wyników (Rysunek 1).

background image

4

4

Operator BETWEEN…AND

Operator 

Operator 

BETWEEN … AND

BETWEEN … AND

 pozwala sprawdzić czy szukana wartość 

 pozwala sprawdzić czy szukana wartość 

zawiera się między dwoma wskazanymi wartościami.

zawiera się między dwoma wskazanymi wartościami.

Wartość dolna musi być poprzedzana wartością górną.

Wartość dolna musi być poprzedzana wartością górną.

use [baza]

use [baza]

select [kolumna]

select [kolumna]

from [tabela]

from [tabela]

where [klumna] BETWEEN x AND y ;

where [klumna] BETWEEN x AND y ;

Gdzie 

Gdzie 

x i y

x i y

 to liczby rzeczywiste lub znaki tekstowe.

 to liczby rzeczywiste lub znaki tekstowe.

BETWEEN sprawdza czy wartość  danego wyrażenia mieści się w określonym 

BETWEEN sprawdza czy wartość  danego wyrażenia mieści się w określonym 

przez nas przedziale, jeśli tak to zwrócona zostanie wartość TRUE, w 

przez nas przedziale, jeśli tak to zwrócona zostanie wartość TRUE, w 

przeciwnym wypadku zwróci FALSE. 

przeciwnym wypadku zwróci FALSE. 

Jeśli któraś z porównywanych wartości jest NULL , zwrócona zostanie 

Jeśli któraś z porównywanych wartości jest NULL , zwrócona zostanie 

wartość UNKNOW.

wartość UNKNOW.

Możliwe jest tez zastosowanie operatora NOT, aby uzyskać wynik przeciwny.

Możliwe jest tez zastosowanie operatora NOT, aby uzyskać wynik przeciwny.

Operator BETWEEN ... AND stosujemy w klauzuli WHERE.

Operator BETWEEN ... AND stosujemy w klauzuli WHERE.

background image

5

5

Przykłady

Przykład 2. W tabeli „pracownik” wyszukane zostaną osoby, których 

Przykład 2. W tabeli „pracownik” wyszukane zostaną osoby, których 

numery domów mieszczą się w przedziale od 1 do 50.

numery domów mieszczą się w przedziale od 1 do 50.

use msmot

use msmot

select imie, nazwisko, numer

select imie, nazwisko, numer

from pracownik

from pracownik

where numer BETWEEN 1 AND 50 ;

where numer BETWEEN 1 AND 50 ;

Wynik działania zapytania (Rysunek 2).

Wynik działania zapytania (Rysunek 2).

Kwerenda wypisała 3 kolumny (imie, nazwisko, numer) i wyszukała osoby, których numer 

Kwerenda wypisała 3 kolumny (imie, nazwisko, numer) i wyszukała osoby, których numer 

mieszkania/domu mieszczą się w przedziale od 1 do 50.

mieszkania/domu mieszczą się w przedziale od 1 do 50.

Rysunek 2

background image

6

6

Predykat IN

Predykat 

Predykat 

IN 

IN 

pozwala na porównanie wartości w kolumnie przeszukiwanej 

pozwala na porównanie wartości w kolumnie przeszukiwanej 

tabeli z wartościami ze zbioru. Wartości typu znakowego, daty i czasu 

tabeli z wartościami ze zbioru. Wartości typu znakowego, daty i czasu 

muszą być otoczone nawiasami w apostrofach.

muszą być otoczone nawiasami w apostrofach.

use [baza]

use [baza]

select [nazwa_pola]

select [nazwa_pola]

from [tabela]

from [tabela]

where [pole] IN (x, y) ;

where [pole] IN (x, y) ;

Gdzie 

Gdzie 

y

y

 to liczby rzeczywiste.

 to liczby rzeczywiste.

background image

7

7

Przykłady

Przykład 3. Z tabeli „wypozyczenie” wybrane zostaną operacje 

Przykład 3. Z tabeli „wypozyczenie” wybrane zostaną operacje 

wypożyczenia z cenami „600” i „2000” zł .

wypożyczenia z cenami „600” i „2000” zł .

use msmot

use msmot

select data_wyp, data_odd, cena

select data_wyp, data_odd, cena

from wypozyczenie

from wypozyczenie

where cena IN (600,2000) ;

where cena IN (600,2000) ;

Wynik działania zapytania przedstawia Rysunek 3.

Wynik działania zapytania przedstawia Rysunek 3.

Kwerenda wybiera wszystkie wypożyczenia z cenami o wartościach 

Kwerenda wybiera wszystkie wypożyczenia z cenami o wartościach 

600 i 2000.. 

600 i 2000.. 

Rysunek 3

background image

8

8

Predykat IS NUT i IS NOT NULL

Wybieranie wierszy z tabeli,  w których jedno z pół zawiera wartość 

Wybieranie wierszy z tabeli,  w których jedno z pół zawiera wartość 

pustą 

pustą 

NULL

NULL

, polega na użyciu predykatu 

, polega na użyciu predykatu 

IS NULL

IS NULL

Predykat 

Predykat 

IS

IS

 

 

NOT NULL

NOT NULL

 działa odwrotnie, wybiera wartości nie puste 

 działa odwrotnie, wybiera wartości nie puste 

z tabeli.

z tabeli.

use [baza]

use [baza]

select [kolumna]

select [kolumna]

from [tabela]

from [tabela]

where [kolumna] IS NULL / NOT NULL ;

where [kolumna] IS NULL / NOT NULL ;

Obliczenia jakiegokolwiek wyrażenia, którego jeden z argumentów 

Obliczenia jakiegokolwiek wyrażenia, którego jeden z argumentów 

jest NULL, będzie rozpoznawany jako wartość pusta w komórce. 

jest NULL, będzie rozpoznawany jako wartość pusta w komórce. 

background image

9

9

Przykłady

Przykład 4. Zapytanie wybierze wiersze z pustymi polami w kolumnie 

Przykład 4. Zapytanie wybierze wiersze z pustymi polami w kolumnie 

nr_tel  tabeli „klient” .

nr_tel  tabeli „klient” .

use msmot

use msmot

select *

select *

from klient

from klient

where nr_tel IS NULL ;

where nr_tel IS NULL ;

Wynik działania zapytania przedstawia poniższy zrzut ekranu 

Wynik działania zapytania przedstawia poniższy zrzut ekranu 

(Rysunek 4).

(Rysunek 4).

Jeżeli zastosujemy natomiast  predykat :

Jeżeli zastosujemy natomiast  predykat :

where nr_tel IS NOT NULL;

where nr_tel IS NOT NULL;

Otrzymamy wszystkie niepuste wartości kolumny „nr_tel”.

Otrzymamy wszystkie niepuste wartości kolumny „nr_tel”.

Rysunek 4

background image

10

10

Klauzula ORDER BY

Klauzula 

Klauzula 

ORDER BY

ORDER BY

 pozwala sortować wynik zwracany przez 

 pozwala sortować wynik zwracany przez 

instrukcję SELECT.

instrukcję SELECT.

Możemy podać nie jedną nazwę kolumny a listę kolumn, według 

Możemy podać nie jedną nazwę kolumny a listę kolumn, według 

której ma odbyć się sortowanie, oraz dla poszczególnej kolumny 

której ma odbyć się sortowanie, oraz dla poszczególnej kolumny 

określić porządek sortowania.

określić porządek sortowania.

use [baza]

use [baza]

select [kolumna]

select [kolumna]

from [tabela]

from [tabela]

ORDER BY [kolumna] ASC/DESC, 

ORDER BY [kolumna] ASC/DESC, 

            

            

      

      

[kolumna] ASC/DESC ;

[kolumna] ASC/DESC ;

Słowo 

Słowo 

DESC

DESC

 oznacza sortowanie w porządku malejącym (z ang. 

 oznacza sortowanie w porządku malejącym (z ang. 

descanding), słowo 

descanding), słowo 

ASC

ASC

 oznacza sortowanie w porządku rosnącym 

 oznacza sortowanie w porządku rosnącym 

(z ang. ascanding).

(z ang. ascanding).

background image

11

11

Przykłady

Przykład 5. Pokazuje sortowanie malejąco według imion wierszy 

Przykład 5. Pokazuje sortowanie malejąco według imion wierszy 

wybranych z tabeli „klient” .

wybranych z tabeli „klient” .

use msmot

use msmot

select *

select *

from klient

from klient

ORDER BY imie DESC   ;

ORDER BY imie DESC   ;

Wynik działania powyższego zapytania przedstawia Rysunek 5.

Wynik działania powyższego zapytania przedstawia Rysunek 5.

Rysunek 5

Przykład 6. Sortowanie według rosnących      

Przykład 6. Sortowanie według rosnących      

     

     

wartości.

wartości.

use msmot

use msmot

select *

select *

from klient

from klient

ORDER BY imie ASC   ;

ORDER BY imie ASC   ;

Wynik działania zapytania przedstawia Rysunek 6.

Wynik działania zapytania przedstawia Rysunek 6.

Uwaga.

Uwaga.

 Znakom przyporzątkowane są numery 

 Znakom przyporzątkowane są numery 

porządkowe w tablicy kodów i dlatego można sortować 

porządkowe w tablicy kodów i dlatego można sortować 

znaki i łańcuchy znaków. 

znaki i łańcuchy znaków. 

Rysunek 6

background image

12

12

Przykłady

Przykład 7. Pokazuje sortowanie wierszy według imion malejąco i 

Przykład 7. Pokazuje sortowanie wierszy według imion malejąco i 

nazwisk rosnąco.

nazwisk rosnąco.

use msmot

use msmot

select imie, nazwisko

select imie, nazwisko

from klient

from klient

ORDER BY imie DESC   

ORDER BY imie DESC   

ORDER BY nazwisko ASC;

ORDER BY nazwisko ASC;

Wynik działania zapytania przedstawiono obok.

Wynik działania zapytania przedstawiono obok.

Rysunek 7

background image

13

13

Ćwiczenia

Ćwiczenia

1.

1.

Wyświetl imiona z przedziału od „a” do „m” i nazwij ją 

Wyświetl imiona z przedziału od „a” do „m” i nazwij ją 

Imiona_A_Z , użyj tabeli „klient”.

Imiona_A_Z , użyj tabeli „klient”.

2.

2.

Za pomocą predykatu IN wyświetl pojemności 500 i 300 z tabeli 

Za pomocą predykatu IN wyświetl pojemności 500 i 300 z tabeli 

„pojazdy” 

„pojazdy” 

3.

3.

Posortuj malejąco wiersze z tabeli „pojazdy” według kolumny 

Posortuj malejąco wiersze z tabeli „pojazdy” według kolumny 

„model”.

„model”.

4.

4.

Posortuj rosnąco imiona i nazwiska z tabeli pracownik.

Posortuj rosnąco imiona i nazwiska z tabeli pracownik.

5.

5.

W tabeli „wypozyczenie” wyświetl wszystkie ceny, oprócz cen  

W tabeli „wypozyczenie” wyświetl wszystkie ceny, oprócz cen  

600 i 630.

600 i 630.


Document Outline