SQL Flashcards

(18 cards)

1
Q

C’est quoi une clé primaire ? Qu’est ce qu’il faut comprendre ?

A

Elle permet de distinguer tous les n-uplets (par exemple dans la table avec des notes et des noms d’élèves bah les élèves ni les notes peuvent distinguer des n-uplets (plusieurs élèves peuvent avoir la même note ou le même nom))

Elle traduit une association 1-1 (un emprunteur pourra réaliser plusieurs emprunts mais un emprunt n’est réalisé que par un seul emprunteur)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

C’est quoi une clé étrangère ? Qu’est ce qu’il faut bien comprendre ?

A

En gros elle permet le lien entre une table et une autre. On lie généralement une clé étrangère (elle même primaire) à une clé primaire

Elle traduit une association 1-* (n emprunteur pourra réaliser plusieurs emprunts mais un emprunt peut être par un seul candidat)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Comment tu sélectionnes toutes les colonnes d’une table ?

A

SÉLECT * FROM table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment tu sélectionnes seulement certains attributs ?

A

SELECT attribut1, attribut2 FROM table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A quoi ça sert SELECT DISTINCT ?

A

Ça supprime les doublons (genre si pour attribut1, on a FRANCE qui apparaît deux fois et bah SELECT DISTINCT country FROM table rend une seule fois FRANCE)

⇒ on peut faire SELECT DISTINCT attribut1, attribut2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

T’as une table avec les noms de producteurs, les films et les notes. Liste les titres et leur notes ramenées sur 100 en les nommant pourcentage

A

SELECT titre, note*10 AS pourcentage FROM film

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Trouve toutes les années où il y a eu un film enregistré (on a une liste avec des films et les dates de sorties)

A

SELECT DISTINCT annee FROM film

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Tu veux restreindre un SELECT aux notes qui valent 10, qu’elle synthaxe t’utilises ?

A

SELECT … FROM table WHERE notes = 10

pas de double egal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

On veut restreindre un SELECT aux films qui commence avec “la guerre”

A

SELECT film FROM table WHERE titre LIKE ‘la guerre%’

⇒ pas oublier les guillemets
⇒ % c’est HP, ça permet de dire “commence par” si c’est avant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Liste les titres des films sortis dans les années 1980

A

SELECT titre FROM table WHERE annee >= 1980 AND annee <= 1989

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Donne l’identifiant et le film de l’acteur dont le nom est “Woody”

A

SELECT id, film FROM table WHERE nom = ‘Woody’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Tu veux ordonner les résultats d’une requête selon un critère donné (comment tu tries en croissant / décroissant ?)

A

SELECT … FROM … ORDER BY attribut (croissant)

SELECT … FROM … ORDER BY attribut DESC (décroissant)

⇒ c’est ordre de chiffres ET de lettres

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Tu veux garder les n premiers résultats d’un tri mais en éliminant les p premiers

A

ORDER BY attribut LIMIT n OFFSET p

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Ça fait quoi ORDER BY note DESC LIMIT 10 ?

A

Ça trie une liste de note en gardant les 10 premiers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Sélectionne le titre du film qui a eu la 10ème meilleure note

A

ORDER BY note DESC LIMIT 1 OFFSET 9

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Imagine tu veux la liste des titres des films sortis la même annee que Pulp Fiction

A

il faut faire un double sélect

SELECT titre FROM film WHERE annee = (SELECT annee FROM film WHERE titre = ‘Pulp Fiction’)

On met = car la commande renvoie une valeur unique

17
Q

Que renvoie la requête SELECT titre FROM film WHERE annee in (SELECT annee FROM film WHERE id_real = 444)

A

Sélectionne les titres des (années des films du réalisateur d’id 444)

18
Q

Comment t’obtiens la liste des titres de films dont la note est strictement supérieure à celle de Pulp Fiction ?

A

SELECT titre FROM film WHERE note > (SELECT note FROM film WHERE titre = ‘Pulp Fiction’)