SELECT dans MySQL - Exemples pour implémenter SELECT dans MySQL

Table des matières:

Anonim

Introduction à SELECT dans MySQL

Dans cette rubrique, nous allons en savoir plus sur SELECT dans MySQL et principalement sur DQL qui est «Data Query Language». Cela vient à jouer lorsque nous essayons de récupérer des enregistrements de la base de données et cela commence par la commande "SELECT". Cette commande peut être utilisée avec de nombreuses clauses SQL ainsi qu'avec d'autres fonctions pour obtenir les enregistrements souhaités.

Il existe de nombreux types de commandes SQL qui peuvent être classées comme suit:

  • DDL (langage de définition de données)
  • DML (langage de manipulation de données)
  • DQL (langage de requête de données)
  • DCL (langage de contrôle des données)
  • TCL (langage de contrôle des transactions)

Syntaxe:

1. La syntaxe de base de la commande SELECT:

SELECT * FROM table_name;

Cela va récupérer tous les enregistrements avec tous les attributs d'une table.

SELECT column1, column2, …. FROM table_name;

Cela va récupérer les colonnes spécifiées d'une table qui sont passées par la requête.

2. Cette commande SELECT peut également être utilisée avec la commande INSERT qui est utilisée pour ajouter des enregistrements à la table existante.

INSERT INTO table_name1 SELECT * FROM table_name2;

Ici, la requête récupérera tous les enregistrements de table_name2 et les insérera dans table_name1.

Exemples pour implémenter SELECT dans MySQL

Considérons qu'il existe une table client avec les attributs suivants.

Cust_idPrénomNom de familleContactEmailVilleMontant
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Nous allons voir quelques requêtes SELECT de base en utilisant certaines clauses pour la compréhension de base du fonctionnement de cette commande.

Exemple 1

SELECT * FROM customer;

(Cela récupérera tous les enregistrements avec tous les attributs d'une table.)

Production:

Cust_idPrénomNom de familleContactEmailVilleMontant
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Exemple # 2

SELECT cust_id, first_name, last_name, email, city
FROM customer;

(Cela va récupérer les colonnes spécifiées d'une table qui sont passées par une requête)

Production:

Cust_idPrénomNom de familleEmailVille
1001RohitSharmaMumbai
1002ViratKohliDelhi
1003SachinTendulkarMumbai
1004VirendraShewagDelhi

Exemple # 3

SELECT cust_id, first_name, last_name, email, city FROM customer
WHERE city = 'Delhi';

(La commande WHERE récupérera ces enregistrements uniquement, où la ville sera «Delhi»)

Production:

Cust_idPrénomNom de familleEmailVille
1002ViratKohliDelhi
1004VirendraShewagDelhi

Exemple # 4

SELECT cust_id, first_name, last_name, city, amount FROM customer
WHERE amount BETWEEN 5000 AND 25000;

(La clause BETWEEN renvoie des enregistrements qui satisfont la plage de conditions donnée transmise dans la requête)

Production:

Cust_idPrénomNom de familleVilleMontant
1001RohitSharmaMumbai10000
1003SachinTendulkarMumbai15000
1004VirendraShewagDelhi20000

Exemple # 5

SELECT * FROM customer
ORDER BY amount DESC;

(Utilisé pour trier à la fois les valeurs numériques et les chaînes de manière ascendante ou descendante. Mais par défaut, il trie de manière ascendante. Si nous voulons en descendant, nous devons le spécifier après avoir utilisé la clause ORDER BY)

Production:

Cust_idPrénomNom de familleContactEmailVilleMontant
1002ViratKohli8752877855Delhi60000
1004VirendraShewag9087788988Delhi20000
1003SachinTendulkar9867868678Mumbai15000
1001RohitSharma9876736587Mumbai10000

Clauses avec la commande SELECT

Autres clauses avec la commande SELECT:

1. SELECT: permet de récupérer tous les enregistrements d'une table.

SELECT * FROM table;

2. DISTINCT: Utilisé pour récupérer toutes les valeurs uniques d'une table.

SELECT DISTINCT col_name FROM table;

3. OERE: Utilisé les conditions de pardon dans la récupération des enregistrements.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. COUNT: utilisé pour obtenir le nombre d'enregistrements présents dans une table.

SELECT COUNT(*) FROM employee;

5. ORDER BY: Utilisé pour trier les valeurs numériques et les chaînes de manière ascendante ou descendante. Mais par défaut, il trie de manière ascendante. Si nous voulons descendre, nous devons le spécifier après avoir utilisé la clause ORDER BY.

SELECT first_name FROM student
ORDER BY marks desc;

6. LIMIT: Ceci est utilisé pour spécifier le nombre d'enregistrements que nous voulons après avoir exécuté la requête. Si nous voulons les 5 meilleurs élèves d'une classe, après avoir trié les résultats, nous pouvons utiliser cette LIMITE en spécifiant 5. Pour qu'elle ne récupère que les 5 premiers enregistrements.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** ORDER BY utilisé ici pour trier la valeur dans l'ordre décroissant)

7. ET: si 2 conditions sont données et que les deux sont remplies pour un enregistrement, alors seule la requête récupérera ces enregistrements.

SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';

8. OU: Si 2 conditions sont données et que l'une d'elles est remplie pour un enregistrement, cet enregistrement sera récupéré.

SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';

9. NON: utilisé avec conditions. Si nous spécifions NOT avant toute condition, les enregistrements qui ne remplissent pas ces conditions seront récupérés.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. ENTRE: Cet opérateur sélectionne les enregistrements dans une plage donnée. La plupart du temps, nous utilisons cela lorsque nous voulons spécifier une plage de dates.

SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;

SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';

11. IN: Cet opérateur nous permet de spécifier plusieurs valeurs dans une clause WHERE.

SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);

12. LIKE: Cet opérateur est utilisé avec la clause WHERE pour rechercher un modèle spécifié dans une colonne contenant la chaîne.

  • 'A%' - la chaîne commence par A
  • '& A' - se termine par A
  • '% A%' - A sera entre la chaîne
  • '_A%' - Ici la 2ème lettre sera A
  • '% A_' - La 2e de la dernière lettre sera A

SELECT first_name FROM table
WHERE first_name LIKE 'A%';

13. SUBSTRING: Utilisé pour choisir un caractère spécifique dans une chaîne en spécifiant la position.

SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;

(il récupérera le caractère de la 1ère à la 5ème position d'une chaîne)

14. INSTR: Cela renvoie la position d'une chaîne dans une autre chaîne.

SELECT INSTR('independence', 'pen');

(il trouvera la position de «stylo» dans le mot «indépendance»)

15. GROUP BY: Ceci est utilisé pour séparer les enregistrements sur la base de certaines conditions données.

SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;

(Ici regrouper par salariés ségrégués sur la base de leur département et dont le salaire est supérieur à 100k.
La condition est toujours accompagnée de l'instruction HAVING dans la clause GROUP BY.)

Fonctions d'agrégation

Voici les différentes fonctions d'agrégation:

1. SUM: calcule la somme des valeurs.

SELECT SUM(salary) FROM employee;

2. AVG: calcule l'ensemble moyen de valeurs.

SELECT AVG(salary) FROM employee;

3. MIN: Obtient la valeur minimale dans un ensemble de valeurs.

SELECT MIN(salary) FROM employee;

4. MAX: obtient la valeur maximale dans un ensemble de valeurs.

SELECT MAX(salary) FROM employee;

Se joint à SELECT dans MySQL

1. INNER JOIN: renvoie les enregistrements qui ont une valeur correspondante dans les deux tables.

SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;

2. LEFT JOIN: renvoie tous les enregistrements de la table de gauche et les enregistrements correspondants de la table de droite.

SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;

3. RIGHT JOIN: renvoie tous les enregistrements de la table de droite et les enregistrements correspondants de la table de gauche.

SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;

4. FULL OUTER JOIN: renvoie tous les enregistrements en cas de correspondance sur la table de gauche ou de droite.

SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;

Conclusion - SELECT dans MySQL

Ces commandes et clauses dont nous avons discuté ci-dessus sont très utiles dans les scénarios en temps réel car elles fournissent les concepts de base sur la façon d'utiliser les requêtes SQL pour extraire et manipuler des données dans la base de données. En dehors de cela, tout en utilisant des requêtes avancées et analytiques comme la fonction de fenêtre, etc., ces clauses sont très importantes.

Articles recommandés

Ceci est un guide pour SELECT dans MySQL Ici, nous discutons de l'exemple pour implémenter SELECT dans MySQL avec des clauses, des fonctions d'agrégation et des jointures. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Caractères génériques dans MySQL
  2. Qu'est-ce que le schéma MySQL?
  3. Comment connecter une base de données à MySQL?
  4. Requêtes MySQL
  5. INSÉRER dans Oracle | Exemples
  6. Exemples de DISTINCT dans Oracle