? Eine Unterabfrage ist eine Abfrage in einer anderen Abfrage. Eine Unterabfrage enthält möglicherweise auch weitere Unterabfrage . Diese sollen " verschachtelte " Unterabfragen sein . Ein Join ist , wenn zwei oder mehrere Tabellen in der "From" -Klausel der Abfrage referenziert werden. Verschiedene Datenbank-Engines optimiert werden kann Unterabfragen und Joins anders. Zum Beispiel wird die DB2- Optimierungsprogramm eine Unterabfrage in einen Join transformieren , wenn bestimmte Kriterien erfüllt sind. In einigen Fällen kommen eine bessere Leistung als die Renditen einer Unterabfrage . Was macht eine Unterabfrage
Eine Unterabfrage ist eine "SELECT" -Anweisung innerhalb der "WHERE" oder " MIT "-Klausel einer äußeren "INSERT ", " UPDATE ", "Zusammenführen" oder "Löschen "-Anweisung . Die Unterabfrage wird auch die " innere Abfrage " oder als " innere wählen . " Die Unterabfrage kann eine "FROM" -Klausel mit einer oder mehreren Tabellen und gegebenenfalls einen "WHERE ", " GROUP BY " oder " MIT "-Klausel . Es wird immer in Klammern .
Vorteile und Nachteile von Unterabfragen
Unterabfragen sind vorteilhaft, weil sie die Abfrage zu strukturieren , um jeden Teil der Aussage zu isolieren , den gleichen Vorgang dass würde normalerweise erfordern komplexe Verknüpfungen und Gewerkschaften und sind leichter zu lesen. Unterabfragen selbst waren die Grundlage für den Namen " Structured Query Language" ( SQL) wegen ihrer leicht lesbare Struktur . Ein Nachteil ist, dass Sie nicht ändern können eine Tabelle , und wählen Sie aus der gleichen Tabelle in einer Unterabfrage in der gleichen SQL-Anweisung. Unterabfragen können auch länger dauern als eine ausführen , weil, wie die Datenbank -Optimierer verarbeitet ihnen anzuschließen.
Was macht einen Registriert
meisten Unterabfragen umgeschrieben werden kann als verbindet , und die meisten Joins können als Unterabfragen umgeschrieben werden. Ein Join definiert zwei oder mehr Tabellen durch eine ähnliche Spalte. Tabellen sind in der Regel auf Primär-und Fremdschlüssel verbunden. Zum Beispiel könnte ein Mitarbeiter Tabelle einen Primärschlüssel eines Mitarbeiters id-Spalte , während ein Stundenzettel Tisch hat auch eine Mitarbeiter -ID , die Spalte ein Fremdschlüssel für die Tabelle employee ist . Die SQL- Join kann als "WHERE employee.empid = timesheet.empid " oder " FROM employee JOIN Stundenzettel ON ( = employee.empid timesheet.empid ) . "
Vorteile und Nachteile von Joins geschrieben werden
der Hauptvorteil einer Verknüpfung ist , dass es schneller ausführt . Die Leistungssteigerung ist möglicherweise nicht durch den Endverbraucher spürbar. Da jedoch die Spalten ausdrücklich benannt sind und indiziert und optimiert durch die Datenbank-Engine , die Wiedergewinnung Zeit fast immer schneller sein wird als die von einer Unterabfrage . Es gibt auch innere und äußere Verknüpfungen , links und rechts verbindet , volle verbindet und Kreuz verbindet . Ein Nachteil der Verwendung verbindet ist, dass sie nicht so einfach zu bedienen wie Unterabfragen lesen. Ein weiterer Nachteil ist, dass sie darüber, welche Join ist die geeignete Join-Typ verwenden, um den richtigen Satz gewünschte Ergebnis liefern verwirrend sein .