SQL Carti Existente Intr-o Biblioteca

2
Într-o baza de date se memorează informaţii despre cărţile existente într-o bibliotecă. Entitatea corespunzătoare este: a) Construiţi tabela corespunzătoare şi populaţi cu înregistrări relevante pentru cerinţele următoare: b) Afisati titlul si autorul fiecarei carti cu majuscule si intr-o coloana denumita Informatii autor, urmatoarele mesaje: daca autorul este Mihai Eminescu, mesajul va fi Poet naţional, daca autorul este Ion Creangă, mesajul va fi Povestitor, dacă autorul este Liviu Rebreanu, mesajul va fi Romancier. Pentru ceilalţi autori veţi afişa şirul de caractere “-------“. c) Afişaţi titlul si autorul cartilor care au apărut în luna martie şi conţin in coloana observaţii cuvântul extraordinar. d) Afişaţi preţul maxim, preţul mediu, preţul minim, valoarea totală a cărţilor din bibliotecă, precum şi numarul acestora, in coloane denumite corespunzător. A. CREATE TABLE carti ( cod number(10) PRIMARY KEY, titlu Varchar2(50) NOT NULL, autor Varchar2(40) NOT NULL, data_aparitiei DATE NOT NULL, pret Number(6,2) NOT NULL, observatii Varchar2(100) ) INSERT INTO carti VALUES ('100', 'Poezii', 'Mihai Eminescu', '14-jan- 2007', 24, '') INSERT INTO carti VALUES ('200', 'Povesti, povestiri, amintiri', 'Ion Creanga', '12-mar-1980', 3, '') INSERT INTO carti VALUES ('300', 'N3', 'A3', '12-mar-1980', 3, '') INSERT INTO carti VALUES ('400', 'N4', 'A4', '12-mar-1980', 3, 'extraordinar') B) SELECT Upper(titlu), Upper(autor), Case autor When 'Mihai Eminescu' Then 'Poet national' When 'Ion Creanga' Then 'Povestitor' When 'Liviu Rebreanu' Then 'Romancier' Else '-------' End AS "Informatii autor" FROM carti C) SELECT titlu, autor FROM carti

description

SQL Matematica-Informatica

Transcript of SQL Carti Existente Intr-o Biblioteca

ntr-o baza de date se memoreaz informaii despre crile existente ntr-o bibliotec. Entitatea corespunztoare este:

a) Construii tabela corespunztoare i populai cu nregistrri relevante pentru cerinele urmtoare:

b) Afisati titlul si autorul fiecarei carti cu majuscule si intr-o coloana denumita Informatii autor, urmatoarele mesaje: daca autorul este Mihai Eminescu, mesajul va fi Poet naional, daca autorul este Ion Creang, mesajul va fi Povestitor, dac autorul este Liviu Rebreanu, mesajul va fi Romancier. Pentru ceilali autori vei afia irul de caractere -------.

c) Afiai titlul si autorul cartilor care au aprut n luna martie i conin in coloana observaii cuvntul extraordinar.d) Afiai preul maxim, preul mediu, preul minim, valoarea total a crilor din bibliotec, precum i numarul acestora, in coloane denumite corespunztor.

A.

CREATE TABLE carti (

cod number(10) PRIMARY KEY,

titlu Varchar2(50) NOT NULL,

autor Varchar2(40) NOT NULL,

data_aparitiei DATE NOT NULL,

pret Number(6,2) NOT NULL,

observatii Varchar2(100)

)

INSERT INTO carti VALUES ('100', 'Poezii', 'Mihai Eminescu', '14-jan-2007', 24, '')

INSERT INTO carti VALUES ('200', 'Povesti, povestiri, amintiri', 'Ion Creanga', '12-mar-1980', 3, '')

INSERT INTO carti VALUES ('300', 'N3', 'A3', '12-mar-1980', 3, '')

INSERT INTO carti VALUES ('400', 'N4', 'A4', '12-mar-1980', 3, 'extraordinar')

B)

SELECT Upper(titlu), Upper(autor), Case autor

When 'Mihai Eminescu' Then 'Poet national'

When 'Ion Creanga' Then 'Povestitor'

When 'Liviu Rebreanu' Then 'Romancier'

Else '-------' End AS "Informatii autor"

FROM carti

C)

SELECT titlu, autor

FROM carti

WHERE to_char(data_aparitiei, 'mm') = 3 AND observatii LIKE ('%extraordinar%')

D)

SELECT min(pret) AS "Pret minim", max(pret) AS "Pret maxim", AVG (pret) AS "Pret mediu", SUM (pret) AS "Pret total", Count (cod) AS "Numar carti"

FROM carti