Inhaltsverzeichnis
Verschachtelte MySQL-Unterabfrage
Unterabfragen in der WHERE-Klausel verwenden.
Einzeilige und einspaltige Unterabfrage
**Beispiel 5, **Fragen Sie die Informationen aller Mitarbeiter ab die den gleichen Job wie SCOTT haben und das gleiche Gehalt haben. Mitarbeiterinformationen
Heim Datenbank MySQL-Tutorial So analysieren Sie Probleme mit verschachtelten Unterabfragen in MySQL

So analysieren Sie Probleme mit verschachtelten Unterabfragen in MySQL

May 27, 2023 pm 11:46 PM
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);
Nach dem Login kopieren

**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=&#39;ALLEN&#39;
);
Nach dem Login kopieren
**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);
Nach dem Login kopieren

**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=&#39;ALLEN&#39;) 
  AND e.sal>(
  SELECT sal
  FROM emp 
  WHERE empno=7521);
Nach dem Login kopieren

**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=&#39;SCOTT&#39;)
  AND ename<>&#39;SCOTT&#39;;
Nach dem Login kopieren

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
);
Nach dem Login kopieren
**Beispiel 9. **Fragen Sie alle Mitarbeiterinformationen ab, die nicht den gleichen Mindestlohn haben Lohn in jeder Abteilung eine mehrzeilige, mehrspaltige Ergebnismenge

Javascript

Fragen Sie die Berufsbezeichnungen mit einem Durchschnittsgehalt von mehr als 2.000 ab und das Durchschnittsgehalt dieser Position Java

--查询与ALLEN从事同一工作且在同一年雇佣的全部雇员信息(包括ALLEN)
SELECT *
FROM emp e
WHERE (e.job,to_char(e.hiredate,&#39;yyyy&#39;))=(
           SELECT job,to_char(hiredate,&#39;YYYY&#39;)
            FROM emp
            WHERE ename=&#39;ALLEN&#39;
);
Nach dem Login kopieren

Fragen Sie die Informationen von Mitarbeitern ab, die Provisionen haben und deren Gehalt höher ist als provisions: web

--查询出与每个部门中最低工资相同的全部雇员信息
SELECT *
FROM emp e
WHERE e.sal IN(
     SELECT MIN(sal)
    FROM emp
    GROUP BY deptno
);
Nach dem Login kopieren

Zusammenfassung:

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

Unterabfrage auswählen

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

#Fall: Fragen Sie den Abteilungsnamen mit der Mitarbeiternummer = 102 ab.

第一种方式:能够使用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;
Nach dem Login kopieren
Unterabfrage verwenden

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

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: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

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.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

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

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

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.

So stellen Sie eine Verbindung zur Datenbank von Apache her So stellen Sie eine Verbindung zur Datenbank von Apache her Apr 13, 2025 pm 01:03 PM

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.

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

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

CentOS installieren MySQL CentOS installieren MySQL Apr 14, 2025 pm 08:09 PM

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.

So installieren Sie MySQL in CentOS7 So installieren Sie MySQL in CentOS7 Apr 14, 2025 pm 08:30 PM

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

See all articles