Vous êtes sur la page 1sur 3

LID SQL :

1/SELECT s.titre AS TitreSpectacle, sa.nom AS NomSalle, c.nom_chanteur AS


NomChanteur
FROM spectacles s
JOIN salles sa ON s.id_salle = sa.id_salle
JOIN chanteurs c ON s.id_chanteur = c.id_chanteur;

2/SELECT
s.titre AS TitreSpectacle,
b.categorie AS Categorie,
ROUND(MIN(b.prix), 3) AS Min_Prix,
ROUND(MAX(b.prix), 3) AS Max_Prix,
ROUND(AVG(b.prix), 3) AS Moyen_Prix
FROM
spectacles s
JOIN
billet b ON s.id_spectacle = b.id_spectacle
GROUP BY
s.titre, b.categorie
ORDER BY
b.categorie DESC;

3/SELECT
s.titre AS TitreSpectacle,
sa.nom AS NomSalle,
c.nom_chanteur AS NomChanteur
FROM
spectacles s
JOIN
salles sa ON s.id_salle = sa.id_salle
JOIN
chanteurs c ON s.id_chanteur = c.id_chanteur
ORDER BY
s.titre, c.nom_chanteur;
4/SELECT
b.id_billet AS ID_Billet,
s.titre AS Titre_Spectacle,
b.num_place AS Num_Place,
b.categorie AS Categorie,
b.prix AS Prix
FROM
billet b
JOIN
spectacles s ON b.id_spectacle = s.id_spectacle
ORDER BY
s.titre ASC, b.prix DESC;
5/DECLARE
v_date_spec DATE;
v_trimestre VARCHAR2(10);
v_semestre VARCHAR2(10);
v_mois VARCHAR2(20);
v_semaine NUMBER;
BEGIN
SELECT date_spec INTO v_date_spec FROM spectacles WHERE ROWNUM = 1;

v_trimestre := CASE WHEN TO_NUMBER(TO_CHAR(v_date_spec, 'MM')) BETWEEN 1 AND 3


THEN 'Premier trimestre'
WHEN TO_NUMBER(TO_CHAR(v_date_spec, 'MM')) BETWEEN 4 AND 6
THEN 'Deuxième trimestre'
WHEN TO_NUMBER(TO_CHAR(v_date_spec, 'MM')) BETWEEN 7 AND 9
THEN 'Troisième trimestre'
ELSE 'Quatrième trimestre'
END;

v_semestre := CASE WHEN TO_NUMBER(TO_CHAR(v_date_spec, 'MM')) BETWEEN 1 AND 6


THEN 'Premier semestre'
ELSE 'Deuxième semestre'
END;

v_mois := TO_CHAR(v_date_spec, 'Month', 'NLS_DATE_LANGUAGE = French');

v_semaine := TO_NUMBER(TO_CHAR(v_date_spec, 'WW'));

DBMS_OUTPUT.PUT_LINE('Trimestre : ' || v_trimestre);


DBMS_OUTPUT.PUT_LINE('Semestre : ' || v_semestre);
DBMS_OUTPUT.PUT_LINE('Mois : ' || v_mois);
DBMS_OUTPUT.PUT_LINE('Semaine annuelle : ' || v_semaine);
END;

Partie anonyme:
1/DECLARE
v_id_chanteur chanteurs.id_chanteur%TYPE;
v_nom_chanteur chanteurs.nom_chanteur%TYPE;
v_nationalite chanteurs.nationnalite%TYPE;
BEGIN
SELECT id_chanteur, nom_chanteur, nationnalite
INTO v_id_chanteur, v_nom_chanteur, v_nationalite
FROM chanteurs
WHERE ROWNUM = 1;

DBMS_OUTPUT.PUT_LINE('ID Chanteur : ' || v_id_chanteur);


DBMS_OUTPUT.PUT_LINE('Nom du Chanteur : ' || v_nom_chanteur);
DBMS_OUTPUT.PUT_LINE('Nationalité : ' || v_nationalite);
END;
2/DECLARE
v_id_salle salles.id_salle%TYPE := 1; -- Remplacez 1 par l'ID de la salle
souhaitée
v_nom_salle salles.nom%TYPE;
v_capacite salles.capacite%TYPE;
BEGIN
SELECT nom, capacite
INTO v_nom_salle, v_capacite
FROM salles
WHERE id_salle = v_id_salle;

DBMS_OUTPUT.PUT_LINE('Nom de la Salle : ' || v_nom_salle);


DBMS_OUTPUT.PUT_LINE('Capacité : ' || v_capacite);
END;
3/DECLARE
v_id_billet billet.id_billet%TYPE := 1; -- Remplacez 1 par l'ID du billet
souhaité
v_min_prix billet.prix%TYPE;
v_max_prix billet.prix%TYPE;
v_moyen_prix NUMBER(8,3);
BEGIN
SELECT
MIN(prix),
MAX(prix),
AVG(prix)
INTO
v_min_prix,
v_max_prix,
v_moyen_prix
FROM
billet
WHERE
id_billet = v_id_billet;

DBMS_OUTPUT.PUT_LINE('Prix Minimal : ' || v_min_prix);


DBMS_OUTPUT.PUT_LINE('Prix Maximal : ' || v_max_prix);
DBMS_OUTPUT.PUT_LINE('Prix Moyen : ' || ROUND(v_moyen_prix, 3));
END;
4/DECLARE
v_ch VARCHAR2(100) := 'Bonjour'; -- Chaîne donnée
BEGIN
FOR i IN 1..LENGTH(v_ch) LOOP
DBMS_OUTPUT.PUT_LINE('Caractère ' || i || ' : ' || SUBSTR(v_ch, i, 1));
END LOOP;
END;
5/DECLARE
v_titre VARCHAR2(100);
v_date_spec DATE;
v_trimestre NUMBER;
BEGIN

SELECT titre, date_spec


INTO v_titre, v_date_spec
FROM spectacles
WHERE ROWNUM = 1;

DBMS_OUTPUT.PUT_LINE('Titre du spectacle : ' || v_titre);


DBMS_OUTPUT.PUT_LINE('Date du spectacle : ' || TO_CHAR(v_date_spec,
'DD/MM/YYYY'));

v_trimestre := TRUNC((TO_NUMBER(TO_CHAR(v_date_spec, 'MM')) - 1) / 3) + 1;


DBMS_OUTPUT.PUT_LINE('Trimestre du spectacle : ' || v_trimestre);
END;

Vous aimerez peut-être aussi