Contacts

Exemples de requêtes SQL sur la base de données MySQL. Langage de requête SQL Requêtes SQL prêtes à l'emploi

Bienvenue sur mon blog. Aujourd'hui, nous allons parler des requêtes SQL pour les débutants. Certains webmasters peuvent avoir une question. Pourquoi apprendre SQL ? Vous n'arrivez pas à vous en sortir ?

Il s'avère que cela ne suffira pas à créer un projet Internet professionnel. SQL est utilisé pour travailler avec la base de données et créer des applications pour WordPress. Voyons plus en détail comment utiliser les requêtes.

Ce que c'est

SQL est un langage de requête structuré. Créé pour déterminer le type de données, y donner accès et traiter les informations dans de courts délais. Il décrit les composants ou certains résultats que vous souhaitez voir sur le projet Internet.

En termes simples, ce langage de programmation permet d'ajouter, de modifier, de rechercher et d'afficher des informations dans la base de données. La popularité de MySQL est due au fait qu'il est utilisé pour créer des projets Internet dynamiques, basés sur une base de données. Par conséquent, pour développer un blog fonctionnel, vous devez apprendre ce langage.

Que peut faire

Le langage SQL permet :

  • créer des tableaux ;
  • modifier, recevoir et stocker différentes données ;
  • combiner les informations en blocs ;
  • protéger les données ;
  • créer des requêtes en accès.

Important! Après avoir traité avec SQL, vous pouvez écrire des applications pour WordPress de toute complexité.

Quelle structure

La base de données est constituée de tableaux qui peuvent être représentés sous forme de fichier Excel.

Elle a un nom, des colonnes et une ligne avec quelques informations. Vous pouvez créer de telles tables à l'aide de requêtes SQL.

Que souhaitez-vous savoir


Points clés lors de l'apprentissage de SQL

Comme indiqué ci-dessus, les requêtes sont utilisées pour traiter et saisir de nouvelles informations dans une base de données composée de tables. Chaque ligne est une entrée distincte. Créons donc une base de données. Pour ce faire, écrivez la commande :

Créer une base de données 'bazaname'

Entre guillemets, nous écrivons le nom de la base de données en latin. Essayez de trouver un nom significatif pour elle. Ne créez pas de base de données comme « 111 », « www » et autres.

Après avoir créé la base de données, installez :

DÉFINIR LES NOMS 'utf-8'

Ceci est nécessaire pour que le contenu du site s'affiche correctement.

Maintenant, nous créons un tableau :

CRÉER UNE TABLE 'bazaname' . 'tableau' (

id INT(8) NON NULL CLÉ PRIMAIRE AUTO_INCREMENT,

journal VARCHAR(10),

passer VARCHAR(10),

dateDATE

Dans la deuxième ligne, nous avons écrit trois attributs. Voyons ce qu'ils signifient :

  • L'attribut NOT NULL signifie que la cellule ne sera pas vide (le champ est obligatoire) ;
  • La valeur de AUTO_INCREMENT est autocomplétée ;
  • PRIMARY KEY est la clé primaire.

Comment ajouter des informations

Pour remplir les champs de la table créée avec des valeurs, l'instruction INSERT est utilisée. Nous écrivons les lignes de code suivantes :

INSÉRER DANS 'tableau'

(login, pass, date) VALEURS

(« Vasa », « 87654321 », « 21/06/2017 18:38:44 ») ;

Entre parenthèses, nous indiquons le nom des colonnes et, entre parenthèses, les valeurs.

Important! Suivez la séquence des noms de colonnes et des valeurs.

Comment mettre à jour les informations

Pour cela, la commande UPDATE est utilisée. Voyons comment changer le mot de passe d'un utilisateur spécifique. Nous écrivons les lignes de code suivantes :

UPDATE 'table' SET pass = '12345678' WHERE id = '1'

Changez maintenant le mot de passe en « 12345678 ». Les changements se produisent dans la ligne avec "id"=1. Si vous n'écrivez pas la commande WHERE, toutes les lignes changeront, pas une en particulier.

Je vous conseille d'acheter le livre SQL pour les nuls ". Avec son aide, vous pourrez travailler professionnellement avec la base de données étape par étape. Toutes les informations sont construites sur la base du principe du simple au complexe et seront bien reçues.

Comment supprimer une entrée

Si vous avez écrit quelque chose de mal, corrigez-le avec la commande DELETE. Fonctionne de la même manière que UPDATE. Nous écrivons le code suivant :

SUPPRIMER DE 'table' OÙ id = '1'

Échantillonnage d'informations

La commande SELECT permet de récupérer les valeurs de la base de données. Nous écrivons le code suivant :

SELECT * FROM 'table' WHERE id = '1'

Dans cet exemple, nous sélectionnons tous les champs disponibles dans le tableau. Cela se produit si vous écrivez un astérisque "*" dans la commande. Si vous devez choisir un exemple de valeur, écrivez comme ceci :

SELECT log, passez FROM table WHERE id = '1'

Il convient de noter que la capacité de travailler avec des bases de données ne suffira pas. Pour créer un projet Internet professionnel, vous devrez apprendre à ajouter des données de la base de données aux pages. Pour cela, familiarisez-vous avec le langage de programmation web php. Cela vous aidera Le cours cool de Mikhail Rusakov .


Supprimer un tableau

Se produit avec une requête DROP. Pour ce faire, écrivez les lignes suivantes :

table DÉPOSER LA TABLE ;

Sortie d'un enregistrement d'une table selon une certaine condition

Considérez ce code :

SELECT id, country, city FROM table WHERE people>150000000

Il affichera les records des pays où la population dépasse cent cinquante millions d'habitants.

Une association

Lier plusieurs tables entre elles est possible à l’aide de Join. Voyez comment cela fonctionne dans cette vidéo :

PHP et MySQL

Encore une fois, je tiens à souligner que les demandes lors de la création d'un projet Internet sont courantes. Pour les utiliser dans des documents php, suivez l'algorithme d'actions suivant :

  • Connectez-vous à la base de données à l'aide de la commande mysql_connect() ;
  • En utilisant mysql_select_db(), sélectionnez la base de données souhaitée ;
  • Traitement de la requête avec mysql_fetch_array();
  • Nous fermons la connexion avec la commande mysql_close().

Important! Travailler avec une base de données n'est pas difficile. L'essentiel est de rédiger correctement la demande.

Les webmasters novices réfléchiront. Et que lire sur ce sujet ? Je voudrais recommander le livre de Martin Graber " SQL pour les simples mortels ". Il est écrit de telle manière que les débutants comprendront tout. Utilisez-le comme ouvrage de référence.

Mais c'est une théorie. Comment ça marche en pratique ? En fait, un projet Internet doit non seulement être créé, mais également porté au TOP de Google et Yandex. Le cours vidéo vous y aidera " Création et promotion du site ».


Instruction vidéo

Vous avez encore des questions ? Regardez plus de vidéos en ligne.

Conclusion

Ainsi, gérer l'écriture de requêtes SQL n'est pas aussi difficile qu'il y paraît, mais tout webmaster doit le faire. Les cours vidéo décrits ci-dessus vous y aideront. S'abonner à mon groupe VKontakte pour être le premier informé des nouvelles informations intéressantes.

La sélection des données d'une table en SQL s'effectue à l'aide de la construction suivante :
SÉLECTIONNER *|
[COMME ] DEPUIS [ [ET ]]
[GROUPER PAR | [ AYANT ]]
[COMMANDÉ PAR [COLLATIONNER ] ]

Section SÉLECTIONNER


Définir la liste des colonnes de sortie
La liste des colonnes de sortie peut être spécifiée de plusieurs manières :
. Spécifiez le caractère * pour indiquer que toutes les colonnes de requête sont incluses dans les résultats de la requête dans l'ordre naturel.
. Listez dans l’ordre souhaité uniquement ceux dont vous avez besoin.
Exemple : SELECT * FROM Client

Activer les colonnes calculées
Les colonnes calculées d'une requête peuvent être :
. Résultats d'expressions arithmétiques simples (+, -, /, *_ ou concaténation de chaînes (||).
. Résultats des fonctions d'agrégation COUNT(*)|(MOYENNE|SUM|MAX|MIN|COUNT) ()

Note: Dans SQL Server, vous pouvez également utiliser l'opérateur % - modulo (entier modulo).
Activer les constantes
Les colonnes peuvent être des constantes de type numérique ou caractère.

Note: SELECT DISTINCT 'Pour ', SNum, Comm*100, '%', SName FROM SalesPeople

Renommer les colonnes de sortie
Les colonnes calculées, ainsi que toute autre colonne, si vous le souhaitez, peuvent se voir attribuer un nom unique à l'aide du mot-clé AS : AS

Note: Dans SQL SERVER, vous pouvez donner un nouveau nom à une colonne à l'aide de l'opérateur d'affectation =

Préciser le principe de traitement des lignes en double
DISTINCT - interdit l'apparition de lignes en double dans l'ensemble de sortie. Il peut être spécifié une fois par instruction SELECT. En pratique, l'ensemble de sortie est initialement formé, ordonné, puis les valeurs en double en sont supprimées. Cela prend généralement beaucoup de temps et ne doit pas être abusé.
ALL (par défaut) - garantit que les valeurs en double sont également incluses dans les résultats de la requête

Activer les fonctions d'agrégation
Les fonctions d'agrégation (fonctions sur ensembles, statistiques ou basiques) sont conçues pour calculer certaines valeurs pour un ensemble de lignes donné. Les fonctions d'agrégation suivantes sont utilisées :
. AVG|SUM(|) - calcule la moyenne | somme de ou éventuellement en ignorant les doublons, en ignorant NULL.
. MIN|MAX() – trouve le maximum | valeur minimum.
. COUNT(*) – compte le nombre de lignes dans l'ensemble, en tenant compte des valeurs NULL | valeurs dans la colonne, en ignorant les valeurs NULL, éventuellement sans doublons.

Notes d'utilisation:
. Les fonctions d'agrégation ne peuvent pas être imbriquées.
. En raison des valeurs NULL, l'expression SUM(F1)-SUN(F2)Sum(F1-F2)
. Dans les fonctions d'agrégation, les expressions AVG(Comm*100) sont autorisées
. Si aucune ligne n'est renvoyée par la requête, ou si toutes les valeurs sont NULL, alors la fonction COUNT renvoie 0 et les autres renvoient NULL.
. Les fonctions AVG et SUM ne peuvent être utilisées que pour les types de données numériques dans Interval, et le reste peut être utilisé pour n'importe quel type de données.
. La fonction COUNT renvoie un entier (de type Integer), tandis que d'autres héritent des types de données des valeurs traitées, vous devez donc faire attention à la précision du résultat de la fonction SUM (débordement possible) et à l'échelle de la fonction AVG.

Exemples de fonctions d'agrégation :

SELECT COUNT(*) FROM Client
. SELECT COUNT(DISTINCT SNum) FROM Commandes
. SELECT MAX(Amt+Binc) FROM Orders //Si Binc est un champ numérique supplémentaire dans Orders
. SELECT AVG(Comm*100) FROM SalesPeople //Expression à l'intérieur de la fonction

Caractéristiques des serveurs industriels
Dans le SGBD Oracle, dans la section SELECT, vous pouvez spécifier des astuces supplémentaires (astuces) (27 pièces) qui affectent le choix du type d'optimiseur de requête et son fonctionnement.
SELECT /*+ ALL_ROWS */ FROM Commandes... //meilleures performances

Dans le SGBD SQL Server:
] – définit le nombre ou le pourcentage de lignes à lire. Avec les mêmes dernières valeurs, il est possible de lire toutes ces lignes et le nombre total peut être supérieur à celui spécifié.

DÉCLARER @p AS Int
SÉLECTIONNER @p=10
SELECT TOP (@p) AVEC LIENS * FROM Commandes

DE section

Cette rubrique est obligatoire et vous permet de :
Spécifier les noms des tables sources
La clause FROM spécifie les noms des tables et/ou vues à partir desquelles les données seront récupérées. De plus, le même tableau peut être inclus plusieurs fois dans cette section.
Remarque : Dans Oracle, vous pouvez également sélectionner des lignes à partir des instantanés.

Spécifier les alias de table
Un alias de table est un identifiant facultatif, généralement court, séparé par un espace après le nom de la table/vue.
Exemple : Client C

Spécifier une option de jointure externe pour les tables
Si plusieurs tables sont spécifiées dans la clause FROM, elles sont toutes implicitement considérées comme des jointures externes. La norme prévoit les principaux types de jointures de tables suivants :

1) Connexion croisée
CROSS JOIN - toutes les combinaisons possibles de paires de lignes sont définies, une pour chaque ligne de chacune des tables à joindre. Équivalent à la connexion cartésienne. Parfois appelé produit cartésien.

2) Connexion naturelle
JOIN - seules les lignes des tableaux A et B sont déterminées dans lesquelles les valeurs des colonnes sont les mêmes. Ils appellent cela une équiconnexion pas tout à fait à part entière. Il s'agit d'une jointure automatique sur plusieurs colonnes portant tous les mêmes noms (rejoindre).

3) Connexion syndicale
UNION JOIN - seules les lignes de chacune des tables pour lesquelles des correspondances n'ont pas été établies sont déterminées. Les colonnes d'une autre table sont remplies avec des valeurs NULL. Notez qu'une jointure UNION et un opérateur UNIUN ne sont pas la même chose. Une jointure est l’opposé d’une jointure INNER.

4) Union via prédicat
JOIN ON - filtre les lignes. Le prédicat peut contenir des sous-requêtes.

5) Combinaison via les noms de colonnes
JOIN USING() - définit une jointure uniquement pour les colonnes spécifiées, tandis que NATURAL - automatiquement pour toutes les colonnes du même nom.

Types de connexion

est l'un des arguments: INTÉRIEUR|{GAUCHE|DROITE|PLEIN)
. INTÉRIEUR– inclut les lignes contenant des colonnes avec les données correspondantes des tables jointes. Utilisé par défaut.
. GAUCHE- inclut toutes les lignes du tableau A (tableau de gauche) et toutes les valeurs correspondantes du tableau B. Les colonnes des lignes non correspondantes sont remplies de valeurs NULL.
. DROITE- inclut toutes les lignes du tableau B (tableau de droite) et toutes les valeurs correspondantes du tableau A. Inverse pour la jointure gauche.
. COMPLET– inclut toutes les lignes des deux tableaux. Les colonnes des lignes correspondantes sont remplies de valeurs réelles et celles des lignes non correspondantes sont remplies de valeurs NULL.
. EXTÉRIEUR (externe) est un mot qualificatif signifiant que les lignes non correspondantes du tableau principal sont incluses avec celles correspondantes.

Exemples de jointures externes :

SELECT * FROM SalesPeople INNER JOIN Client ON SalesPeople.City=Customer.City
. SELECT * FROM Customer LEFT OUTER JOIN SalesPeople ON SalesPeople.City=Customer.City
. SELECT * FROM Customer FULL OUTER JOIN SalesPeople ON SalesPeople.City=Customer.City

Jointures cartésiennes et auto-jointures
. Si, lors de l'inclusion de plusieurs tables, certaines options de jointure de tables ne sont pas utilisées, alors ces jointures sont appelées cartésiennes. Ils sont utilisés pour obtenir des lignes de deux tables différentes. Ensuite, par exemple, lors de la jointure de deux tables contenant chacune 20 lignes, la table résultante contiendra 100 lignes - chacune des lignes d'une table avec chacune des lignes d'une autre table. SELECT * FROM Client, Commandes.
. Les jointures de tables identiques sont appelées auto-jointures.

Clause OÙ

1. Créez des connexions internes
La communication entre les tables s'effectue à l'aide d'opérateurs de comparaison et la liste des colonnes de sortie comprend les noms qualificatifs pour les colonnes du même nom des tables source.

Principaux types de connexions :
. Equijointures sont des jointures de tables basées sur des égalités. La liaison entre les tables sur les colonnes clés garantit l’intégrité référentielle. Si la connexion utilise une clé primaire et une clé étrangère, alors il existe toujours une relation un-à-plusieurs (ancêtre/descendant).

. Composés thêta est une jointure où l'inégalité (, >=, SQL Server Notes) est utilisée comme opérateur de comparaison
Dans SQL Server, les jointures gauche, droite et complètes peuvent être spécifiées dans la clause WHERE avec [*]=[*]. En fait, une jointure externe est implémentée, qui dans d'autres SGBD est implémentée dans la section FROM.

Exemples de connexions internes

SELECT C.CName, S.SName, S.City FROM SalesPeople S, Customer C WHERE S.City=C.City
SELECT SName, CName FROM SalesPeople, Customer WHERE SName

2. Filtrage des lignes de l'ensemble de sortie
La clause WHERE vous permet également de définir, c'est-à-dire une condition booléenne qui peut être vraie ou fausse. De plus, l'une ou les deux valeurs comparées dans le prédicat peuvent être NULL, auquel cas le résultat de la comparaison peut être INCONNU. L'instruction SELECT récupère uniquement les lignes des tables pour lesquelles la valeur est TRUE, à l'exclusion des lignes pour lesquelles elle est FALSE ou UNKNOWN.

SQL - Leçon 4. Sélection de données - Instruction SELECT

Ainsi, dans notre base de données de forum, il y a trois tableaux : utilisateurs (utilisateurs), sujets (sujets) et messages (messages). Et nous voulons voir quelles données ils contiennent. Pour ce faire, il existe un opérateur en SQL SÉLECTIONNER. La syntaxe pour l'utiliser est la suivante :

SELECT select_what FROM select_from ;


Au lieu de "what_to_select", il faut préciser soit le nom de la colonne dont on veut voir les valeurs, soit les noms de plusieurs colonnes séparées par des virgules, soit le caractère astérisque (*), ce qui signifie que toutes les colonnes du tableau sont sélectionnés. Au lieu de "from_choose", vous devez spécifier le nom de la table.

Examinons d'abord toutes les colonnes de la table des utilisateurs :

SELECT * FROM utilisateurs ;

Ce sont toutes nos données que nous avons entrées dans ce tableau. Mais supposons que nous souhaitions uniquement examiner la colonne id_user (par exemple, dans la dernière leçon, nous avions besoin de savoir quels sont les id_users dans la table des utilisateurs pour remplir la table des sujets). Pour cela, nous préciserons le nom de cette colonne dans la requête :

SELECT id_user FROM utilisateurs ;

Eh bien, si nous voulons voir, par exemple, les noms et les e-mails de nos utilisateurs, alors nous listerons les colonnes d'intérêt séparées par des virgules :

SELECT le nom, l'adresse e-mail des utilisateurs ;

De même, vous pouvez voir quelles données contiennent nos autres tableaux. Voyons quels sujets nous avons :

SELECT * FROM sujets ;

Maintenant nous n'avons que 4 sujets, et s'il y en avait 100 ? J'aimerais qu'ils soient affichés, par exemple, par ordre alphabétique. Il existe un mot-clé pour cela dans SQL. COMMANDÉ PAR suivi du nom de la colonne selon laquelle le tri sera effectué. La syntaxe est la suivante :

SELECT nom_colonne FROM nom_table ORDER BY nom_colonne_tri ;



Le tri par défaut est croissant, mais cela peut être modifié en ajoutant le mot-clé DESC

Désormais, nos données sont triées par ordre décroissant.

Vous pouvez trier sur plusieurs colonnes à la fois. Par exemple, la requête suivante triera les données selon la colonne topic_name, et s'il y a plusieurs lignes identiques dans cette colonne, alors la colonne id_author sera triée par ordre décroissant :

Comparez le résultat avec le résultat de la requête précédente.

Très souvent, nous n’avons pas besoin de toutes les informations du tableau. Par exemple, nous voulons savoir quels sujets ont été créés par l'utilisateur sveta (id=4). Il existe un mot-clé pour cela dans SQL. , la syntaxe d'une telle requête est la suivante :

Pour notre exemple, la condition est l'ID utilisateur, c'est-à-dire nous voulons uniquement les lignes qui en ont 4 dans la colonne id_author (ID utilisateur sveta) :

Ou nous voulons savoir qui a créé le thème "vélos":

Bien sûr, il serait plus pratique d'afficher le nom de l'auteur au lieu de l'identifiant de l'auteur, mais les noms sont stockés dans une autre table. Dans les leçons ultérieures, nous apprendrons comment sélectionner des données dans plusieurs tables. En attendant, apprenons quelles conditions peuvent être spécifiées à l'aide du mot-clé WHERE.

Opérateur Description
= (égal) Valeurs sélectionnées égales à celles spécifiées

Exemple:

SELECT * FROM sujets WHERE id_author=4;

Résultat:

> (plus) Les valeurs supérieures à celles spécifiées sont sélectionnées

Exemple:

SELECT * FROM sujets WHERE id_author>2;

Résultat:

< (меньше) Les valeurs inférieures à celles spécifiées sont sélectionnées

Exemple:

SELECT * FROM sujets OÙ id_author
Résultat:

>= (supérieur ou égal à) Les valeurs supérieures ou égales à la valeur spécifiée sont sélectionnées.

Exemple:

SELECT * FROM sujets WHERE id_author>=2;

Résultat:

<= (меньше или равно) Les valeurs inférieures ou égales à la valeur spécifiée sont sélectionnées.

Exemple:

SELECT * FROM sujets OÙ id_author
Résultat:

!= (pas égal) Les valeurs non égales à celles spécifiées sont sélectionnées

Exemple:

SELECT * FROM sujets WHERE id_author!=1;

Résultat:

EST NON NULLE Les lignes qui ont des valeurs dans le champ spécifié sont sélectionnées

Exemple:

SELECT * FROM sujets OÙ id_author N'EST PAS NULL ;

Résultat:

EST NULL Les lignes qui n'ont pas de valeur dans le champ spécifié sont sélectionnées

Exemple:

SELECT * FROM sujets OÙ id_author EST NULL ;

Résultat:

Ensemble vide - pas de telles chaînes.

ENTRE (entre) Les valeurs comprises entre les valeurs spécifiées sont sélectionnées.

Exemple:

SELECT * FROM sujets OÙ id_author ENTRE 1 ET 3 ;

Résultat:

IN (valeur contenue) Les valeurs correspondant aux valeurs spécifiées

Exemple:

SELECT * FROM sujets WHERE id_author IN (1, 4);

Résultat:

NOT IN (valeur non contenue) Valeurs sélectionnées autres que celles spécifiées

Exemple:

SELECT * FROM sujets WHERE id_author NOT IN (1, 4);

Résultat:

AIMER (correspondre) Des exemples de valeurs sont sélectionnés

Exemple:

SELECT * FROM sujets WHERE nom_sujet LIKE "vel%" ;

Résultat:

Les métacaractères possibles de l'opérateur LIKE seront discutés ci-dessous.

PAS COMME Les valeurs qui ne correspondent pas à l'échantillon sont sélectionnées

Exemple:

SELECT * FROM sujets WHERE topic_name NOT LIKE "vel%" ;

Résultat:

Métacaractères de l'opérateur LIKE

Les recherches de métacaractères ne peuvent être effectuées que dans les champs de texte.

Le métacaractère le plus courant est % . Cela signifie n'importe quel personnage. Par exemple, si nous voulons trouver des mots qui commencent par les lettres "vel", alors nous écrirons LIKE "vel%", et si nous voulons trouver des mots qui contiennent les caractères "club", alors nous écrirons LIKE "% club%". Par exemple:

Un autre métacaractère couramment utilisé est _ . Contrairement à %, qui désigne peu ou pas de caractères, le trait de soulignement désigne exactement un caractère. Par exemple:

Faites attention à l'espace entre le métacaractère et "poisson", si vous le sautez, la requête ne fonctionnera pas, car métacaractère _ représente exactement un caractère, et un espace est aussi un caractère.

C'est assez pour aujourd'hui. Dans la prochaine leçon, nous apprendrons comment interroger deux ou plusieurs tables. En attendant, essayez de faire vos propres requêtes sur la table des publications (messages).

Il y a donc trois tables dans la base de données du forum :

utilisateurs (utilisateurs);

Sujets (sujets);

· messages (messages).

Vous devez voir quelles données ils contiennent. Pour ce faire, il existe un opérateur en SQL SÉLECTIONNER. La syntaxe pour l'utiliser est la suivante :

SELECT select_what FROM select_from ;

Au lieu de "what_to_select", vous devez spécifier soit le nom de la colonne dont vous souhaitez voir les valeurs, soit les noms de plusieurs colonnes séparées par des virgules, soit le symbole astérisque (*), qui signifie la sélection de toutes les colonnes de la table. Au lieu de "from_choose", vous devez spécifier le nom de la table.

Tout d'abord, regardons toutes les colonnes de la table des utilisateurs :

SELECT * FROM utilisateurs ;

Ce sont toutes les données qui ont été saisies dans le tableau.

Supposons que nous ayons uniquement besoin de regarder la colonne id_user (car nous devons savoir quels sont les id_users dans la table des utilisateurs pour remplir la table des sujets). Pour cela, précisez le nom de cette colonne dans la requête :

SELECT id_user FROM utilisateurs ;

Si vous avez besoin de voir, par exemple, les noms et les e-mails des utilisateurs, vous devez alors lister les colonnes qui vous intéressent séparées par des virgules :

SELECT le nom, l'adresse e-mail des utilisateurs ;

De même, vous pouvez voir quelles données contiennent les autres tables.

Voyons d’abord quels sont les thèmes :

SELECT * FROM sujets ;

Il n'y a plus que 4 sujets dans le tableau, mais que se passe-t-il s'il y en a 100 ? J'aimerais qu'ils soient affichés, par exemple, par ordre alphabétique. Il existe un mot-clé pour cela dans SQL. COMMANDÉ PAR suivi du nom de la colonne sur laquelle trier. La syntaxe est la suivante :

SELECT nom_colonne FROM nom_table ORDER BY nom_colonne_tri ;

Le tri par défaut est croissant, mais cela peut être modifié en ajoutant le mot-clé DESC.

Les données sont désormais triées par ordre décroissant.

Vous pouvez trier sur plusieurs colonnes à la fois. Par exemple, la requête suivante triera les données selon la colonne topic_name, et s'il y a plusieurs lignes identiques dans cette colonne, alors la colonne id_author sera triée par ordre décroissant :

Comparez le résultat avec le résultat de la requête précédente.

Très souvent, l’utilisateur n’a pas besoin de toutes les informations du tableau. Par exemple, vous devez savoir quels sujets ont été créés par l'utilisateur sveta (id = 4). Il existe un mot-clé pour cela dans SQL. , la syntaxe d'une telle requête est la suivante :

SELECT nom_colonne FROM nom_table WHERE condition ;

Pour notre exemple, la condition est l'ID utilisateur, c'est-à-dire seules ces lignes sont nécessaires, dont la colonne id_author est 4 (ID utilisateur sveta) :

SELECT * FROM sujets WHERE id_author=4;

Il faut maintenant découvrir qui a créé le thème « vélos » :

Bien sûr, il serait plus pratique d'afficher le nom de l'auteur au lieu de l'identifiant de l'auteur, mais les noms sont stockés dans une autre table. Voyons ensuite comment sélectionner des données dans plusieurs tables. En attendant, apprenons quelles conditions peuvent être spécifiées à l'aide du mot-clé WHERE.

Opérateur Description
= (égal) Des valeurs égales à celles spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author=4 ; Résultat:
> (plus) Les valeurs supérieures à celles spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author > 2 ; Résultat:
< (меньше) Les valeurs inférieures à celles spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author< 3; Результат:
>= (supérieur ou égal à) Les valeurs supérieures et égales à la valeur spécifiée sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author >= 2 ; Résultat:
<= (меньше или равно) Les valeurs inférieures ou égales à la valeur spécifiée sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author<= 3; Результат:
!= (pas égal) Des valeurs différentes de celles spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author != 1; Résultat:
EST NON NULLE Les lignes contenant des valeurs dans le champ spécifié sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author IS NOT NULL ; Résultat:
EST NULL Les lignes qui n'ont pas de valeur dans le champ spécifié sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author IS NULL ; Résultat:
Ensemble vide - pas de telles chaînes.
ENTRE (entre) Les valeurs comprises entre les valeurs spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author BETWEEN 1 AND 3 ; Résultat:
IN (valeur contenue) Les valeurs correspondant à celles spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author IN (1, 4); Résultat:
NOT IN (valeur non contenue) Des valeurs autres que celles spécifiées sont sélectionnées. Exemple : SELECT * FROM sujets WHERE id_author NOT IN (1, 4); Résultat:
AIMER (correspondre) Les valeurs qui correspondent à l'échantillon sont sélectionnées. Exemple : SELECT * FROM sujets WHERE nom_sujet LIKE "vel%" ; Résultat:
Les métacaractères possibles de l'opérateur LIKE seront discutés ci-dessous.
PAS COMME Les valeurs qui ne correspondent pas à l'échantillon sont sélectionnées. Exemple : SELECT * FROM sujets WHERE nom_sujet NOT LIKE "vel%" ; Résultat:

Travaux pratiques n°9

Sujet de la leçon : Création de requêtes SQL.

Objectif de la leçon : Apprenez à utiliser le langage SQL pour créer des requêtes.

Plan de cours :

1. Création de requêtes SQL pour la sélection.

2. Création de requêtes SQL pour une sélection avec une condition de sélection.

3. Création de requêtes SQL avec calcul.

4. Création de requêtes SQL pour le regroupement.

SQL ( Structuré Requête langue) - un langage de requête structuré qui fournit des outils de création et de traitement de données dans une base de données.

Afin de créer une requête à l'aide des outils du langage SQL, vous devez effectuer les étapes suivantes :

    Créez une requête à l'aide du constructeur.

· Dans le générateur de requêtes, cliquez avec le bouton droit dans la zone d'affichage du tableau et sélectionnez « Mode SQL » dans le menu contextuel.

1. CréationRequêtes SQL pour la sélection.

Créons une requête simple pour sélectionner les marchandises et les commandes pour ces marchandises à l'aide de SQL.

· Ouvrez l'éditeur de requêtes SQL.

Dans la fenêtre de l'éditeur, saisissez la procédure de requête suivante

SELECT Commandes.[ID de commande], Produits.[Nom du produit], Commandes. Quantité, marchandises. Prix, Produits.[Unité], Commandes.[Date de commande]

FROM Produits INNER JOIN Commandes SUR Produits.[ID produit] = Commandes. Produit;

· Enregistrez la requête en tant que requête SQL.

· Vérifiez que la requête fonctionne correctement.

Analysons la syntaxe de cette opération :

SELECT est une instruction qui indique à la base de données que cette opération est une requête (presque toutes les requêtes commencent par ce mot). Après l'instruction SELECT, une liste des champs qui seront inclus dans la requête commence généralement. Par exemple, l'enregistrement SELECT Orders.[Order Code] signifiera que la requête inclura le champ Code de commande du tableau des commandes. Si le nom du champ contient des espaces, il doit être placé entre crochets.

FROM est l'opérateur responsable de la source de données. Si vous devez spécifier des relations entre les tables, vous devez utiliser l'opérateur INNER JOIN.

INNER JOIN - Joint les enregistrements de deux tables si les champs de jointure de ces tables contiennent les mêmes valeurs. Par exemple, l'entrée « FROM Products INNER JOIN Orders ON Products.[Product Code] = Orders. Produit" signifie que dans cette procédure de demande, le champ Code produit De la table Produits se trouve la source d'enregistrement pour le champ Produit tableaux "Commandes"

Exercice: Créez une requête SQL qui vous permet d'afficher des informations sur les clients qui ont acheté le produit.

2. Création de requêtes SQL pour une sélection avec une condition de sélection.

À l'aide du langage SQL, nous créerons une requête qui vous permettra d'afficher des informations sur les employés ayant vendu des biens en quantités supérieures à 3.

Pour créer des requêtes avec une condition de sélection, la clause WHERE est utilisée.

Créez une requête de sélection SQL contenant les champs suivants : Nom et prénom Employé Code de commande Lequel servir Quantité. Vérifiez si cela fonctionne correctement.

· Vous devez maintenant ajouter une condition de sélection. Ouvrez l'éditeur SQL et ajoutez "WHERE (((Commandes. Quantité)>3))" à la fin de la procédure de requête.

· Enregistrez la requête sous le nom "Sélectionner avec condition de sélection SQL". Vérifiez si la demande fonctionne.

Exercice: Créez une requête SQL qui sélectionne tous les produits pour lesquels le prix n'est pas arrêté et le prix ne dépasse pas 20 unités monétaires.

3. Création de requêtes SQL avec calcul.

Créons une requête SQL qui permet d'afficher le nom du client, le nom du produit, le montant de la commande (prix*quantité).

La procédure de demande ressemble à ceci :

SÉLECTIONNER les clients. Nom, produits. [Nom du produit], commandes ! Quantité*Produits ! Prix ​​AS [Montant de la commande]

FROM Produits INNER JOIN (Clients INNER JOIN Commandes SUR Clients.[ID client]=Commandes. Client) SUR Produits.[ID produit]=Commandes. Produit;

4. Création de requêtes SQL pour le regroupement.

Créons une requête qui nous permettra de déterminer la quantité totale de marchandises commandées par chaque client.

La clause GROUP BY est utilisée pour regrouper les enregistrements.

La procédure de demande ressemble à ceci :

SÉLECTIONNER les clients. Nom, Somme (Commandes ! Quantité*Articles ! Prix) AS [Somme des commandes]

FROM Produits INNER JOIN (Clients INNER JOIN Commandes SUR Clients.[ID client] = Commandes. Client) SUR Produits.[ID produit] = Commandes. Produit

GROUPER PAR Clients. Nom de famille;

Questions de contrôle :

1. Qu'est-ce que SQL ?

2. Comment créer une requête SQL ?

3. Composants structurels du langage SQL.

4. Lister les principaux opérateurs du langage SQL.

5. Informations générales sur les instructions SELECT, WHERE, FROM, INNER JOIN, GROUP BY.

Tâche pour les étudiants qui réussissent : Essayez de créer vous-même une requête SQL qui vous permet de supprimer tous les enregistrements de la table "Produits" dont le prix est inférieur à 3 unités monétaires

Conclusion: Au cours de ce travail, les principales voies et méthodes de création de requêtes SQL ont été étudiées. Les composants structurels du langage de requête ont été pris en compte et la syntaxe d'utilisation des opérateurs a été décrite.



Vous avez aimé l'article ? Partagez-le