Skip to content

SQL Examples

/*

Prix des programmations inférieurs à 40 euros

*/

select prix from programation where prix < 40;



/*

Artistes qui ne font pas de la variété française

*/

select dinstinc nom

from artiste

where artiste.genre <> "Scène Française";



/*

Concerts du mois de Mars 2021

*/

select *

from concert

where concert.date like "2021-03%";



select *

from concert

where concert.date between "2021-03-01" and "2021-03-31";



/*

Les artistes qui font du rap

*/

select distinct artiste

from artiste

where artiste.genre = "Rap";



/*

Les concerts en Mars 2021 à Paris

*/

select *

from concert

where (

concert.date like "2021-03%"

and

concert.ville = "Paris"

);



/*

Les artistes qui font de la variété française

*/

select distinct nom

from artiste

where artiste.genre = "Variété française" or artiste.genre = "Scène française";



/*

Informations des concerts et de leurs artistes

*/

select concert.id, artiste, date, nom, genre

from artiste, concert

where concert.artiste = artiste.id;



/*

Trouver le nombre de concerts

*/

select count *

from concert;



/*

Nombre de styles différents dans la table artiste

*/

select distinct count genre

from artiste;



/*

Prix moyen des concerts

*/

select avg(prix)

from concert;



/*

Prix moyen des concerts à Paris

*/

select avg(prix)

from concert

where concert.ville = "Paris";



/*

Prix total de tous les concerts

*/

select sum(prix)

from concert;



/*

Concert le moins / plus cher

*/

select min(prix)

from concert;



select max(prix)

from concert;



/*

Prix moyen des concerts par artiste

*/

select avg(prix)

from concert

group by artiste;



/*

Prix moyen des concerts par artiste inférieur à 50 euros

*/

select avg(prix)

from concert

group by artist

having avg(prix) < 50;



/*

Date des concerts de variété française

*/

select date

from concert

where artiste.id in (

select id from artiste where artiste.genre = "Variété française"

);



/*

Informations de l'artiste qui donne un concert le 27 octobre 2022

*/

select *

from artiste

where artiste.id = (

select artiste from concert where concert.date = "2022-10-27"

);



/*

Date des concerts qui se passent après ceux de Stasbourg

*/

select date

from concert

where concert.date > (

select max(date) from concert where concert.ville = "Strasbourg"

);



/*

Créer une table

*/

create table concert (

ID int not null,

ARTISTE nvarchar(30),

DATE date,

VILLE nvarchar(30),

PAYS nvarchar(30),

SALLE nvarchar(30),

PRIX float CHECK (PRIX > 0),

PRIMARY KEY (ID)

FOREIGN KEY(ARTISTE),

REFERENCES ARTISTE(ID)

);



create table concert(

ID int not null,

SECONDARY_KEY int not null,

PRIMARY KEY(ID, SECONDARY_KEY)

);



/*

Supprimer une table

*/

drop table concert;



/*

Renommer une table

*/

rename artiste to musicians;



/*

Modifier une table

*/

alter table concert add nb_place int;



/*

Insérer des données

*/

insert into concert values (

...

);



/*

* td sql database requests

*/



/*

A. Noms et tarifs des artistes qui joueront en France en 2023

*/

select artiste.nom, programmation.prix

from artiste, concert

where concert.artiste = artiste.id and concert.pays = 'France'

and (programmation.date between '2023-01-01' and '2023-31-12');



/*

B. Noms et genres des artistes ayant participé au paris paradis

*/

select artiste.nom, artiste.genre

from programmation innerjoin artiste

on programmation.artiste = artiste.id innerjoin festival on programmation.festival = festival.id

where festival.nom = "Paris Paradis";



/*

C. Nom et genre des artistes qui jouent à Strasbourg et à Raptown

*/

select distinct artiste.nom, artiste.genre

from programmation

innerjoin artiste on programmation.artiste = artiste.id

innerjoin festival on programmation.festival = festival.id

innerjoin concert on concert.artiste = artiste.id

where programmation.ville is "Strasbourg" or festival.nom is "Raptown";



select nom, genre from artiste

where id in

(select dinstinc artiste from concert where ville = "Strasbourg")

and id in

(select distinct artiste from programmation where festival =

(select id from festival where nom = "Raptown"))



/*

D. Nom et genre des artistes qui participent à la fois à la Paris Paradis et à Raptown

*/

select artiste.nom, artiste.genre

where artiste.id in

(select distinct artiste from programmation innerjoin festival on programmation.festival = festival.id

where festival.nom = "Raptown"

and id in

(select distinct artist from programmation innerjoin festival on programation.festival - festival.id

where festival.nom = "Paris Paradis"));



select artiste.nom, artiste.genre

where artiste.id in

(select distinct artiste from programmation where festival in

(select festival.id from festival where festival.nom = "Paris Paradis" and festival.nom = "Raptown"))



/*

E. Nom des artistes dont le total des prix est supérieur à 100 euros

*/

select artise.nom, artiste.genre

from artiste innerjoin concert on concert.artiste = artiste.id

group by artiste

having sum(concert.prix) > 100;



/*

F. Noms des artistes qui jouent à Paris mais pas à Strasbourg

*/

select nom from artiste.Nom

where artiste.id in (

(select distinct artiste.id from concert where concert.ville = "Paris")

and artiste.id not in

(select distinct artiste.id from concert where concert.ville = "Strasbourg"));



/*

G. Nom des couples d'artistes dont le prix des concerts est toujours supérieur au prix des concerts du second

*/

select first_table.nom as first, second_table.nom as second

from artiste first_table, artiste second_table

where (

(select min(prix) from concert where artise = first.id)

>

(select min(prix) from concert where artise = second.id)

);



/*

H. Noms des artistes ayant participé à tous les festivals

*/

select artiste.nom as my_artiste

from artiste

where (

select count (distinct festival) from programation

innerjoin artist on artist.id = programation.artiste

where artiste.nom = my_artiste)

) = (select count (*) from festival);



/*

I. Nombre d'artiste ayant participé au Paris Paradise

*/

select count (distinct artiste)

from programation

where programmation.festival = "Paris Paradise";



/*

J. Moyenne des prix des concerts par année

*/

select datepart(yyyy, date), avg(prix) from concert group by datepart(yyyy, date);



/*

K. Insérer le tuple <7, 1, "2023-03-17", "Dijon", "France", "Zenith", 41.8>

*/

insert into concert values (7, 1, "2023-03-17", "Dijon", "France", "Zenith", 41.8);



/*

L. Changer le prix du concert 2 pour 15 euros

*/

update concert set prix = 15 where id = 2;



/*

M. Supprimer les concerts où le prix est inférieur à 30 euros

*/

delete * from concert where prix < 30;