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.
Empfohlen (kostenlos): SQL-Tutorial
SQL-Abfrageanweisung:
1. Einfache Abfrageanweisung
1. Tabellenstruktur anzeigen
SQL>DESC emp;
2. Alle Spalten abfragen
SQL>SELECT * FROM emp;
4. Angegebene Zeilen abfragen
SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
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';
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';
SQL>SELECT * FROM emp WHERE ename like 'S__T%';
9. Konvertieren Sie die Abfrageergebnisse. Sortieren Sie nach dem Wert des Felds
SQL>SELECT * FROM emp WHERE job IN ('CLERK','ANALYST');
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.
Originallisteab
c
original_a
...
original_b | ... | ... |
Abfrageergebnisse | ||
Neuer Name Aa |
SQL>SELECT * FROM emp ORDER BY deptno, sal DESC; (按部门升序,并按薪酬降序)
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;
SQL>SELECT DATE_FORMAT(start_time,"%Y-%m-%d") as "时间";
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;
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;
5.4 Verwenden Sie ANYSQL>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;
5.5 Mehrspaltige UnterabfrageSQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;
SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');
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);
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);
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);
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='SMITH');
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!