Bazy wzor A id 735792 Nieznany (2)

background image

Kolokwium – Bazy danych, SQL

Nazwisko:

WZÓR

WZÓR

WZÓR

WZÓR

WZÓR

WZÓR

Imię:

indeks:

Dane są następujące tabele Artykul i Dziennikarz:

[Artykul]
id | tytuł | nr | kod_dz | kB
----+---------------------+-----+--------+---------
1 | Wielkie Żarcie | 14 | BEKSA | 18.50
2 | Boso, ale z muchą | 14 | REDD |
3 | Władcy much | 17 | REDD | 24.02
4 | Myślenie owiec | 15 | BEKSA | 17.40
5 | Prawda bez barier | 15 | BEKSA | 16.20

[Dziennikarz]
id | imie | nazwisko | płeć
-------+--------+-----------+------
NOWAK | Jan | Nowak | M
BEKSA | Karol | Beksiński | M
KOWAL | Jakub | Kowalski | M
REDD | Carol | Redd | K

'id' jest kluczem głównym w tabeli Artykul, jest nadawany automatycznie jako kolejna liczba
naturalna, 'kod_dz' jest kluczem obcym w tabeli Artykul wskazującym na klucz główny 'id' w tabeli
Dziennikarz.

Zad. 1. Zapisz w SQL definicje tych tabel (tylko definicje, nie konkretn tre

).

ą

ść

Zad. 2. Wstaw do ka dej z tabel drugi od góry wiersz z odpowiedniej tabeli powy ej.

ż

ż

create table Dziennikarz(

id varchar(5) primary key,

nazwisko varchar(22),

imie varchar(22),

plec char(1)

);

create table Artykul(

id serial,

tytul varchar(22),

nr integer,

kod_dz varchar(5) references dziennikarz(id),

kB numeric (7,2) -- decimal(7,2)

);

insert into dziennikarz (id,imie,nazwisko,plec)

values('BEKSA','Karol','Beksiński','M');

insert into artykul (tytul,nr,kod_dz,kB)

values('Boso, ale z muchą',14,'REDD',NULL);

background image

Odwołujemy się do treści tabel podanej w zad.1

Zad. 3. Jak b dzie wygl da wynik zapytania

ę

ą ł

SELECT kod_dz, COUNT(*) AS liczba_artykułów FROM Artykul GROUP BY
kod_dz HAVING COUNT(*)>1;

Zad. 4. Jak b dzie wygl da wynik zapytania

ę

ą ł

SELECT tytul,nr from Artykul

WHERE kod_dz IN (SELECT id FROM Dziennikarz
WHERE plec='M');

kod_dz | liczba_artykułów

--------+------------------

REDD | 2

BEKSA | 3

(2 rows)

tytul | nr

-------------------+----

Wielkie Żarcie | 14

Myślenie owiec | 15

Prawda bez barier | 15

(3 rows)

Zad. 5. Zmie definicj tabel z zad. 1 wstawiaj c dodatkowy atrybut dla daty publikacji

ń

ę

ą

w tabeli artyku ów. W kolumnie ustaw dat dzisiejsz .

ł

ę

ą

Zad. 6. Usu z systemu tabel dziennikarzy.

ń

ę

alter table artykul add column data_wyd date default

date('2008-05-24')

;

drop table dziennikarz cascade;

background image

Posługując się strukturą tabel z zad. 1 skonstruuj zapytania SQL wykonujące polecenia opisane
poniżej. Zapytania powinny zwracać poprawne wyniki bez względu na to jakie dane znajdują się w
tabelach (tzn. nie mogą odwoływać się bezpośrednio do konkretnych danych).

Zad. 7. Zmie d ugo

artyku ów Beksi skiego stosuj c mno nik 0,75.

ń ł

ść

ł

ń

ą

ż

Zad. 8. Wypisz numery, w których ukaza y sie artyku y Beksi skiego w kolejno ci malej cej.

ł

ł

ń

ś

ą

Zad. 9. Wypisz nazwiska dziennikarzy, którzy nie napisali adnego artyku u.

ż

ł

Zad. 10. Usu z bazy dane dziennikarzy, którzy nie napisali adnego artyku u.

ń

ż

ł

Zad. 11. Podaj d ugo

najd u szego artyku u napisanego przez kobiet .

ł

ść

ł ż

ł

ę

Zad. 12. Podaj tytu najd u szego artyku u napisanego przez kobiet .

ł

ł ż

ł

ę

Zad. 13. Usu dane dziennikarzy m

czyzn, pod warunkiem jednak, e nie s autorami

ń

ęż

ż

ą

adnego artyku u.

ż

ł

zad. 7 UPDATE Artykul set kB=kB*1.05 WHERE kod_dz IN (SELECT id FROM

Dziennikarz WHERE nazwisko like 'Beksiński')

;

zad. 8 SELECT distinct nr FROM Artykul WHERE kod_dz IN (SELECT id

FROM Dziennikarz WHERE nazwisko like 'Beksiński') order by nr desc

;

zad. 9 SELECT nazwisko FROM Dziennikarz WHERE id not in (SELECT

kod_dz FROM Artykul)

;

select nazwisko from Dziennikarz left join Artykul on

kod_dz=Dziennikarz.id where kod_dz is null;

select nazwisko from Dziennikarz where not exists (select 1

from Artykul where kod_dz=Dziennikarz.id);

zad. 10 delete FROM Dziennikarz WHERE id not in (SELECT kod_dz FROM

Artykul)

;

zad. 11 SELECT max(kB) FROM Artykul A inner join

Dziennikarz D on A.kod_dz=D.id WHERE plec='K'

;

zad. 12 SELECT tytul FROM Artykul A inner join

Dziennikarz D on A.kod_dz=D.id WHERE plec='K' and kB=(SELECT max(kB)

FROM Artykul A inner join

Dziennikarz D on A.kod_dz=D.id WHERE plec='K')

;

zad. 13 delete FROM Dziennikarz WHERE plec='M' and id not in (SELECT

kod_dz FROM Artykul)

;


Wyszukiwarka

Podobne podstrony:
Bazy wzor W id 735795 Nieznany (2)
Bazy wzor L id 735794 Nieznany (2)
Bazy wzor K id 735793 Nieznany (2)
BAZY DANYCH 4 id 81365 Nieznany (2)
Bazy danych id 81339 Nieznany (2)
kontrakt socjalny wzor id 24685 Nieznany
PROJEKT WZOR 2 id 399817 Nieznany
Bazy Danych id 81350 Nieznany (2)
Bazy danych id 81382 Nieznany (2)
Bazy danych1 id 81730 Nieznany (2)
lab13 Bazy Danych4 id 750409 Nieznany
bazy danych 3 id 81389 Nieznany
lekcje bazy kwerendy id 265677 Nieznany
BAZY DANYCH 4 id 81365 Nieznany (2)
bazy danych druga id 81754 Nieznany (2)
Bazy danych kolo 2 1 id 81756 Nieznany
Bazy 2 id 81307 Nieznany (2)
BAZY id 81304 Nieznany (2)

więcej podobnych podstron