logo



Problema 29

Evidența activităţii unui service auto se realizează prin intermediul unei baze de date ce cuprinde tabelul Mecanici cu structura Id_mecanic (N,3), Nume (T,60), Salariu (N,6.2), Data_angajarii (D), Experienta (Y/N).
Cerinţe:
a) Creaţi structura tabelului Mecanici;
b) Introduceți următoarele înregistrări în tabel:

Id_mecanic

Nume

Salariu

Data_angajarii

Experienta

7

Coanda Vlad

2086.60

12.aug.2003

Y

14

Apostolescu Lucian

1805.40

22.sep.2008

N

15

Dobre Cosmin

1754.30

14.dec.2003

N

12

Murgulescu Ioana

1945.00

24.oct.2003

Y

19

Matei Cosmin

978.15

09.apr.2010

N

3

Chiran Radu

1218.30

02.mai.2006

N

c) Afişaţi mecanici cu experienţă, în ordinea crescătoare a angajării;
d) Folosind o interogare (secvenţă de instrucţiuni), măriţi salariul mecanicilor cu 2%.

Rezolvare:

# a)

CREATE TABLE Mecanici (
    Id_mecanic INT(3),
    Nume VARCHAR(60),
    Salariu DECIMAL(6,2),
    Data_angajarii DATE,
    Experienta CHAR(1) CHECK (Experienta IN ('Y', 'N'))
);

# b)

INSERT INTO Mecanici (Id_mecanic, Nume, Salariu, Data_angajarii, Experienta) VALUES
(7, 'Coanda Vlad', 2086.60, '2003-08-12', 'Y'),
(14, 'Apostolescu Lucian', 1805.40, '2008-09-22', 'N'),
(15, 'Dobre Cosmin', 1754.30, '2003-12-14', 'N'),
(12, 'Murgulescu Ioana', 1945.00, '2003-10-24', 'Y'),
(19, 'Matei Cosmin', 978.15, '2010-04-09', 'N'),
(3, 'Chiran Radu', 1218.30, '2006-05-02', 'N');

SELECT * from Mecanici;

# c)

SELECT *
FROM Mecanici
WHERE Experienta = 'Y'
ORDER BY Data_angajarii ASC;
    
# d)

UPDATE Mecanici
SET Salariu = Salariu * 1.02;

SELECT * from Mecanici;

 

 



Copyright © 2016 Kalytheo