Zestaw szkoleniowy 1 – SQL – Podstawy SELECT

Postanowiłem udostępnić dość prosty zestaw szkoleniowy, który powinien pomóc w pierwszych chwilach z bazami danych. Zestaw jest przygotowany dla bazy SQL SERVER, a zadania są weryfikowane w środowisku SQL Server 2008R2.


create database zajecia;
use zajecia;
create table przyjaciele (
id int not null primary key identity(1,1), -- unikalny id - pole numeryczne
imie varchar(255), -- pole tekstowe
plec int, -- 0 dziewczyna 1 facet -- wartosc numeryczna
wiek int, -- wiek w latach -- wartosc liczbowa
zarobki int, -- zarobki w tysiacach -- wartosc liczbowa
kolor int) -- kolor skory 0 jasny 10 ciemny - skala -- wartosc liczbowa

--wstawienie danych do tabeli:
insert into przyjaciele (imie,plec,wiek,zarobki,kolor)
values ('Janek',1,19,2000,0);
insert into przyjaciele (imie,plec,wiek,zarobki,kolor)
values ('Ania',0,29,5000,0);
insert into przyjaciele (imie,plec,wiek,zarobki,kolor)
values ('Krysia',0,25,3000,0);
insert into przyjaciele (imie,plec,wiek,zarobki,kolor)
values ('Marek',1,25,3500,0);
insert into przyjaciele (imie,plec,wiek,zarobki,kolor)
values ('Krzysztof',1,32,1400,0);
insert into przyjaciele (imie,plec,wiek,zarobki,kolor)
values ('Marysia',0,21,1200,0);

Powyższy kod tworzy bazę zajecia, oraz dodaje do niej jedną tabelę o nazwie przyjaciele. Do utworzonej tabeli ładowane są przykładowe dane. Polecenia te można wkleić do okna zapytań w SSMS i wykonać (przycisk F5 lub execute).

po wykonaniu tych zapytań możemy otworzyć nowe query window (należy się upewnić czy korzystamy z bazy zajęcia) i można wykonać zapytanie:

select * from przyjaciele

Powyżej wynik zapytania.
Teraz lista zadań:
1) Pokaż tylko imiona.
2) Pokaż imiona zapisane Wielkimi literami
3) Pokaż 1 literę imienia i nadaj alias kolumnie pt PierwszaLitera
4) Pokaż pierwszą i ostatnią literę imienia
5) Pokaż imiona osób które zarabiają mniej niż 2000
6) Pokaż wszystkie kolumny w tabeli posortowane po zarobkach
7) Pokaż wiersze w których imiona kończą się na literę ‘a’
8) Pokaż wiersze w których imiona nie kończą się na literę ‘a’ oraz zarobki są mniejsze niż 2000
9) Pokaż minimalne zarobki, maksymalne, średnią.
10) pokaż średnie zarobki w rozbiciu na płeć.

Poniżej odpowiedzi:

1) Pokaż tylko imiona.
select imie from przyjaciele

2) Pokaż imiona zapisane Wielkimi literami

select UPPER(imie) from przyjaciele


3) Pokaż 1 literę imienia i nadaj alias kolumnie pt PierwszaLitera
select LEFT(imie,1) PierwszaLitera from przyjaciele
lub
select LEFT(imie,1) as PierwszaLitera from przyjaciele
lub
select SUBSTRING(imie,1,1) as PierwszaLitera from przyjaciele

4) Pokaż pierwszą i ostatnią literę imienia

select LEFT(imie,1) + RIGHT(imie,1) from przyjaciele

5) Pokaż imiona osób które zarabiają mniej niż 2000
select imie from przyjaciele where zarobki < 2000

6) Pokaż wszystkie kolumny w tabeli posortowane po zarobkach
select * from przyjaciele order by zarobki

7) Pokaż wiersze w których imiona kończą się na literę ‘a’
select * from przyjaciele where imie like '%a'
lub
select * from przyjaciele where right(imie,1) = 'a'

8) Pokaż wiersze w których imiona nie kończą się na literę ‘a’ oraz zarobki są mniejsze niż 2000
select * from przyjaciele where imie not like '%a' and zarobki < 2000
lub
select * from przyjaciele where RIGHT(imie,1)!='a' and zarobki < 2000

9) Pokaż minimalne zarobki, maksymalne, średnią.
select MIN(zarobki),MAX(zarobki), AVG(zarobki) from przyjaciele

10) pokaż średnie zarobki w rozbiciu na płeć.
select AVG(zarobki),plec from przyjaciele
group by plec

Leave a Reply

Your email address will not be published. Required fields are marked *

two × one =