Heim > Datenbank > SQL > Hauptteil

Was sind die SQL-Abfrageanweisungen?

coldplay.xixi
Freigeben: 2023-01-13 00:40:45
Original
68792 Leute haben es durchsucht

SQL-Abfrageanweisung: 1. Tabellenstruktur anzeigen [SQL>DESC emp] 2. Alle Spalten abfragen [SQL>SELECT * FROM emp] 4. Die angegebene Zeile abfragen; Arithmetische Ausdrücke 6. Verwenden Sie logische Operationssymbole.

Was sind die SQL-Abfrageanweisungen?

Empfohlen (kostenlos): SQL-Tutorial

SQL-Abfrageanweisung:

1. Einfache Abfrageanweisung

1. Tabellenstruktur anzeigen

SQL>DESC emp;
Nach dem Login kopieren

2. Alle Spalten abfragen

SQL>SELECT * FROM emp;
Nach dem Login kopieren

4. Angegebene Zeilen abfragen

SQL>SELECT empmo, ename, mgr FROM emp;
SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
Nach dem Login kopieren

6. Verwenden Sie den Like-Operator (% , _ )

% steht für ein oder mehrere Zeichen, _ steht für ein Zeichen, [charlist] steht für ein beliebiges einzelnes Zeichen in der Zeichenspalte, [^charlist] oder [!charlist] steht für ein beliebiges einzelnes Zeichen, das nicht in der Zeichenspalte enthalten ist.

SQL>SELECT * FROM emp WHERE job='CLERK';
Nach dem Login kopieren

7. Verwenden Sie In in der Where-Bedingung

SQL>SELECT ename, sal*13+nvl(comm,0)  FROM emp; 
nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。
SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序)
SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82';
Nach dem Login kopieren

8. Fragen Sie die Anweisung ab, bei der der Feldinhalt leer/nicht leer ist

SQL>SELECT * FROM emp WHERE ename like 'S__T%';
Nach dem Login kopieren

9. Konvertieren Sie die Abfrageergebnisse. Sortieren Sie nach dem Wert des Felds

SQL>SELECT * FROM emp WHERE job IN ('CLERK','ANALYST');
Nach dem Login kopieren

11. Anwendungsfall ... wenn ... dann ... beenden, um die Abfrageergebnisse zu verarbeiten XXX, wenn der Inhalt von a lautet: Wenn original_a verwendet wird, wird der Inhalt als „neu benannter Aa“ angezeigt.

Originalliste

ab

c

original_a

...

...original_b... ...XXXNeuer Name AaNeuer Name Bb
Abfrageergebnisse

12. Datumsdaten formatieren
SQL>SELECT * FROM emp WHERE mgr IS/IS NOT NULL;
Nach dem Login kopieren
. 2. Komplexe Abfrage1 Gruppierung (Max, Min, Durchschnitt, Summe, Anzahl)
SQL>SELECT * FROM emp WHERE (sal>500 or job='MANAGE') and ename like 'J%';
Nach dem Login kopieren
2. Gruppieren nach (wird zum Gruppieren von Statistiken von Abfrageergebnissen verwendet) und mit der Klausel (wird verwendet, um Gruppenanzeigeergebnisse einzuschränken)

SQL>SELECT * FROM emp ORDER BY deptno, sal DESC; (按部门升序,并按薪酬降序)
Nach dem Login kopieren
für Daten Zusammenfassung der Gruppierung :

a Die Gruppierungsfunktion kann nur in der Klausel „select“, „have, order by“ erscheinen (kann nicht in where erscheinen)

b, wenn die select-Anweisung auch „group by, have, order by“ enthält Ihre Reihenfolge ist „Gruppe nach“, „Haben“, „Ordnen nach“.

c. Wenn die Auswahlspalte Spalten, Ausdrücke und Gruppierungsfunktionen enthält, müssen diese Spalten und Ausdrücke in der Group-by-Klausel erscheinen, andernfalls tritt ein Fehler auf. Das heißt: Der Spaltenname in der SELECT-Klausel muss eine Gruppierungsspalte oder eine Spaltenfunktion sein

SQL>SELECT CASE a WHEN "original_a" THEN "新命名Aa" WHEN "original_b" THEN "新命名Bb" END AS XXX;
Nach dem Login kopieren

4 Tabelle)
  • SQL>SELECT DATE_FORMAT(start_time,"%Y-%m-%d") as "时间";
    Nach dem Login kopieren

    5. Unterabfrage (select-Anweisung eingebettet in andere SQL-Anweisungen, auch verschachtelte Abfrage genannt)
  • 5.1 Einzelzeilen-Unterabfrage

    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;
    Nach dem Login kopieren
  • Fragen Sie die Namen von Personen in derselben Abteilung wie Smith in der Abfragetabelle ab. Da das zurückgegebene Ergebnis nur aus einer Zeile besteht, verwenden Sie „=“, um die Unterabfrageanweisung zu verbinden in der Abfragetabelle. Da das zurückgegebene Ergebnis mehrere Zeilen enthält, wird „IN“ zum Verbinden der Unterabfrageanweisungen verwendet.
  • 5.3 Mit ALL

    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;
    Nach dem Login kopieren
  • können Sie Name, Gehalt und Abteilungsnummer von Mitarbeitern abfragen, deren Gehalt höher ist als das aller Mitarbeiter mit der Abteilungsnummer 30. Die beiden oben genannten Anweisungen sind funktional gleich, aber in Bezug auf die Ausführungseffizienz ist die Funktion viel höher.

5.4 Verwenden Sie ANY

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;
Nach dem Login kopieren
, um den Namen, das Gehalt und die Abteilungsnummer des Mitarbeiters abzufragen, dessen Gehalt höher ist als das eines beliebigen Mitarbeiters mit der Abteilungsnummer 30 (sofern das Gehalt höher ist als das eines bestimmten Mitarbeiters). Die beiden oben genannten Anweisungen sind funktional gleich, aber in Bezug auf die Ausführungseffizienz ist die Funktion viel höher.

5.5 Mehrspaltige Unterabfrage

SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;
Nach dem Login kopieren
5.6 Unterabfrage in der from-Klausel verwenden

SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename=&#39;SMITH&#39;);
Nach dem Login kopieren

5.7 Paging-AbfrageJede Datenzeile in der Datenbank hat eine entsprechende Zeilennummer, rownum genannt.

SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);
Nach dem Login kopieren

Geben Sie die Abfragespalte an, For Sortieren von Abfrageergebnissen usw. müssen Sie nur die innerste Unterabfrage ändern.

5.8 Erstellen Sie eine neue Tabelle mit Abfrageergebnissen. oder und andere logische Abfrage.

5.10 Verwenden Sie eine Unterabfrage, um Daten einzufügen

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);
Nach dem Login kopieren

Erstellen Sie zunächst eine leere Tabelle.

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);
Nach dem Login kopieren

Fügen Sie dann die Daten mit der Abteilungsnummer 10 in der emp-Tabelle in die neue Tabelle myEmp ein, um eine Stapelabfrage von Daten zu realisieren.

5.11 verwendet eine Abfrage, um die Daten in der Tabelle zu aktualisieren

SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename=&#39;SMITH&#39;);
Nach dem Login kopieren

Verwandte kostenlose Lernempfehlungen:

php-Programmierung

(Video)

Das obige ist der detaillierte Inhalt vonWas sind die SQL-Abfrageanweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage