Kartesisches Produkt
Das kartesische Produkt bezieht sich auf das kartesische Produkt (kartesisches Produkt) zweier Mengen X und Y in der Mathematik, auch als direktes Produkt bekannt, ausgedrückt als X×Y, das erste Ein Objekt ist ein Mitglied von X und das zweite Objekt ist Mitglied aller möglichen geordneten Paare von Y [3].
Angenommen, die Menge A={a, b} und die Menge B={0, 1, 2}, dann ist das kartesische Produkt der beiden Mengen {(a, 0), (a, 1), (a, 2) , (b, 0), (b, 1), (b, 2)}.
Verwandte kostenlose Lernempfehlungen: MySQL-Video-Tutorial
Inner Join
select 字段 from 表1 别名1 [inner] join 表2 别名2 on 连接条件 and 其他条件;select 字段 from 表1 别名1,表2 别名2 where 连接条件 and 其他条件;
Outer Join
Outer Joins sind in Left Outer Joins und Right unterteilt äußere Verbindungen. Wenn eine gemeinsame Abfrage durchgeführt wird und die Tabelle auf der linken Seite vollständig angezeigt wird, sprechen wir von einem linken Außen-Join. Wenn die Tabelle auf der rechten Seite vollständig angezeigt wird, sprechen wir von einem rechten Außen-Join.
--左外连接,表1完全显示select 字段名 from 表名1 left join 表名2 on 连接条件;-- 右外连接,表2完全显示select 字段 from 表名1 right join 表名2 on 连接条件;
Selbstverbindung
Wenn es um Vergleiche zwischen Zeilen geht, ist Selbstverbindung erforderlich
Beispiel: Alle Bewertungsinformationen für „Computerprinzipien“ mit höheren Bewertungen als „Java“ anzeigen
-- 先查询“计算机原理”和“Java”课程的idselect id,name from course where name='Java' or name='计算机原理';-- 再查询成绩表中,“计算机原理”成绩比“Java”成绩 好的信息SELECTs1.*FROMscore s1,score s2WHEREs1.student_id = s2.student_idAND s1.score <pre class="brush:php;toolbar:false">-- 也可以使用join on 语句来进行自连接查询SELECTs1.*FROMscore s1JOIN score s2 ON s1.student_id = s2.student_idAND s1.score <p> <strong>Unterabfrage</strong></p><p>Unterabfrage bezieht sich auf eine SELECT-Anweisung, die in andere SQL-Anweisungen eingebettet ist und auch als verschachtelte Abfrage bezeichnet wird. <br>Einzeilige Unterabfrage: Eine Unterabfrage, die eine Zeile mit Datensätzen zurückgibt<br> Fall: Abfrage und Klassenkameraden von „Xiaobai“: </p><pre class="brush:php;toolbar:false">select * from student where classes_id=(select classes_id from student wherename='小白');
Mehrzeilige Unterabfrage: Eine Unterabfrage, die mehrere Zeilen mit Datensätzen zurückgibt
Abfrage zusammenführen
Um die Ausführungsergebnisse mehrerer Auswahlen zusammenzuführen, können Sie die Mengenoperatoren Union und Union All verwenden. Bei Verwendung von UNION
und UNION ALL müssen die Felder in den Ergebnismengen der vorherigen und späteren Abfragen konsistent sein.
union
Dieser Operator wird verwendet, um die Vereinigung zweier Ergebnismengen zu erhalten. Wenn dieser Operator verwendet wird, werden doppelte Zeilen im Ergebnissatz automatisch entfernt.
Fall: Fragen Sie die Kurse ab, deren ID kleiner als 3 ist oder deren Name „Englisch“ ist:
select * from course where id<p><strong>union all</strong><br> Dieser Operator wird verwendet, um die Vereinigung zweier Ergebnismengen zu erhalten. Wenn dieser Operator verwendet wird, werden doppelte Zeilen im Ergebnissatz nicht entfernt. <br> Fall: Kurse mit einer ID von weniger als 3 oder mit dem Namen „Java“ abfragen: </p><pre class="brush:php;toolbar:false">-- 可以看到结果集中出现重复数据Javaselect * from course where id<blockquote><p><strong>Verwandte kostenlose Lernempfehlungen: </strong><a href="https://www.php.cn/course/list/51.html" target="_blank"><strong>MySQL-Datenbank</strong></a><strong>(Video)</strong></p></blockquote>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der MySQL-Union-Abfrage (der Unterschied zwischen IN und EXISTS). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!