Heim  >  Artikel  >  php教程  >  Oracle Basic Learning, einfache Abfrage und eingeschränkte Abfrage

Oracle Basic Learning, einfache Abfrage und eingeschränkte Abfrage

高洛峰
高洛峰Original
2017-01-06 11:21:351390Durchsuche

In diesem Artikel werden hauptsächlich einfache und eingeschränkte Abfragen in Oracle vorgestellt. Im Folgenden werde ich nicht viel sagen. Schauen wir uns das gemeinsam an.

SQL:

1. DML (Datenmanipulationssprache): Bezieht sich hauptsächlich auf die Abfrage- und Aktualisierungsvorgänge der Datenbank. Der Abfragevorgang ist der problematischste in der gesamten SQL-Syntax Wird häufig im schriftlichen Teil verwendet.

2. DDL (Datendefinitionssprache): Bezieht sich hauptsächlich auf die Erstellung von Datenobjekten (Tabellen, Benutzer usw.). Zum Beispiel: Erfordert relevante Designparadigmen.

3. DCL (Data Control Language): Führt hauptsächlich Berechtigungsvorgänge aus (muss in Kombination mit Benutzern beachtet werden). Dieser Teil ist für den DBA verantwortlich.

Einfache Abfrage:

1, verwenden Sie die Select-Klausel, um die anzuzeigenden Datenspalten zu steuern:

select empno,ename,ename,job,sal from emp;

2 können Sie mit „distinct“ doppelte Datenzeilen entfernen:

select distinct job from emp;

3 Die Select-Klausel kann vier arithmetische Operationen ausführen und konstante Inhalte direkt ausgeben , aber für Zeichenfolgen verwenden Sie einfache Anführungszeichen, um direkt zu schreiben. Das Datumsformat folgt dem Zeichenformat:

select empno,ename,(sal*15+(200+100)) income from emp;

Erscheint selten direkt in der Abfrage:

select empno||ename from emp;

5. Die where-Klausel wird im Allgemeinen nach der from-Klausel geschrieben, ihr folgt jedoch unmittelbar die from-Klausel. Nach der Ausführung steuert die where-Klausel die Anzeige von Datenzeilen, während select die Daten steuert Die SELECT-Klausel bleibt hinter der Ausführung der WHERE-Klausel zurück, sodass die in der SELECT-Klausel definierten Aliase nicht in WHERE verwendet werden können.

Qualifizierte Abfrage:

1, relationaler Operator:

select * from emp where sal>1500;
 
select * from emp where ename ='SMITH'
 
select empno,ename,job from emp where job<>&#39;SALESMAN&#39;;

2, logischer Operator:

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;

3, Bereichsabfrage:

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;;

4, leeres Urteil ( Null bedeutet Unsicherheit in der Datenbank. Wenn in der Datenspalte Null verwendet wird, bedeutet dies nicht 0)

select * from emp where comm is not null;

5, IN-Operator (ähnlich wie zwischen und in gibt den angegebenen Bereich an):

select * from emp where empno in (7369,7566,7788,9999);

Über not in und null:

Bei Verwendung von not in Während der Bereichsbeurteilung, wenn die Wenn der Bereich null enthält, wird kein Ergebnis zurückgegeben.

6, Fuzzy-Abfrage:

„-“: entspricht einem beliebigen Zeichen;

„%“: entspricht einem beliebigen 0, 1 oder mehreren Zeichen; 🎜>Mitarbeiterinformationen abfragen, deren Name mit dem Buchstaben A beginnt:

Mitarbeiterinformationen abfragen, deren zweiter Buchstabe A ist:
select * from emp where ename like &#39;A%&#39;

Mitarbeiterinformationen abfragen, deren Name an einer beliebigen Position A ist:
select * from emp where ename like &#39;_A%&#39;;

Abfragesortierung:
select * from emp where ename like &#39;%A%&#39;;

ASC (Standard): Sortierung in aufsteigender Reihenfolge;

DESC: Sortierung in absteigender Reihenfolge

Alle Mitarbeiterinformationen abfragen, eine Sortierung nach Gehalt ist in aufsteigender Reihenfolge erforderlich . zum niedrigsten:

Nummer, Name, Jahresgehalt jedes Mitarbeiters abfragen, nach Jahresgehalt von niedrig nach hoch sortieren:
select * from emp order by sal desc;

Ausführungsreihenfolge der Anweisungen: von – wo – auswählen – sortieren nach
select empno ,ename,sal*12 income from emp order by income;

Grundübung:

1, Abteilung auswählen 30 Alle Mitarbeiter in:


2. Listen Sie die Namen, Nummern und Abteilungsnummern aller Sachbearbeiter auf:
select * from emp where deptno=30;

3. Finden Sie Mitarbeiter, deren Provision mehr als 60 % ihres Gehalts beträgt:
select ename,empno,deptno from emp
where job=&#39;CLERK&#39;;

4. Finden Sie alle Manager in Abteilung 10 und alle Sachbearbeiter in Abteilung 20:
select * from emp where comm>sal*0.6 ;

5. Finden Sie die Abteilung Alle Manager in Abteilung 10, alle Sachbearbeiter in Abteilung 20, und alle Mitarbeiter, die weder Manager noch Sachbearbeiter sind, deren Gehalt jedoch mindestens 2000 beträgt:
select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39; )or(deptno=20 and job=&#39;CLERK&#39;   );

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);
6 Informieren Sie sich über die verschiedenen Jobs von Mitarbeitern, die Provisionen erhalten:
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);

Oder Mitarbeiter, die weniger als 100 Provisionen verlangen:

select distinct job
 from emp
 where comm is not null;

8 , Mitarbeiternamen ohne „R“ anzeigen:

select distinct job
 from emp
where comm is null or comm<100;

9. Zeigt die Namen aller Mitarbeiter an, deren Namensfeld A enthält. Die angezeigten Ergebnisse basieren auf Wenn die Gehälter gleich sind, basieren sie auf den Beschäftigungsjahren vom frühesten zum frühesten Ende. Wenn die Einstellungsdaten gleich sind, sortieren Sie nach Position:

select *
from emp
where ename not like &#39;%R%&#39;;

Zusammenfassung

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein kann Bei Fragen können Sie eine Nachricht hinterlassen, um zu kommunizieren.

Weitere Artikel zu Oracle Basic Learning, einfacher Abfrage und eingeschränkter Abfrage finden Sie auf der chinesischen PHP-Website!
select * from emp where ename like &#39;%A%&#39; order by sal desc,hiredate
asc,job;
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn