Partie 1 - Jointures et unions
Joindre deux ou plusieurs tables à l'aide d'une jointure interne
select
a.ID,
b.model
from
cars a
join models b
on a.model=b.ID
Copier après la connexion
Copier après la connexion
À l'aide d'une requête d'union
select
a.ID,
b.model,
c.color
from
cars a
join models b
on a.model=b.ID
join colors c
on a.color=c.ID
where
b.ID=1
union all
select
a.ID,
b.model,
c.color
from
cars a
join models b
on a.model=b.ID
join colors c
on a.color=c.ID
where
b.ID=3
Copier après la connexion
Extérieur gauche et droit Jointures
select
a.brand
from
brands a
left outer join cars b
on a.ID=b.brand
Copier après la connexion
Requêtes d'intersection
select
*
from
colors
where
ID>2
intersect
select
*
from
colors
where
id<4
Copier après la connexion
Partie 2 - Sous-requêtes
Qu'est-ce qu'elles sont, où elles peuvent être utilisées et à quoi faut-il faire attention
Une sous-requête est une instruction select imbriquée dans une autre instruction select. Les sous-requêtes peuvent être utilisées pour effectuer des opérations complexes de récupération de données, telles que le filtrage, le tri et l'agrégation.
Où elles peuvent être utilisées
Les sous-requêtes peuvent être utilisées dans les cas suivants places :
- Dans la clause WHERE pour filtrer les lignes renvoyées par la clause externe requête.
- Dans la clause HAVING pour filtrer les groupes de lignes renvoyés par la requête externe.
- Dans la clause SELECT pour spécifier les colonnes renvoyées par la requête externe.
- Dans la clause FROM pour spécifier les tables jointes par la requête externe.
À surveiller pour
Lors de l'utilisation de sous-requêtes, il est important d'être conscient des points suivants :
- Les sous-requêtes peuvent être coûteuses à exécuter, il est donc important de les utiliser uniquement lorsque cela est nécessaire .
- Les sous-requêtes peuvent être difficiles à lire et à comprendre, il est donc important de bien les documenter.
- Les sous-requêtes peuvent être vulnérable aux attaques par injection SQL, il est donc important d'utiliser des requêtes paramétrées lors de l'utilisation de sous-requêtes en SQL dynamique.
Partie 3 - Astuces et code efficace
Astuces
- Utilisez des alias pour les noms de tables afin de rendre vos requêtes plus faciles à lire et comprendre.
- Utilisez des parenthèses pour regrouper vos sous-requêtes afin de les rendre plus faciles à lire et à comprendre.
- Utilisez l'instruction EXPLAIN pour voir comment vos requêtes sont exécutées par la base de données.
- Utilisez des index pour améliorer les performances de vos requêtes.
Efficace Code
- Utilisez les types de données corrects pour vos colonnes.
- Évitez d'utiliser SELECT * dans vos requêtes.
- Utilisez la clause WHERE pour filtrer les lignes qui sont renvoyés par vos requêtes.
- Utilisez la clause ORDER BY pour trier les lignes renvoyées par votre requêtes.
- Utilisez la clause LIMIT pour limiter le nombre de lignes renvoyées par vos requêtes.
Partie 4 - Sous-requêtes dans la clause From
Les sous-requêtes peuvent être utilisé dans la clause FROM pour spécifier les tables jointes par la requête externe. C'est ce qu'on appelle une table dérivée. Les tables dérivées peuvent être utilisées pour effectuer des opérations complexes de récupération de données, telles que le filtrage, le tri et l'agrégation.
L'exemple suivant montre comment utiliser une sous-requête dans la clause FROM pour filtrer les lignes renvoyées par la clause externe. requête :
select
a.ID,
b.model
from
cars a
join models b
on a.model=b.ID
Copier après la connexion
Copier après la connexion
Partie 5 : un mélange de trucs de John
Les trucs de John
- Utilisez l'instruction CASE pour évaluer conditionnellement des expressions.
- Utilisez la fonction COALESCE pour renvoyer la première valeur non NULL dans une liste de expressions.
- Utilisez la fonction GREATEST pour renvoyer la plus grande valeur dans une liste d'expressions.
- Utilisez la fonction LEAST pour renvoyer la plus petite valeur dans une liste d'expressions.
- Utilisez la fonction MOD pour calculer le reste d'une opération de division.
- Utilisez la fonction MAINTENANT pour obtenir la date et l'heure actuelles.
- Utilisez la fonction RAND pour générer un nombre aléatoire.
- Utilisez la fonction ROUND pour arrondir un nombre à l'entier le plus proche.
- Utilisez la fonction TRUNCATE pour tronquer un nombre à un nombre spécifié de décimales.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!