Maison > php教程 > PHP开发 > Requête simple d'apprentissage de base Oracle et requête limitée

Requête simple d'apprentissage de base Oracle et requête limitée

高洛峰
Libérer: 2017-01-06 11:21:35
original
1473 Les gens l'ont consulté

Cet article présente principalement les requêtes simples et les requêtes limitées dans Oracle. Je ne dirai pas grand-chose ci-dessous, jetons un coup d'œil ensemble.

SQL :

1. DML (langage de manipulation de données) : fait principalement référence aux opérations de requête et de mise à jour de la base de données. L'opération de requête est la plus gênante de toute la syntaxe SQL et la plus. couramment utilisé dans la partie d’examen écrit.

2. DDL (langage de définition de données) : fait principalement référence à la création d'objets de données (tables, utilisateurs, etc.). Par exemple : creat. Nécessite des paradigmes de conception pertinents.

3. DCL (Data Control Language) : effectue principalement des opérations d'autorisation (doit être observée en combinaison avec les utilisateurs), cette partie est responsable du DBA.

Requête simple :

1, utilisez la clause select pour contrôler les colonnes de données à afficher :

select empno,ename,ename,job,sal from emp;
Copier après la connexion

2 , vous pouvez utiliser distinct pour éliminer les lignes de données en double :

select distinct job from emp;
Copier après la connexion

3 La clause select peut effectuer quatre opérations arithmétiques et générer directement un contenu constant. , mais Pour les chaînes, utilisez des guillemets simples pour écrire directement. Le format de date suit le format de caractère :

select empno,ename,(sal*15+(200+100)) income from emp;
Copier après la connexion

Apparaît rarement directement dans la requête :

select empno||ename from emp;
Copier après la connexion

5. La clause Where est généralement écrite après la clause from, mais elle est immédiatement suivie par la clause from Lorsqu'elle est exécutée ultérieurement, la clause Where contrôle l'opération d'affichage des lignes de données, tandis que select contrôle la clause from. colonnes de données. La clause select est en retard par rapport à l'exécution de la clause Where, de sorte que les alias définis dans la clause Select ne peuvent pas être utilisés dans Where.

Requête qualifiée :

1, opérateur relationnel :

select * from emp where sal>1500;
 
select * from emp where ename ='SMITH'
 
select empno,ename,job from emp where job<>&#39;SALESMAN&#39;;
Copier après la connexion

2, opérateur logique :

select * from emp where sal>1500 and sal<3000;
select * from emp where sal>2000 or job=&#39;CLERK&#39;;
select * from emp where not sal >=2000;
Copier après la connexion

3, requête de plage :

select * from emp where sal between 1500 and 2000;
select * from emp where hiredate between &#39;01-1月-1981&#39;and&#39;31-12月-1981&#39;;
Copier après la connexion

4, jugement vide (Null signifie incertitude sur la base de données. Si null est utilisé dans la colonne de données, cela ne signifie pas 0)

select * from emp where comm is not null;
Copier après la connexion

5, opérateur IN (similaire à entre et in donne la plage spécifiée) :

select * from emp where empno in (7369,7566,7788,9999);
Copier après la connexion

Concernant la question de not in et null :

Lors de l'utilisation de not in Pendant le jugement de plage , si la plage contient null, aucun résultat ne sera renvoyé.

6, requête floue :

« - » : correspond à n'importe quel caractère ;

« % » : correspond à 0, 1 ou plusieurs caractères

Rechercher les informations sur les employés dont le nom commence par la lettre A :

select * from emp where ename like &#39;A%&#39;
Copier après la connexion

Rechercher les informations sur les employés dont la deuxième lettre est A :

select * from emp where ename like &#39;_A%&#39;;
Copier après la connexion

Interrogez les informations sur les employés dont le nom est A à n'importe quel poste :

select * from emp where ename like &#39;%A%&#39;;
Copier après la connexion

Tri des requêtes :

ASC (par défaut) : Trier par ordre croissant ;

DESC : Trier par ordre décroissant

Interroger toutes les informations sur les employés, et il est nécessaire de trier par salaire par ordre croissant ; .au plus bas :

select * from emp order by sal desc;
Copier après la connexion

Interroger le numéro, le nom, le salaire annuel de chaque employé, trier par salaire annuel du plus bas au plus élevé :

select empno ,ename,sal*12 income from emp order by income;
Copier après la connexion

Ordre d'exécution des instructions : de - où -sélectionner - trier par

Exercice de base :


1, sélectionnez le département 30 Tous les employés de :

select * from emp where deptno=30;
Copier après la connexion

2. Indiquez les noms, numéros et numéros de service de tous les commis :

<. 🎜>

select ename,empno,deptno from emp
where job=&#39;CLERK&#39;;
Copier après la connexion
3. Rechercher les salariés dont la commission est supérieure à 60% de leur salaire :

select * from emp where comm>sal*0.6 ;
Copier après la connexion
4. Trouvez tous les managers du département 10 et tous les commis du département 20 :

select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39; )or(deptno=20 and job=&#39;CLERK&#39;   );
Copier après la connexion
5. Trouvez le département Tous les managers du département 10, tous les commis du département 20, et tous les salariés qui ne sont ni cadres ni commis mais dont le salaire est supérieur ou égal à 2000 :

select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39;)or(deptno=20 and
job=&#39;CLERK&#39;)or(job! =&#39;MANAGER&#39;and job!=&#39;CLERK&#39; and sal>=2000);
Copier après la connexion
select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39;)or(deptno=20 and job=&#39;CLERK&#39;)or(job
not in (&#39;CLERK&#39;,&#39;MANAGER&#39;) and sal>=2000);
Copier après la connexion
6. découvrez les différents métiers des salariés qui touchent des commissions :

Ou des salariés qui facturent moins de 100 commissions :

select distinct job
 from emp
 where comm is not null;
Copier après la connexion

8 , afficher les noms des employés sans « R » :

select distinct job
 from emp
where comm is null or comm<100;
Copier après la connexion

9 Afficher les noms de tous les employés dont le champ de nom contient A. Les résultats affichés sont basés sur le salaire de base du plus élevé au plus bas. Si les salaires sont les mêmes, ils sont basés sur les années d'emploi du plus tôt au plus tard, si les dates d'embauche sont les mêmes, trier par poste :

.
select *
from emp
where ename not like &#39;%R%&#39;;
Copier après la connexion

Résumé

Ce qui précède est l'intégralité du contenu de cet article, j'espère que le contenu de cet article pourra être d'une certaine aide pour les études ou le travail de chacun si vous l'avez fait. Pour toute question, vous pouvez laisser un message pour communiquer.

select * from emp where ename like &#39;%A%&#39; order by sal desc,hiredate
asc,job;
Copier après la connexion
Pour plus d'articles liés à l'apprentissage de base d'Oracle, aux requêtes simples et aux requêtes limitées, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal