1. existiert1.1 BeschreibungDer Rückgabewert der EXISTS-Klausel (einschließlich NOT EXISTS) ist ein BOOL-Wert. Innerhalb von EXISTS gibt es eine Unterabfrageanweisung (SELECT ... FROM ...), die ich die innere Abfrageanweisung von EXIST nenne. Die Abfrageanweisung gibt einen Ergebnissatz zurück. Die EXISTS-Klausel gibt einen Booleschen Wert zurück, abhängig davon, ob der Ergebnisset der Abfrageanweisung leer ist oder nicht. exists: betont, ob ein Ergebnissatz zurückgegeben wird, nicht was zurückgegeben wird. Beispiel: Im Vergleich zum Inner Join weist Exists eine bessere Leistung auf. Wenn der erste Datensatz gefunden wird, der die Bedingungen erfüllt, wird die Suche sofort beendet und TRUE zurückgegeben. 1.2 Beispiele--EXISTIERT --SQL: Wählen Sie den Namen eines Familienmitglieds aus wobei group_level > 0 und existiert (wählen Sie 1 aus Familienstufe, wobei Familienmitgliedsname = Familienstufe.name und Note > 90) --Ergebnis: Name Kirsche --Existiert nicht --SQL: Wählen Sie den Namen eines Familienmitglieds aus wobei group_level > 0 und existiert nicht (wählen Sie 1 aus Familienstufe, wobei Familienmitgliedsname = Familienstufe.name und Note > 90) --Ergebnis: Name mazey Kaninchen 1.3 intersect/2017-07-21„intersect“ funktioniert ähnlich wie „exists“. --schneiden --SQL: wähle den Namen aus dem Familienmitglied, bei dem die Gruppenebene > 0 ist schneiden Wählen Sie den Namen aus der Familienklasse, wobei die Klasse > 90 ist. --Ergebnis: Name Kirsche 2. außer2.1 BeschreibungIn den Abfrageergebnissen gilt EXCEPT = NOT EXISTS, INTERSECT = EXISTS, aber der „Abfrage-Overhead“ von EXCEPT/INTERSECT ist viel größer als der von NOT EXISTS/EXISTS. Außer „Except“ entfernt automatisch Duplikate, „not in/not exists“ hingegen nicht. 2.2 Beispiele--außer --SQL: Wählen Sie den Namen eines Familienmitglieds aus wobei group_level > 0 außer (Name aus Familienstand auswählen) --Ergebnis: Name Kaninchen --Existiert nicht --SQL: Wählen Sie den Namen eines Familienmitglieds aus wobei group_level > 0 und existiert nicht (wählen Sie den Namen aus der Familienklasse, wobei Familienmitgliedsname = Familienklassename) --Ergebnis: Name Kaninchen Kaninchen 3. TestdatenBeim Überprüfen der Ausnahme-Deduplizierungsfunktion wird dem Familienmitglied ein Kaninchen hinzugefügt. -- ---------------------------- -- Tabellenstruktur für family_grade -- ---------------------------- DROP TABLE [mazeytop].[Familienqualität] GEHEN TABELLE ERSTELLEN [mazeytop].[family_grade] ( [id] int NICHT NULL, [name] varchar(20) NULL , [Note] int NULL ) GEHEN -- ---------------------------- -- Aufzeichnungen von family_grade -- ---------------------------- INSERT INTO [mazeytop].[family_grade] ([id], [name], [klasse]) WERTE (N'1', N'mazey', N'70') GEHEN GEHEN INSERT INTO [mazeytop].[family_grade] ([id], [name], [klasse]) WERTE (N'2', N'cherrie', N'93') GEHEN GEHEN -- ---------------------------- -- Tabellenstruktur für Familienmitglieder -- ---------------------------- DROP TABLE [mazeytop].[Familienmitglied] GEHEN TABELLE ERSTELLEN [mazeytop].[Familienmitglied] ( [id] int NICHT NULL, [name] varchar(20) NULL , [Geschlecht] varchar(20) NULL , [Alter] int NULL , [Gruppenebene] int NULL ) GEHEN -- ---------------------------- -- Aufzeichnungen von Familienmitgliedern -- ---------------------------- INSERT INTO [mazeytop].[Familienmitglied] ([ID], [Name], [Geschlecht], [Alter], [Gruppenebene]) VALUES (N'1', N'mazey', N'männlich', N'23', N'1') GEHEN GEHEN INSERT INTO [mazeytop].[Familienmitglied] ([ID], [Name], [Geschlecht], [Alter], [Gruppenebene]) VALUES (N'2', N'cherrie', N'weiblich', N'22', N'2') GEHEN GEHEN INSERT INTO [mazeytop].[Familienmitglied] ([ID], [Name], [Geschlecht], [Alter], [Gruppenebene]) VALUES (N'3', N'Kaninchen', N'weiblich', N'15', N'3') GEHEN GEHEN INSERT INTO [mazeytop].[Familienmitglied] ([ID], [Name], [Geschlecht], [Alter], [Gruppenebene]) VALUES (N'4', N'Kaninchen', N'weiblich', N'15', N'3') GEHEN GEHEN -- ---------------------------- -- Tabellenstruktur für family_part -- ---------------------------- DROP TABLE [mazeytop].[Familienteil] GEHEN TABELLE ERSTELLEN [mazeytop].[Familienteil] ( [id] int NICHT NULL, [Gruppe] int NULL , [Gruppenname] varchar(20) NULL ) GEHEN -- ---------------------------- -- Aufzeichnungen von family_part -- ---------------------------- INSERT INTO [mazeytop].[Familienteil] ([id], [Gruppe], [Gruppenname]) WERTE (N'1', N'1', N'Vater') GEHEN GEHEN INSERT INTO [mazeytop].[Familienteil] ([ID], [Gruppe], [Gruppenname]) WERTE (N'2', N'2', N'Mutter') GEHEN GEHEN INSERT INTO [mazeytop].[Familienteil] ([ID], [Gruppe], [Gruppenname]) WERTE (N'3', N'3', N'Tochter') GEHEN GEHEN -- ---------------------------- -- Indexstruktur für die Tabelle family_grade -- ---------------------------- -- ---------------------------- -- Primärschlüsselstruktur für die Tabelle family_grade -- ---------------------------- ALTER TABLE [mazeytop].[family_grade] ADD PRIMARY KEY ([id]) GEHEN -- ---------------------------- -- Indexstruktur für die Tabelle family_member -- ---------------------------- -- ---------------------------- --Primärschlüsselstruktur für Tabelle family_member -- ---------------------------- ALTER TABLE [mazeytop].[Familienmitglied] ADD PRIMARY KEY ([id]) GEHEN -- ---------------------------- -- Indexstruktur für die Tabelle family_part -- ---------------------------- -- ---------------------------- -- Primärschlüsselstruktur für die Tabelle family_part -- ---------------------------- ALTER TABLE [mazeytop].[Familienteil] ADD PRIMARY KEY ([id]) GEHEN Dies ist das Ende dieses Artikels über die Verwendung von „exists“ und „except“ in SQL Server. Weitere relevante Inhalte zu „exists“ und „except“ in SQL Server finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Serviceverwaltung der Quellpaketinstallation unter Linux
>>: Detaillierte Erklärung zum dynamischen Festlegen des Browsertitels in Vue
In meiner Verzweiflung dachte ich plötzlich: Wie i...
In diesem Artikelbeispiel wird der spezifische Co...
Hintergrund go-fastdfs ist ein verteiltes Dateisy...
Verknüpfung: https://qydev.weixin.qq.com/wiki/ind...
Inhaltsverzeichnis 1. Gegenstand 1.1 Was ist ein ...
Vorwort Bei einer datenzentrierten Anwendung wirk...
Inhaltsverzeichnis 1. Nginx implementiert das Las...
So schreiben Sie Urteilsaussagen in MySQL: Method...
Vorwort: Mybatis-Sonderzeichenverarbeitung, Verar...
Inhaltsverzeichnis 1. Vue-Listener-Array 2. Situa...
Neue Funktion von IE8: Web Slices (Web Slices) Mi...
Vorwort In einem aktuellen Projekt mussten wir ei...
Langsame Protokollabfragefunktion Die Hauptfunkti...
<br />Gestern habe ich beim W3C gesehen, das...
Frage Durch Klicken auf ein Steuerelement wird ei...