Maison base de données SQL Quelles sont les instructions de requête SQL courantes ?

Quelles sont les instructions de requête SQL courantes ?

Oct 26, 2020 am 10:06 AM
instruction de requête SQL

Les instructions de requête SQL courantes incluent : 1. Afficher la structure de la table [SQL>DESC emp;]; 2. Interroger toutes les colonnes [SQL>SELECT * FROM emp]; ]; 4. Interrogez la ligne spécifiée [SQL>SELECT * FROM].

Quelles sont les instructions de requête SQL courantes ?

Les instructions de requête SQL courantes sont :

1.

1. Afficher la structure de la table

SQL>DESC emp;
Copier après la connexion

2. Interrogez toutes les colonnes

SQL>SELECT * FROM emp;
Copier après la connexion

3. 🎜 >

SQL>SELECT empmo, ename, mgr FROM emp;
Copier après la connexion
SQL>SELECT DISTINCT mgr FROM emp; Afficher uniquement les éléments avec des résultats différents

4 Interroger la ligne spécifiée

SQL>SELECT * FROM emp WHERE job='CLERK';
Copier après la connexion
<🎜. >5 . Utiliser l'expression arithmétique

SQL>SELECT ename, sal*13+nvl(comm,0)  FROM emp;
Copier après la connexion

nvl(comm,1) signifie que s'il y a une valeur dans comm, alors nvl(comm,1)=comm; , alors nvl(comm,1)=0. SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal est un alias et peut être trié par alias)

SQL>SELECT * FROM emp WHERE hiredate>&#39;01-1月-82&#39;;
Copier après la connexion

6. l'opération similaire Caractères (%, _)

% représente un ou plusieurs caractères, _ représente un caractère, [charlist] représente n'importe quel caractère dans la colonne de caractères, [^charlist] ou [!charlist ] n'existe pas. Aucun caractère dans une colonne de caractères.

SQL>SELECT * FROM emp WHERE ename like &#39;S__T%&#39;;
Copier après la connexion

7. Utiliser dans

SQL>SELECT * FROM emp WHERE job IN (&#39;CLERK&#39;,&#39;ANALYST&#39;);
Copier après la connexion

8. Interrogez l'instruction indiquant que le contenu du champ est vide/non vide

SQL>SELECT * FROM emp WHERE mgr IS/IS NOT NULL;
Copier après la connexion

9. Utilisez les symboles d'opération logique

SQL>SELECT * FROM emp WHERE (sal>500 or job=&#39;MANAGE&#39;) and ename like &#39;J%&#39;;
Copier après la connexion

10. Triez les résultats de la requête par la valeur du champ

SQL>SELECT * FROM emp ORDER BY deptno, sal DESC;
Copier après la connexion

(par ordre croissant). par département, et par ordre décroissant par salaire)

11. Cas d'utilisation... quand... puis... fin du traitement des résultats de la requête

SQL>SELECT CASE a WHEN "original_a" THEN "New name Aa" WHEN "original_b" THEN "New name Bb" END AS XXX ; Sélectionnez le champ a dans la table et nommez-le XXX. le contenu de a est original_a, le contenu est affiché sous la forme "Nouveau nom Aa".

12. Formater les données de date

SQL>SELECT DATE_FORMAT(start_time,"%Y-%m-%d") as "时间";
Copier après la connexion

2. Requête complexe

1. min,avg,sum,count)

SQL>SELECT MAX(sal),MIN(age),AVG(sal),SUM(sal) from emp;
SQL>SELECT * FROM emp where sal=(SELECT MAX(sal) from emp));
SQL>SELEC COUNT(*) FROM emp;
Copier après la connexion

2. group by (utilisé pour regrouper les statistiques sur les résultats de la requête) et clause ayant (utilisée pour limiter les résultats d'affichage du groupe)

SQL>SELECT deptno,MAX(sal),AVG(sal) FROM emp GROUP BY deptno;
SQL>SELECT deptno, job, AVG(sal),MIN(sal) FROM emp group by deptno,job having AVG(sal)<2000;
Copier après la connexion

Résumé du regroupement de données : a. Les fonctions de regroupement ne peuvent apparaître que dans les listes de sélection, avec des clauses triées par (ne peuvent pas apparaître dans où)

b. contient groupe par, ayant, ordre par en même temps, alors leur ordre est groupe par, ayant, ordre par.

c. S'il y a des colonnes, des expressions et des fonctions de regroupement dans la colonne sélectionnée, ces colonnes et expressions doivent apparaître dans la clause group by, sinon une erreur se produira. Autrement dit : le nom de la colonne dans la clause SELECT doit être une colonne de regroupement ou une fonction de colonne

L'utilisation de group by n'est pas une condition préalable à l'utilisation de have.

3. Requête multi-tables

SQL>SELECT e.name,e.sal,d.dname FROM emp e, dept d WHERE e.deptno=d.deptno order by d.deptno;
SQL>SELECT e.ename,e.sal,s.grade FROM emp e,salgrade s WHER e.sal BETWEEN s.losal AND s.hisal;
Select a.*, b.x, c.y from a
  left outer join (Select * from tablex where condition1)b
  on a.id=b.id
  left outer join (Select * from tabley where condition2)c
  on a.id=c.id
where condition3;
Copier après la connexion

Utilisez les données sélectionnées comme nouvelle table pour effectuer une requête de jointure gauche à partir de : https://q.cnblogs. com/q /67530/

4. Auto-jointure (faisant référence à la requête de connexion de la même table)

SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;
Copier après la connexion

5. autres instructions SQL) instruction select, également appelée requête imbriquée)

5.1 Sous-requête à une seule ligne

SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename=&#39;SMITH&#39;);
Copier après la connexion
Interrogez les noms des personnes du même département que Smith dans la table. Étant donné que le résultat renvoyé n'est qu'une seule ligne, utilisez "=" pour connecter l'instruction de sous-requête

5.2 Sous-requête multi-lignes

SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);
Copier après la connexion

Table de requête pour les employés ayant le même emploi que le numéro de service 10 Nom, fonction, salaire, numéro de département. Comme le résultat renvoyé comporte plusieurs lignes, « IN » est utilisé pour connecter les instructions de sous-requête. La différence entre

in et exist : La sous-requête après exist() est appelée une sous-requête corrélée et elle ne renvoie pas la valeur de la liste. Il renvoie simplement un résultat vrai ou faux. La méthode opérationnelle consiste à exécuter la requête principale une fois, puis à interroger les résultats correspondants dans la sous-requête. Si c'est vrai, il sera affiché, sinon il ne sera pas affiché. Ensuite, interrogez la sous-requête en fonction de chaque ligne de la requête principale. La sous-requête après in() renvoie le jeu de résultats. En d’autres termes, l’ordre d’exécution est différent de exist(). La sous-requête génère d'abord un ensemble de résultats, puis la requête principale accède à l'ensemble de résultats pour rechercher une liste de champs répondant aux exigences. Sortie qui répond aux exigences, sinon pas de sortie.


5.3 Utilisez ALL

SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ALL (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MAX(sal) FROM emp WHERE deptno=30);
Copier après la connexion

pour interroger le nom, le salaire et le numéro de service des employés dont le salaire est supérieur à celui de tous les employés portant le numéro de service 30. Les deux instructions ci-dessus sont fonctionnellement identiques, mais en termes d'efficacité d'exécution, la fonction sera beaucoup plus élevée.

5.4 Utilisez ANY

SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ANY (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MIN(sal) FROM emp WHERE deptno=30);
Copier après la connexion

pour interroger le nom et le salaire des employés dont le salaire est supérieur à celui de tout employé portant le numéro de service 30 (à condition que le salaire soit supérieur à un certain employé) et le numéro de service. Les deux instructions ci-dessus sont fonctionnellement identiques, mais en termes d'efficacité d'exécution, la fonction sera beaucoup plus élevée.

5.5 Sous-requête multi-colonnes

SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename=&#39;SMITH&#39;);
Copier après la connexion

5.6 Utilisation d'une sous-requête dans la clause from

 SQL>SELECT emp.deptno,emp.ename,emp.sal,t_avgsal.avgsal FROM emp,(SELECT emp.deptno,avg(emp.sal) avgsal FROM emp GROUP BY emp.deptno) t_avgsal where emp.deptno=t_avgsal.deptno AND emp.sal>t_avgsal.avgsal ORDER BY emp.deptno;
Copier après la connexion

5.7 Requête de pagination

Chaque ligne de données dans la base de données Chacun a un numéro de ligne correspondant, appelé rownum.

SQL>SELECT a2.* FROM (SELECT a1.*, ROWNUM rn FROM (SELECT * FROM emp ORDER BY sal) a1 WHERE ROWNUM<=10) a2 WHERE rn>=6;
Copier après la connexion

Spécifiez les colonnes de requête, triez les résultats de la requête, etc. Il vous suffit de modifier la sous-requête la plus interne.

5.8 Créer une nouvelle table avec les résultats de la requête

SQL>CREATE TABLE mytable (id,name,sal,job,deptno) AS SELECT empno,ename,sal,job,deptno FROM emp;
Copier après la connexion

5.9 Requête de fusion (union union, intersection, union all union+intersection, moins ensemble de différences)

SQL>SELECT ename, sal, job FROM emp WHERE sal>2500 UNION(INTERSECT/UNION ALL/MINUS) SELECT ename, sal, job FROM emp WHERE job=&#39;MANAGER&#39;;
Copier après la connexion

合并查询的执行效率远高于and,or等逻辑查询。

5.10 使用子查询插入数据

SQL>CREATE TABLE myEmp(empID number(4), name varchar2(20), sal number(6), job varchar2(10), dept number(2));
Copier après la connexion

先建一张空表;

SQL>INSERT INTO myEmp(empID, name, sal, job, dept) SELECT empno, ename, sal, job, deptno FROM emp WHERE deptno=10;
Copier après la connexion

再将emp表中部门号为10的数据插入到新表myEmp中,实现数据的批量查询。

5.11 使用了查询更新表中的数据

SQL>UPDATE emp SET(job, sal, comm)=(SELECT job, sal, comm FROM emp where ename=&#39;SMITH&#39;) WHERE ename=&#39;SCOTT&#39;;
Copier après la connexion

相关免费学习推荐:SQL视频教程

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment puis-je me conformer aux réglementations de confidentialité des données (RGPD, CCPA) à l'aide de SQL? Comment puis-je me conformer aux réglementations de confidentialité des données (RGPD, CCPA) à l'aide de SQL? Mar 18, 2025 am 11:22 AM

L'article discute de l'utilisation de SQL pour le RGPD et la conformité CCPA, en se concentrant sur l'anonymisation des données, les demandes d'accès et la suppression automatique des données obsolètes (159 caractères)

Comment implémenter le partitionnement des données dans SQL pour les performances et l'évolutivité? Comment implémenter le partitionnement des données dans SQL pour les performances et l'évolutivité? Mar 18, 2025 am 11:14 AM

L'article discute de la mise en œuvre du partitionnement des données dans SQL pour de meilleures performances et de meilleures évolutives, des méthodes de détail, des meilleures pratiques et des outils de surveillance.

Comment sécuriser ma base de données SQL contre les vulnérabilités communes comme l'injection SQL? Comment sécuriser ma base de données SQL contre les vulnérabilités communes comme l'injection SQL? Mar 18, 2025 am 11:18 AM

L'article traite de la sécurisation des bases de données SQL par rapport aux vulnérabilités comme l'injection SQL, mettant l'accent sur les déclarations préparées, la validation des entrées et les mises à jour régulières.

Comment utiliser SQL DateTime Comment utiliser SQL DateTime Apr 09, 2025 pm 06:09 PM

Le type de données DateTime est utilisé pour stocker les informations de date et de temps de haute précision, allant de 0001-01-01 00:00:00 à 9999-12-31 23: 59: 59.99999999, et la syntaxe est DateTime (Precision), lorsque la précision spécifie la précision après le point de déviation (0-7), et le défaut est 3. Les fonctions de conversion, mais doivent être conscientes des problèmes potentiels lors de la conversion de précision, de plage et de fuseaux horaires.

Comment utiliser SQL IF Comment utiliser SQL IF Apr 09, 2025 pm 06:12 PM

Les instructions SQL IF sont utilisées pour exécuter conditionnellement les instructions SQL, avec la syntaxe comme: if (condition) alors {instruction} else {instruction} end if;. La condition peut être n'importe quelle expression SQL valide, et si la condition est vraie, exécutez la clause alors; Si la condition est fausse, exécutez la clause ELSE. Si les déclarations peuvent être imbriquées, permettant des contrôles conditionnels plus complexes.

Comment créer des tables avec SQL Server à l'aide de l'instruction SQL Comment créer des tables avec SQL Server à l'aide de l'instruction SQL Apr 09, 2025 pm 03:48 PM

Comment créer des tables à l'aide de instructions SQL dans SQL Server: Ouvrez SQL Server Management Studio et connectez-vous au serveur de base de données. Sélectionnez la base de données pour créer le tableau. Entrez l'instruction Créer la table pour spécifier le nom de la table, le nom de la colonne, le type de données et les contraintes. Cliquez sur le bouton Exécuter pour créer le tableau.

Comment supprimer les lignes qui répondent à certains critères dans SQL Comment supprimer les lignes qui répondent à certains critères dans SQL Apr 09, 2025 pm 12:24 PM

Use the DELETE statement to delete data from the database and specify the deletion criteria through the WHERE clause. Example syntax: DELETE FROM table_name WHERE condition; Remarque: Sauvegardez les données avant d'effectuer des opérations de suppression, vérifiez les instructions dans l'environnement de test, utilisez la clause limite pour limiter le nombre de lignes supprimées, vérifiez soigneusement la clause WHERE pour éviter les erreurs et utilisez des index pour optimiser l'efficacité de suppression des grandes tables.

Utilisation de Declare dans SQL Utilisation de Declare dans SQL Apr 09, 2025 pm 04:45 PM

L'instruction Declare dans SQL est utilisée pour déclarer des variables, c'est-à-dire les espaces réservés qui stockent les valeurs variables. La syntaxe est: Declare & lt; Nom de la variable & gt; & lt; type de données & gt; [Par défaut & lt; valeur par défaut & gt;]; où & lt; nom variable & gt; est le nom de variable, & lt; type de données & gt; est son type de données (tel que varchar ou entier), et [par défaut & lt; valeur par défaut & gt;] est une valeur initiale facultative. DÉCLARATIONS Les déclarations peuvent être utilisées pour stocker les intermédiaires

See all articles