Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Aide-mémoire SQL ultime à mettre en signet pour plus tard [2023]

Aide-mémoire SQL
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

SQL, ou Sstructuré Qurée Language est un ensemble de commandes permettant de gérer les opérations de base de données relationnelles telles que la suppression, la création, la mise à jour, la lecture, etc.

SQL est le standard international utilisé par les bases de données relationnelles depuis 1987. Il existe quatre types de commandes SQL :

  • Data Definition Language (DDL) – Ces commandes Vous permet de définir la structure de la base de données. Par exemple, supprimez, renommez, modifiez et créez. Ils affectent la structure de la base de données. Par exemple, créer une base de données ou renommer une table.
  • Manipulation de données Langue (DML) – Ces commandes sont utilisées pour travailler avec les données. Par exemple, insérer, sélectionner, mettre à jour, supprimer. Ceux-ci n'affectent pas les tables ou la structure de la base de données, mais les données présentes dans les tables. Par exemple, insérer une nouvelle ligne ou mettre à jour une valeur dans la ligne.
  • Langage de contrôle des transactions (TCL) – Ces commandes contrôlent le traitement des transactions dans la base de données. Par exemple, rollback, save, commit. Ces commandes ont un impact permanent sur la base de données. Par exemple, restaurer l'intégralité de la transaction à l'état précédent même si un processus échoue.
  • Langue Control Data (DCL) – Les commandes de contrôle des données sont utilisées pour autoriser les utilisateurs et accorder uniquement les autorisations nécessaires à un utilisateur ou à un groupe. Par exemple, un utilisateur peut avoir une autorisation en lecture seule, tandis qu'un autre peut avoir une autorisation en lecture et en écriture. Le contrôle d'accès se fait à l'aide des commandes grant, deny et revoke.

Vous trouverez ci-dessous la feuille de triche SQL contenant les commandes les plus utiles. La feuille de triche vous aidera à référencer rapidement les commandes requises avec la syntaxe correcte et le résultat attendu d'une requête. Dans cette feuille de triche, nous nous concentrons sur les commandes DDL et DML car les deux autres types sont assez simples à utiliser.

Data Definition and Manipulation Queries

CommandDescriptionExemple
ADDAjoute une colonne ou une contrainte (comme spécifié) à la table existante.ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);

ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);
ALTER TABLEModifie la table spécifiée pour ajouter, mettre à jour ou supprimer la colonne d'une table.ALTER TABLE employee ADD last_name varchar2(255);

ALTER TABLE employee DROP COLUMN last_name;
MODIFIER LA COLONNEModifiez le type de données de la colonne. Par exemple, pour changer le type de colonne joining_date de la table employee de varchar2 à datetime.ALTER TABLE employee ALTER COLUMN joining_date datetime;
TOUTESOpérateur logique utilisé avec SELECT, WHERE et HAVING, et renvoie vrai si toutes les valeurs satisfont la condition de sous-requêteSELECT employee_name, joining_date from employee WHERE employee_id = ALL (select employee_id from department_details WHERE department = ‘R&D’);
ETOpérateur logique qui renvoie true uniquement lorsque toutes les conditions de la clause WHERE sont satisfaites.SELECT employee_name, salary from employee WHERE city = ‘California’ AND salary > 2000;
TOUTOpérateur logique ; renvoie true si même l'une des valeurs de la sous-requête satisfait la condition dans la clause whereSELECT employee_id, employee_name from employee WHERE employee_id = ANY (select employee_id from department_details WHERE department = ‘HR’ OR department = ‘R&D’);
ASCrée un alias pour la table ou la colonne jusqu'au moment de l'exécution de la requête, utile lorsque le nom est utilisé plusieurs fois, en particulier lors des jointures de tableSELECT count(employee_id) AS employees_from_houston from employee WHERE city = 'Houston';
ASCRenvoie les données dans ascordre de fin, utilisé avec la clause ORDER BY. ORDER BY lui-même trie les résultats par ordre croissant par défaut.SELECT employee_name, joining_date, salary from employee ORDER BY employee_name ASC;
ENTREPour sélectionner des valeurs dans une plageSELECT employee_name, joining_date, department_id from employee WHERE salary  BETWEEN 40000 AND 100000;
CASESe compose d'un ensemble d'instructions ; renvoie la valeur de l'instruction qui est vraie, SI aucune des conditions n'est remplie, la condition dans la partie ELSE est exécutée. S'il n'y a pas d'autre, alors renvoie NULL.SELECT order_amount, customer_id, contact_email CASE WHEN order_amount > 3000 THEN "Eligible for 40% discount" WHEN order_amount between 2000 and 3000 THEN "Eligible for 25% discount" ELSE "Eligible for 5% discount" END FROM order_details;
CRÉER UNE BASE DE DONNÉESCrée une nouvelle base de données avec le nom spécifiéCREATE DATABASE movies_development;
CREER LA TABLECrée une nouvelle table avec le nom de table spécifié et les noms et types de colonnesCREATE TABLE movie_info (movie_name varchar2(255), release_date datetime, lead_actor varchar2(255), music_director varchar2(255));
DEFAULTDéfinit une valeur par défaut pour la colonne spécifiée, utilisée avec les commandes CREATE ou ALTER TABLECREATE TABLE employee (joining_date SET DEFAULT CURRENT_DATE);

ALTER TABLE product ALTER is_available SET DEFAULT true;
EFFACERSupprime les données de la table spécifiéeDELETE from employee where employee_id = 345;
DESCRenvoie les données en descordre de fin, utilisé avec la clause ORDER BY.SELECT employee_name, joining_date, salary from employee ORDER BY employee_name DESC;
COLONNE DE DÉPOSESupprime la colonne spécifiée de la table spécifiée.ALTER TABLE employee DROP COLUMN employee_name;
SUPPRIMER LA BASE DE DONNÉESSupprime toute la base de donnéesDROP DATABASE movies_development;
ABANDONNER PAR DÉFAUTSupprime la valeur par défaut de la colonne spécifiéeALTER TABLE employee ALTER COLUMN is_available DROP DEFAULT;
TABLE DROPSupprime la table spécifiéeDROP TABLE employee;
EXISTEVérifie si un enregistrement existe ou non dans la sous-requête et renvoie vrai si un ou plusieurs résultats sont trouvés.SELECT employee_id, contact_number FROM employee WHERE EXISTS (SELECT employee_id, department FROM department WHERE employee_id = 345 AND department = 'HR');
DeSpécifie la table à partir de laquelle les données doivent être sélectionnées ou suppriméesSELECT * FROM employee; DELETE FROM employee where employee_id = 345;
PAR GROUPERegroupe les données selon la colonne spécifiée, utilisée pour les fonctions d'agrégationAfficher le nombre d'employés dans chaque pays

SELECT COUNT(employee_id), country from employee GROUP BY country;

Affiche les notes moyennes des employés de chaque département

SELECT AVG(rating), department from employee GROUP BY department;
INUtilisé pour sélectionner plusieurs valeurs à la fois dans une clause WHERE au lieu d'utiliser plusieurs conditions ORSELECT employee_name FROM employee WHERE country IN ('India', 'United Kingdom', 'Singapore', 'Australia');
INDEXIndex rend l'interrogation des données plus efficace et plus rapide. Les index sont généralement créés sur les colonnes les plus recherchées.Créer un index :
CREATE INDEX idx_employee ON employee (first_name, last_name);

Créez un index unique où les valeurs ne peuvent pas être dupliquées :
CREATE UNIQUE INDEX idx_employee ON employee (first_name, last_name);

Supprimez l'index :
ALTER TABLE employee DROP INDEX idx_employee;
INSÉRER DANSAjouter une nouvelle ligne dans un tableauINSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, ‘Lee Cooper’, 40000, ‘Java’);
EST NULLVérifie les valeurs nullesSELECT employee_id from employee where employee_name IS NULL;
EST NON NULLEVérifie les valeurs qui ne sont pas nullesSELECT employee_id, core_skill from  employee where core_skill IS NOT NULL;
COMMERenvoie toutes les valeurs qui correspondent à un modèle donnéSELECT employee_id,  first_name, last_name  where  first_name LIKE ‘%tony’;
PAS COMMERenvoie toutes les valeurs qui ne correspondent pas au modèle donnéSELECT employee_id,  first_name, last_name  where  first_name NOT LIKE ‘%tony’;
ORRenvoie true si l'une des conditions de la clause where est satisfaiteSELECT * from employee where country = ‘India’ OR country = ‘Australia’;
COMMANDÉ PARClasse les résultats dans l'ordre croissant (par défaut) ou dans l'ordre spécifié dans la requête (ascse terminant ou descfin)SELECT employee_name, salary from employee ORDER BY salary DESC;
ROWNUMRenvoie le nombre spécifié de lignes mentionnées dans la clause WHERE de la requêteSELECT * from employee where ROWNUM <= 5; This will return the first five rows in the resultset.
SELECTSélectionne les colonnes mentionnées de la table en fonction des conditions données. Si * est spécifié, toutes les valeurs de colonne sont renvoyées.SELECT employee_id from employee; SELECT * from employee;
CHOISIR DANSCopie les données de la table source dans une autre table de destination. Vous pouvez sélectionner toutes les colonnes (*) ou des colonnes spécifiques.SELECT * INTO new_employee_info FROM employee; SELECT employee_name, joining_date, core_skill INTO new_employee_info FROM employee;
SÉLECTIONNER LE HAUTSélectionne le nombre spécifié d'enregistrements dans la tableSELECT TOP 5 employee_id from employee where employee_rating = 5;
SETDéfinit la valeur d'une colonne sur la nouvelle valeur spécifiée lors d'une opération UPDATE.UPDATE employee SET first_name = ‘Tony’ WHERE employee_id = 345;
CERTAINSRenvoie vrai si l'une des conditions de la sous-requête est satisfaite. SOME est similaire à la commande ANY.SELECT employee_id, employee_name from employee WHERE salary > SOME (select salary from employee WHERE department = ‘HR’);
TABLE DU TRONCATSupprime les données du tableau - rappelez-vous que le tableau ne sera pas supprimé.TRUNCATE TABLE log_info;
UNIONRenvoie des valeurs distinctes à partir de 2 tables ou plus qui sont jointes. Pour obtenir également les valeurs en double, utilisez UNION ALL.SELECT city from employee UNION SELECT city from office_locations;
UNIQUEAjoute une contrainte unique à la colonne spécifiée, ce qui signifie que la colonne ne peut pas contenir de valeurs en double. Peut être utilisé pendant les commandes de création ou de modification de table.CREATE TABLE employee (employee_id int NOT NULL, UNIQUE(employee_id));

ALTER TABLE employee ADD UNIQUE(employee_id);
MISE À JOURMet à jour la valeur de la colonne spécifiée avec une nouvelle valeurUPDATE employee SET first_name = ‘Tony’ WHERE employee_id = 345;
VALEURSUtilisé avec la commande INSERT pour ajouter une nouvelle ligne de valeurs dans la tableINSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, ‘Lee Cooper’, 40000, ‘Java’);
Ajoute des conditions pour filtrer le jeu de résultats d'une instruction selectSELECT * from employee WHERE salary > 20000;
Aide-mémoire des commandes SQL pour une référence rapide

Aggregate functions

Les fonctions d'agrégation sont des commandes de manipulation de données qui fonctionnent sur des colonnes numériques comme int et float. Celles-ci sont utiles pour filtrer et trier les données au niveau de la base de données elle-même. Certaines fonctions d'agrégat couramment utilisées sont :

FONCTIONDESCRIPTIONEXEMPLE
AVGRenvoie la valeur moyenne de la colonne spécifiéeSELECT AVG(marks) from students where subject = ‘English’;
MINRenvoie la plus petite valeur de la colonne spécifiéeSELECT MIN(price) from product WHERE product_category = ‘shoes’;
MAXRenvoie la plus grande valeur de la colonne spécifiéeSELECT MAX(quantity), product_name from inventory;
COUNTRenvoie le nombre de lignes qui satisfont la requêteAffiche un nombre total d'enregistrements dans la table des employés.

SELECT COUNT(*) from employee;

Afficher le nombre d'employés dont le salaire est supérieur à 20000

SELECT COUNT(*) from employee where salary > 20000;
SUMRenvoie la somme des valeurs de la colonne numérique spécifiéeSELECT SUM(marks) from students where subject = ‘English’;
Fonctions d'agrégation courantes

SQL Joins

Les jointures SQL sont très importantes car elles connectent et filtrent les données de plusieurs tables. Les jointures sont un peu délicates et peuvent donner des résultats inattendus si elles ne sont pas exécutées correctement. Le tableau ci-dessous vous aidera à vous référer rapidement aux 4 types de jointures SQL :

JOINDRE LE TYPEDESCRIPTIONSYNTAXEEXEMPLE
Jointure interneRenvoie les enregistrements qui correspondent dans les tables jointes ; c'est comme une intersection.SELECT colonne1, colonne2… de table1 JOINTURE INTERNE table2 sur table1.columnN = table2.columnN ;select c.customer_id, o.order_id, c.customer_phone from customer c INNER JOIN order o on c.customer_id = o.customer_id;
Jointure complète (externe)Renvoie tous les enregistrements qui ont une correspondance de chaque côté - gauche ou droite. C'est comme un syndicat.SELECT colonne1, colonne2… de table1 JOINTURE EXTÉRIEURE COMPLÈTE table2 sur table1.columnN = table2.columnN ;select c.customer_id, o.order_id, c.customer_phone from customer c FULL OUTER JOIN order o on c.customer_id = o.customer_id;
Joint gaucheRenvoie tous les enregistrements de la table de gauche et les enregistrements correspondant aux critères de la table de droiteSELECT colonne1, colonne2… de table1 JOINDRE GAUCHE table2 sur table1.columnN = table2.columnN ;select c.country_id, c.country_name, l.location_name from country c LEFT JOIN locations l on c.country_id = l.country_id;
Joindre à droiteRenvoie tous les enregistrements de la table de droite et les enregistrements correspondant aux critères de la table de gaucheSELECT colonne1, colonne2… de table1 JOINDRE À DROITE table2 sur table1.columnN = table2.columnN ;select c.country_id, c.country_name, l.location_name from country c RIGHT JOIN locations l on c.country_id = l.country_id;
Types de jointures avec syntaxe et exemple

Additional resources

SQL est un outil important pour les développeurs de logiciels, les data scientists et les analystes. Une référence pratique des commandes SQL sous la forme d'une feuille de triche peut vous faire gagner beaucoup de temps et vous aider à comprendre la sortie attendue de chaque mot-clé.

Pour plus d'informations, veuillez consulter les ressources suivantes:

Tutoriel SQL : Aide-mémoire SQL

Intellipaat : Aide-mémoire sur les commandes SQL

Configuration du site Web : Aide-mémoire SQL

ProgrammationAvecMosh : Aide-mémoire SQL

Aide-mémoire PostgreSQL

Merci à nos commanditaires
Plus de bonnes lectures sur la base de données
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder