Sunteți pe pagina 1din 11

create database firma; -- creare baza de date cu numele firma instructiune tip DDL(creeate pentru DDL)

-- asta inseamna inserarea de comentarii

drop database firma; -- stergere baza de date instructiune DDL -- delete pentru DDL

/* inserare de comentariu

inserare de comentariu

*/

use firma; -- utlizare baza de date firma

show databases; -- arata toate bazele de date pe care le avem -- read pentru DDL

show tables; -- ne arata tabele din baza de date firma -- read pentru DDL

create table angajati

id int primary key auto_increment,

nume varchar (255),

data_nasterii date,

pozitie varchar (255),

departament varchar (255),

salariu int default 1000 -- in cazul in care nu se trece nicio suma va fi default 1000 salariul

);

show tables;

describe angajati;

alter table angajati add column obs varchar (255) default 'observatia 1'; -- adaugare coloana noua
alter table angajati change column obs observatii varchar(255) default null after departament; --
schimbare denumire coloana si sa fie asezata dupa o alta coloana

alter table angajati drop column observatii; -- stergere coloana observatii

/*

CRUD

CREARE DDL = CREATE

CREARE DML = INSERT

READ DDL = SHOW / DESCRIBE

READ DML = SELECT

UPDATE DDL = ALTER

UPDATE DML = UPDATE

DELETE DDL = DROP

DELETE DML = DELETE

*/

insert into angajati values

(null,"Bogdan Florea","1983-03-27","Programator","Soft",5000),

(null,"Ana Patrascu","1987-12-12","Secretara","Marketing",2500),

(null,"George Mihalache","1977-09-14","Director","Management",8500);

select * from angajati;


select nume from angajati;

insert into angajati values

(4,"Carmelita Stoian","1983-06-06","Vanzator","Sales",5000);

insert into angajati(data_nasterii,id,nume) values

("1982-08-15",5,"Andrei Ionescu");

-- interogare ce va insera 3 angajat din dep Sales - EXERCITIU !!

insert into angajati values

(6,"Cristian Harabor", "2000-09-09","Inspector","Sales",4500),

(7,"Ion Ion Harabor","2000-12-19","Director","Sales",9600),

(8,"Maria Harabor","2000-04-09","Manager","Sales",7650);

select id,nume,data_nasterii from angajati;

-- sa se afiseze id,nume,anul_nasterii pentru totii angajatii -- year iti aduce doar anul nasterii -- year as
anul_nasterii, cum se vrea sa se aduca rezultatul(cum sa fie denumit)

select id,nume,year(data_nasterii) as anul_nasterii from angajati;

-- sa se afiseze nume si luna nasterii pentru totii angajatii

select nume, month(data_nasterii) as luna_nasterii from angajati;


-- sa se afiseze numele si anul nasterii pentur cei nascuti dupa 1983

select nume,year(data_nasterii) as anul_nasterii from angajati where year(data_nasterii)>1983;

select nume,year(data_nasterii) as anul_nasterii from angajati having anul_nasterii>1983;

-- sa se afiseze numele, anul nasterii, departamentul pentru cei nascuti in anul 1983 si sunt din dep Soft

select nume,year(data_nasterii) as anul_nasterii, departament from angajati where departament="soft"


having anul_nasterii=1983;

-- modif interogarea de mai sus si ordonati rezultatele dupa nume, crescator. smiliar dupa varsta

select id,nume,data_nasterii from angajati order by nume asc;

select id,nume,data_nasterii from angajati order by year(data_nasterii) desc;

select id,nume,data_nasterii from angajati order by data_nasterii desc;

-- sa se afiseze numele, anul si luna nasterii pentru toti cei nascuti dupa revolutie - select nume,
year(data_nasterii), month(data_nasterii) from angajati where year(data_nasterii)>1989;

-- sa se afiseze id, numele si ziua nasterii pentur cei nascuti in septembrie - select id,
nume,day(data_nasterii) from angajati where month(data_nasterii)=9;

-- sa se afiseze numele,departamentul si salariul pentru persoanele de la Soft si Sales cu salariul >6000 -


select nume, departament, salariu from angajati where departament="Sales" having salariu>6000; select
nume, departament, salariu from angajati where departament="Soft" having salariu>6000;

select nume, year(data_nasterii) as anul_nasterii, month(data_nasterii) as luna_nasterii from angajati


where year(data_nasterii)>1989;
select id, nume,day(data_nasterii) from angajati where month(data_nasterii)=9;

select nume, departament, salariu from angajati where departament="Sales" or departament="Soft"


having salariu>6000;

select nume,departament,salariu from angajati where (departament="soft" or departament="sales")


and salariu>6000;

select id,nume,(year(now())-year(data_nasterii)) as varsta from angajati order by varsta asc;

select id,nume,datediff(now(),data_nasterii) as varsta from angajati order by varsta asc; -- calcularea


varstei in zile

select id,nume,datediff(now(),data_nasterii)/365 as varsta from angajati order by varsta asc;

select id,nume,round(datediff(now(),data_nasterii)/365) as varsta from angajati order by varsta asc;

select now() as data_curenta;

select id,nume,data_nasterii,departament from angajati order by departament asc, nume asc; --


adaugare departament si ordonare dupa dep si nume

-- sa se afiseze numele si data nasterii ptr persoanele din zodia leu

select nume,data_nasterii from angajati where (month(data_nasterii)=07 and day(data_nasterii)>=23)


or (month(data_nasterii)=08 and day(data_nasterii)<=23);

-- id, nume, data nasterii din dep sales


select id,nume,data_nasterii,departament from angajati where departament="Sales";

select angajati.id, angajati.nume, angajati.data_nasterii, angajati.departament from angajati where


angajati.departament="Sales";

select a.id, a.nume, a.data_nasterii, a.departament from angajati as a where a.departament="Sales";

-- toti angajatii cu salariu mai mare de 3000

select * from angajati where salariu>3000;

-- toti angajatii cu salariul intre 2500 si 5000

select * from angajati where salariu>=2500 and salariu <=5000;

select * from angajati where salariu between 2500 and 5000;

select * from angajati;

select nume, data_nasterii from angajati where concat(mid(data_nasterii,6,2),mid(data_nasterii,9,2))


between 0723 and 0823;

-- sa se afiseze persoanele de la dep Soft si Sales

select * from angajati where departament="Soft" or departament="Sales";

select * from angajati where departament in ("Sales","Soft");


-- toti angajatii cu pozitia progamator sau manager

select * from angajati where pozitie in ("Programator","Manager");

-- toti angajatii ce nu au pozitia prog sau manager

select * from angajati where pozitie not in ("Manager","Programator");

select * from angajati where not pozitie in ("Manager","Programator");

select * from angajati where pozitie !="Manager" and pozitie !="Programator";

select * from angajati where pozitie <>"Manager" and pozitie <>"Programator";

select * from angajati where not (pozitie="Manager" and pozitie ="Programator");

-- toti angajatii al caror nume incepe cu B

select * from angajati where nume like"B%";

select * from angajati where nume like"%B%";

-- functii left/right

select right('abecedar', 5);

select left('abecedar', 5);

-- functia mid
select mid('abecedar', 2,5);

-- functia ascii

select ascii('p');

select ascii('Bogdan');

select * from angajati where ascii(nume)=ascii('B');

select * from angajati;

-- sa se afiseze persoanele nascute inainte de 1989 din dep soft

select * from angajati where year(data_nasterii)<1989 and departament="Soft";

select * from angajati having year(data_nasterii)<1989 and departament="Soft";

select * from angajati where (year(data_nasterii) between 1900 and 1989) and departament="soft";

select * from angajati where data_nasterii<"1989-01-01" and departament="soft";

select * from angajati where left(data_nasterii,4)<1989 and departament="soft";

-- sa se afiseze persoanele al caror nume incepe cu litera C si au salariul peste 4000;

select * from angajati where nume like"C%" and salariu>4000;

select * from angajati where ascii(nume)=ascii('C') and salariu>4000;

select * from angajati where left(nume,1)='C' and salariu >4000;


-- sa se afiseze angajatii al caror nume, nu prenume incepe cu litera H

select nume, substring_index (nume, ' ',-1) as nume from angajati having nume like'H%';

select nume, substring_index (nume, ' ',1) as prenume from angajati having nume like'H%';

select locate (' ', nume), nume from angajati;

-- functia length

select length(nume), nume from angajati;

-- functia substring_index

select substring_index ('a fost odata ca niciodata a fost ca in povesti', 'a',5);

select nume, substring_index(nume," ",-1) as numeledefamilie, left(nume,length(nume)-


length(substring_index(nume,' ',-1))-1) as prenumele from angajati having numeledefamilie like'H%';

-- sa se afiseze datele celui mai tanar angajat

select * from angajati order by data_nasterii desc limit 1;

select * from angajati where data_nasterii='2000-12-19';

select max(data_nasterii) from angajati;

select * from angajati where data_nasterii=(select max(data_nasterii) from angajati);

update angajati set data_nasterii='2000-12-19' where id=8;


-- cel mai batran angajat

select min(data_nasterii) from angajati;

select * from angajati where data_nasterii=(select min(data_nasterii) from angajati);

select * from angajati;

-- sa se afiseze cel mai bine platit angajat/angajati

select max(salariu) from angajati;

select * from angajati where salariu=(select max(salariu) from angajati);

-- select -> from -> where -> group by -> having -> order by -> limit !!!!

-- sa se afiseze persoanele al caror prenume incepe cu litera C si au un salariu peste 4900.

-- sa se afiseze persoanele nascute in decembrie ce au un salariu sub 5000;

-- sa se afiseze persoanele ce au cel mai mare salariu din departamentul sales;

-- sa se afiseze datele celui mai tanar inspector

-- sa se afiseze pozitiile persoanelor cu salariul peste 6000 din sales si care sunt nascute dupa 2000;

-- sa se afiseze cel mai mare salariu al unei persoane al carui departament incepe cu litera S;

-- sa se afiseze departamentul cu cel mai mic salariu;

-- sa se afiseze prenumele si varsta celui mai varstnic angajat de la sales;

-- sa se afiseze totii angajatii ordonati alfabetic dupa numele de familie;

-- sa se afseze numele si prenumele persoanei cu cel mai mare salariu;


-- sa se afiseze varsta angajatului cu cel mai mic salariu;

-- sa se afiseze prenumele persoanelor nascute in zodia fecioara;

-- sa se afiseze salariul si departamentul persoanelor nascute inainte de 2000.

select datediff (date(now()),

S-ar putea să vă placă și

  • Tema 2
    Tema 2
    Document8 pagini
    Tema 2
    stoicaalexandru22
    Încă nu există evaluări
  • Doc
    Doc
    Document1 pagină
    Doc
    Andrei Gee
    Încă nu există evaluări
  • Ex Laborator
    Ex Laborator
    Document11 pagini
    Ex Laborator
    Daniel Daniel
    Încă nu există evaluări
  • Tema 2-BD
    Tema 2-BD
    Document9 pagini
    Tema 2-BD
    Georgiana Mangiru
    Încă nu există evaluări
  • Exemple
    Exemple
    Document3 pagini
    Exemple
    Rotari Constantin
    Încă nu există evaluări
  • Seminar 7-Exercitii II - Cu Rez
    Seminar 7-Exercitii II - Cu Rez
    Document2 pagini
    Seminar 7-Exercitii II - Cu Rez
    CristinaRăileanu
    Încă nu există evaluări
  • Seminar 7-Exercitii II - Cu Rez
    Seminar 7-Exercitii II - Cu Rez
    Document2 pagini
    Seminar 7-Exercitii II - Cu Rez
    Pepene Mihai Alin
    Încă nu există evaluări
  • Poo Baltoi
    Poo Baltoi
    Document20 pagini
    Poo Baltoi
    AndreeaPopescu
    Încă nu există evaluări
  • BD-S6 Functii
    BD-S6 Functii
    Document6 pagini
    BD-S6 Functii
    Alexandra Dobre
    Încă nu există evaluări
  • BD Rez
    BD Rez
    Document28 pagini
    BD Rez
    meredith14
    Încă nu există evaluări
  • BDseminar12 REZOLVAT
    BDseminar12 REZOLVAT
    Document3 pagini
    BDseminar12 REZOLVAT
    Stefania
    67% (3)
  • Curs 14
    Curs 14
    Document13 pagini
    Curs 14
    Maria Rusu
    Încă nu există evaluări
  • BD Lab4
    BD Lab4
    Document4 pagini
    BD Lab4
    Cosmin
    Încă nu există evaluări
  • 6 Instrucțiunea SELECT În MySQL
    6 Instrucțiunea SELECT În MySQL
    Document34 pagini
    6 Instrucțiunea SELECT În MySQL
    Caldarov Dan
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document6 pagini
    Lab 4
    Cristi Teodorescu
    Încă nu există evaluări
  • SGBDseminar 5
    SGBDseminar 5
    Document6 pagini
    SGBDseminar 5
    Melisa Musledin
    Încă nu există evaluări
  • Angajati, Departamente
    Angajati, Departamente
    Document2 pagini
    Angajati, Departamente
    Andreea Ionela
    Încă nu există evaluări
  • Rezolvari
    Rezolvari
    Document4 pagini
    Rezolvari
    berserk217
    Încă nu există evaluări
  • l3 Ex
    l3 Ex
    Document3 pagini
    l3 Ex
    Cosmin
    Încă nu există evaluări
  • Test
    Test
    Document11 pagini
    Test
    Sergiu Merticariu
    Încă nu există evaluări
  • BDseminar 6
    BDseminar 6
    Document6 pagini
    BDseminar 6
    Romeo Moruz
    Încă nu există evaluări
  • BD Lab2
    BD Lab2
    Document4 pagini
    BD Lab2
    Cosmin
    Încă nu există evaluări
  • Laborator 11
    Laborator 11
    Document6 pagini
    Laborator 11
    Gheorghe Elena
    Încă nu există evaluări
  • Exercitii Rezolvate Baze de Date SQL
    Exercitii Rezolvate Baze de Date SQL
    Document5 pagini
    Exercitii Rezolvate Baze de Date SQL
    Florentin Mitan
    100% (2)
  • Tema Curs-Baze de Date
    Tema Curs-Baze de Date
    Document3 pagini
    Tema Curs-Baze de Date
    ÏøĄńĄ
    Încă nu există evaluări
  • Rezolvare Subiect SDD Pana La 5
    Rezolvare Subiect SDD Pana La 5
    Document5 pagini
    Rezolvare Subiect SDD Pana La 5
    Lucian Petcu
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document1 pagină
    Lab 4
    Iustin Ivan
    Încă nu există evaluări
  • Continuare Proiect SGBD
    Continuare Proiect SGBD
    Document15 pagini
    Continuare Proiect SGBD
    Nitu Mihai
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document3 pagini
    Lab 1
    Cristi Teodorescu
    Încă nu există evaluări
  • Seminar 6 Functii - ASE
    Seminar 6 Functii - ASE
    Document5 pagini
    Seminar 6 Functii - ASE
    malesstefanmarian
    Încă nu există evaluări
  • Proiect SGBD CSIE
    Proiect SGBD CSIE
    Document17 pagini
    Proiect SGBD CSIE
    Raluca
    Încă nu există evaluări
  • Data de Început
    Data de Început
    Document2 pagini
    Data de Început
    ScribdTranslations
    Încă nu există evaluări
  • Lab5 Rezolvare
    Lab5 Rezolvare
    Document3 pagini
    Lab5 Rezolvare
    Cosmin
    Încă nu există evaluări
  • Seminar 7
    Seminar 7
    Document2 pagini
    Seminar 7
    mateidlv28
    Încă nu există evaluări
  • Toate Testele BD
    Toate Testele BD
    Document108 pagini
    Toate Testele BD
    Teodora Sorescu
    Încă nu există evaluări
  • Ex SGBD
    Ex SGBD
    Document5 pagini
    Ex SGBD
    Antonela Popa
    Încă nu există evaluări
  • Tema Baze de Date
    Tema Baze de Date
    Document7 pagini
    Tema Baze de Date
    mateidlv28
    Încă nu există evaluări
  • Pascalau Damian-Stefan Proiect BDE
    Pascalau Damian-Stefan Proiect BDE
    Document16 pagini
    Pascalau Damian-Stefan Proiect BDE
    Andreea
    Încă nu există evaluări
  • Laborator SQL 5 - Partea 2 PDF
    Laborator SQL 5 - Partea 2 PDF
    Document6 pagini
    Laborator SQL 5 - Partea 2 PDF
    Bogdan-Mihai Tabacu
    Încă nu există evaluări
  • Laborator SQL 1
    Laborator SQL 1
    Document5 pagini
    Laborator SQL 1
    mihaicioby
    Încă nu există evaluări
  • Functii Date Calendaristice
    Functii Date Calendaristice
    Document10 pagini
    Functii Date Calendaristice
    Bosoi Patricia
    Încă nu există evaluări
  • Baze de Date Anul III Sem I
    Baze de Date Anul III Sem I
    Document337 pagini
    Baze de Date Anul III Sem I
    Lazar Adrian
    Încă nu există evaluări
  • 4 3
    4 3
    Document2 pagini
    4 3
    Andreea Anastasiu
    Încă nu există evaluări
  • Laborator 4
    Laborator 4
    Document5 pagini
    Laborator 4
    Amza
    Încă nu există evaluări
  • Laborator Proiectare Baze Date ACE Craiova PDF
    Laborator Proiectare Baze Date ACE Craiova PDF
    Document5 pagini
    Laborator Proiectare Baze Date ACE Craiova PDF
    Ionelia Radu
    Încă nu există evaluări
  • Proiect SIAD
    Proiect SIAD
    Document6 pagini
    Proiect SIAD
    Bianca Obogeanu
    Încă nu există evaluări
  • Gestiunea Unei Florarii
    Gestiunea Unei Florarii
    Document28 pagini
    Gestiunea Unei Florarii
    Antonio Boioc
    Încă nu există evaluări
  • MYSQL Practice
    MYSQL Practice
    Document13 pagini
    MYSQL Practice
    Aur
    Încă nu există evaluări
  • Laborator5 SQL An2
    Laborator5 SQL An2
    Document10 pagini
    Laborator5 SQL An2
    Diana Iagar
    Încă nu există evaluări
  • Echipamente de Comunicaţie
    Echipamente de Comunicaţie
    Document2 pagini
    Echipamente de Comunicaţie
    Andrei Gee
    Încă nu există evaluări
  • Arhitectura Reţelelor
    Arhitectura Reţelelor
    Document1 pagină
    Arhitectura Reţelelor
    Andrei Gee
    Încă nu există evaluări
  • Reţele Locale
    Reţele Locale
    Document1 pagină
    Reţele Locale
    Andrei Gee
    Încă nu există evaluări
  • Sa Se Afiseze Totii Angajatii Ordonati Alfabetic Dupa Numele de Familie
    Sa Se Afiseze Totii Angajatii Ordonati Alfabetic Dupa Numele de Familie
    Document1 pagină
    Sa Se Afiseze Totii Angajatii Ordonati Alfabetic Dupa Numele de Familie
    Andrei Gee
    Încă nu există evaluări
  • Program
    Program
    Document1 pagină
    Program
    Andrei Gee
    Încă nu există evaluări