


So analysieren Sie Probleme mit verschachtelten Unterabfragen in MySQL
Verschachtelte MySQL-Unterabfrage
Unterabfrage bezieht sich auf eine Schreibform, bei der mehrere kleine Abfragen mit unterschiedlichen Funktionen in einer vollständigen Abfrageanweisung verschachtelt werden, um komplexe Abfragen gemeinsam abzuschließen, um das Konzept der Unterabfrage für den Leser klarer zu machen.
Unterabfrage gibt Ergebnisse zurück
Die Datentypen, die Unterabfragen zurückgeben können, sind in vier Typen unterteilt:
Einzelne Zeile und einzelne Spalte: Zurückgegeben wird der Inhalt einer bestimmten Spalte, die als Folgendes verstanden werden kann Einzelwertdaten;
Einzelne Zeile und mehrere Spalten: Gibt den Inhalt mehrerer Spalten in einer Datenzeile zurück;
Mehrere Zeilen und einzelne Spalten: Gibt den Inhalt derselben Spalte in mehreren Datensatzzeilen zurück entspricht der Angabe eines Betriebsbereichs;
Mehrere Zeilen und mehrere Spalten: Das von der Abfrage zurückgegebene Ergebnis ist eine temporäre Tabelle.
Unterabfragen in der WHERE-Klausel verwenden.
Unterabfragen mit einer Zeile und einer Spalte verarbeiten , mehrzeilige und einspaltige Unterabfragen sowie einzeilige und mehrspaltige Unterabfragen in der WHERE-Klausel.
Einzeilige und einspaltige Unterabfrage
**Beispiel 1, **Fragen Sie die vollständigen Informationen des Mitarbeiters mit dem niedrigsten Gehalt im Unternehmen ab
--查询公司之中工资最低的雇员的完整信息 SELECT * FROM emp e WHERE e.sal=( SELECT MIN(sal) FROM emp);
**Beispiel 2, **Fragen Sie die Informationen aller Mitarbeiter ab, deren Grundgehalt Das Gehalt ist niedriger als ALLEN.
**Beispiel 4, **Ermitteln Sie die Informationen aller Mitarbeiter, die den gleichen Job wie ALLEN haben und deren Grundgehalt höher ist als die Mitarbeiternummer 7521,
-- 查询出基本工资比ALLEN低的全部雇员信息 SELECT * FROM emp e WHERE e.sal<( SELECT sal FROM emp WHERE ename='ALLEN' );
**Beispiel 5, **Fragen Sie die Informationen aller Mitarbeiter ab die den gleichen Job wie SCOTT haben und das gleiche Gehalt haben. Mitarbeiterinformationen
--查询基本工资高于公司平均薪金的全部雇员信息 SELECT * FROM emp e WHERE e.sal>( SELECT AVG(sal) FROM emp);
**Beispiel 6, **Fragen Sie die Informationen aller Mitarbeiter ab, die den gleichen Job wie Mitarbeiter 7566 haben und die gleiche Führung haben
--查找出与ALLEN从事同一工作,并且基本工资高于雇员编号为7521的全部雇员信息, SELECT * FROM emp e WHERE e.job=( SELECT job FROM emp WHERE ename='ALLEN') AND e.sal>( SELECT sal FROM emp WHERE empno=7521);
**Beispiel 7, **Fragen Sie alle Mitarbeiter ab, die denselben Job wie ALLEN haben und im selben Jahr beschäftigt sind. Mitarbeiterinformationen (einschließlich ALLEN)
SELECT * FROM emp e WHERE (e.job,e.sal) = ( SELECT job,sal FROM emp WHERE ename='SCOTT') AND ename<>'SCOTT';
Mehrzeilige einspaltige Unterabfrage
Verwendet hauptsächlich drei Operatoren: IN, ANY, ALL
IN Betrieb**Beispiel 8, **Fragen Sie die Informationen zu jeder Abteilung ab. Alle Mitarbeiterinformationen mit dem gleichen Mindestlohn --查询与雇员7566从事同一工作且领导相同的全部雇员信息
SELECT *
FROM emp e
WHERE (e.job,e.mgr) =(
SELECT job,mgr
FROM emp
WHERE empno=7566
);
--查询与ALLEN从事同一工作且在同一年雇佣的全部雇员信息(包括ALLEN) SELECT * FROM emp e WHERE (e.job,to_char(e.hiredate,'yyyy'))=( SELECT job,to_char(hiredate,'YYYY') FROM emp WHERE ename='ALLEN' );
--查询出与每个部门中最低工资相同的全部雇员信息
SELECT *
FROM emp e
WHERE e.sal IN(
SELECT MIN(sal)
FROM emp
GROUP BY deptno
);
Nach dem Login kopieren
Zusammenfassung: --查询出与每个部门中最低工资相同的全部雇员信息 SELECT * FROM emp e WHERE e.sal IN( SELECT MIN(sal) FROM emp GROUP BY deptno );
1.FROM Die Datenquelle der Unterabfrage ist das Ergebnis einer anderen Abfrage. Das Ergebnis entspricht einer temporären Datentabelle
2 Für die Unterabfrage muss ein Alias definiert werden 3. Wenn Sie die Felder in der Unterabfrage verwenden möchten, sollten Sie die Methode „alias.field name“ als Referenz verwenden
Die Unterabfrage nach der Auswahl kann nur als Skalarabfrage verwendet werden
# Fall: Fragen Sie die Anzahl der Mitarbeiter in jeder Abteilung ab.--查询出不与每个部门中最低工资相同的全部雇员信息 SELECT * FROM emp e WHERE e.sal NOT IN( SELECT MIN(sal) FROM emp GROUP BY deptno );
第一种方式:能够使用HAVING字句实现 SELECT job,AVG(sal) FROM emp GROUP BY job HAVING AVG(sal)>2000; 第二种方式:使用FROM子查询 SELECT job,avgsal FROM ( SELECT job,AVG(sal) AS avgsal FROM emp GROUP BY job) temp WHERE temp.avgsal>2000;
Das obige ist der detaillierte Inhalt vonSo analysieren Sie Probleme mit verschachtelten Unterabfragen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.

Der Schlüssel zur eleganten Installation von MySQL liegt darin, das offizielle MySQL -Repository hinzuzufügen. Die spezifischen Schritte sind wie folgt: Laden Sie den offiziellen GPG -Schlüssel von MySQL herunter, um Phishing -Angriffe zu verhindern. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting
