BDL1-28022010.doc

(39 KB) Pobierz
Warszawa 28-02-2010 r

Warszawa 28-02-2010 r.

 

Bazy Danych Laborki 1

 

- symbol spacji

 

Aby wejść bezpośrednio do bazy:

psql –dbname renta car

/dt     wyświetlenie tabeli renatcar

/?      help dla poleceń SQL

/h      help – wszystkie dostępne polecenia

/q      wyjście z postgresa

/inazwa pliku    wgrywanie pliku

/o      przekserowanie wszystkich rezultatów do pliku

/d      struktury, schematy (lista tabel)

/dklienci            struktura relacji konkretnej bazy o nazwie klienci

 

Komendy:

Wyświetlenie zawartości całej tabeli

SELECT * FROM klienci;

 

Wyświetlenie imion z bazy klienci

SELECT imie FROM klienci;

 

Wyświetlenie marki i koloru z tabeli samochody

SELECT marka,kolor FROM samochody;

 

Wyświetlenie koloru auta z tabeli samochody

SELECT kolor FROM samochody;

 

Wyświetlenie koloru auta z tabeli samochody, ale bez powtórzeń

SELECT DISTINCT kolor FROM samochody;

 

Wyświetlenie stanowiska z tabeli pracownicy bez powtórzeń

SELECT DISTINCT stanowisko FROM pracownicy;

 

Wyświetlenie imienia i nazwiska klientów z tabeli klienci

SELECT imie,nazwisko FROM klienci;

 

Wyświetlenie imienia i nazwiska z tabeli klienci posortowane po nazwisku (domyślnie od A do Z)

SELECT imie,nazwisko FROM klienci ORDER BY nazwisko;

 

Wyświetlenie imienia i nazwiska z tabeli klienci posortowane po nazwisku (od Z do A)

SELECT imie,nazwisko FROM klienci ORDER BY nazwisko DESC;

 

Wyświetlenie marki i koloru z tabeli samochody posortowane po marce i kolorze

SELECT marka,kolor FROM samochody ORDER BY marka,kolor;

 

Wyświetlenie marki i koloru z tabeli samochody posortowane po marce (od Z do A) i kolorze

SELECT marka,kolor FROM samochody ORDER BY marka DESC,kolor;

 

Wyświetlenie nazwiska i pensji z tabeli pracownicy

SELECT nazwisko,pensja FROM pracownicy;

 

Wyświetlenie nazwiska i pensji z tabeli pracownicy posortowane po pensji

SELECT nazwisko,pensja FROM pracownicy ORDER BY pensja;

 

Wyświetlenie nazwiska, pensji i dodatku z tabeli pracownicy

SELECT nazwisko,pensja,dodatek FROM pracownicy;

 

Wyświetlenie nazwiska, pensji, dodatku jak również pensji z dodatkiem z tabeli pracownicy (brak nazwy nagłówka kolumny)

SELECT nazwisko,pensja,dodatek,pensja+dodatek FROM pracownicy;

 

Wyświetlenie nazwiska, pensji, dodatku jak również pensji z dodatkiem z tabeli pracownicy (z nadaniem nazwy nagłówkowi kolumny)

SELECT nazwisko,pensja,dodatek,pensja+dodatek  AS razem FROM pracownicy;

 

Wyświetlenie nazwiska, pensji, dodatku jak również pensji z dodatkiem z tabeli pracownicy (z nadaniem nazwy nagłówkowi kolumny) – inny sposób

SELECT nazwisko,pensja,dodatek,pensja+coalesce (dodatek, 0) AS razem FROM pracownicy;

 

Wyświetlenie nazwiska i dochodu rocznego z tabeli pracownicy

SELECT nazwisko,(pensja+coalesce (dodatek,0))*12 AS rocznie FROM pracownicy;

 

Wyświetlenie marki i koloru z tabeli samochody ale tylko Fiaty

SELECT marka,kolor FROM samochody WHERE marka=’Fiat’;

 

Wyświetlenie marki i koloru z tabeli samochody ale tylko Fiaty lub Fordy

SELECT marka,kolor FROM samochody WHERE marka=’Fiat’ OR marka=’Ford”;

 

Wyświetlenie marki i koloru z tabeli samochody ale tylko Fiaty lub Fordy – inny zapis..

SELECT marka,kolor FROM samochody WHERE marka in (‘Fiat’, ‘Ford’);

 

Wyświetlenie nazwiska i pensji z tabeli pracownicy z zakresu pomiedzy 1500 a 2000

SELECT nazwisko,pensja FROM pracownicy WHERE pensja>1500 AND pensja<2000;

 

Wyświetlenie nazwiska i pensji z tabeli pracownicy z zakresu pomiedzy 1500 a 2000 – inny sposób

SELECT nazwisko,pensja FROM pracownicy WHERE pensja BETWEEN 1500 AND 2000;

 

Wyświetlenie nazwiska i pensji z tabeli pracowników osób których dodatek był pusty

SELECT nazwisko,pensja FROM pracownicy WHERE dodatek isNULL;

 

Wyświetlenie nazwiska i pensji z tabeli pracowników osób których dodatek nie był pusty

SELECT nazwisko,pensja FROM pracownicy WHERE dodatek is NOT NULL;

 

Dodatkowe informacje:

LIKE można zastąpić ~~

ILIKE można zastąpić ~~* (bez znaczenia jest wielkość znaków)

% znak globalny zastępuje wszystko

_ znak globalny zastępuje jeden znak

 

 

Wyświetlenie nazwisk z tabeli klienci gdzie nazwisko zaczyna się na literkę „d”

SELECT nazwisko FROM klienci WHERE nazwisko ILIKE ‘d%’;

 

Wyświetlenie nazwisk z tabeli klienci gdzie nazwisko kończy się na literkę „i”

SELECT nazwisko FROM klienci WHERE nazwisko ILIKE ‘%i’;

 

Wyświetlenie nazwisk z tabeli klienci gdzie drugą literką w nazwisku jest „o”

SELECT nazwisko FROM klienci WHERE nazwisko ILIKE ‘_o%’;

 

Wyświetlenie nazwisk z tabeli klienci gdzie trzecią literką w nazwisku jest „w”

SELECT nazwisko FROM klienci WHERE nazwisko ILIKE ‘__w%’;

 

Wyświetlenie nazwisk z tabeli klienci gdzie nazwisko zaczyna się na literkę „d” – inny sposób

SELECT nazwisko FROM klienci WHERE nazwisko  ~* ‘^d’;

 

Wyświetlenie nazwisk z tabeli klienci gdzie nazwisko zaczyna się na literkę „d” i na „r”

SELECT nazwisko FROM klienci WHERE nazwisko  ~* ‘^d|^r’;

 

Wyświetlenie nazwisk z tabeli pracownicy ale tylko trzech (uwaga nie wiadomo które 3 zostaną wyświetlone)

SELECT nazwisko FROM pracownicy LIMIT 3;

 

Wyświetlenie nazwisk z tabeli pracownicy ale tylko 3 zaczynając od 2 rekordu

SELECT nazwisko FROM pracownicy OFFSET 2 LIMIT 3;

 

Brakuje tylko dwóch ostatnich komend związanych z powiązaniami tabel za pomocą kluczy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...
Zgłoś jeśli naruszono regulamin