EinführungMit EXISTS wird geprüft, ob eine Unterabfrage mindestens eine Datenzeile zurückgibt. Die Unterabfrage gibt tatsächlich keine Daten zurück, sondern einen Wert von True oder False. EXISTS gibt eine Unterabfrage an, die das Vorhandensein von Zeilen prüft. Syntax: EXISTS-Unterabfrage. Der Unterabfrageparameter ist eine eingeschränkte SELECT-Anweisung (COMPUTE-Klausel und INTO-Schlüsselwort sind nicht zulässig). Der Ergebnistyp ist Boolean und gibt TRUE zurück, wenn die Unterabfrage Zeilen enthält. BeispielEine Aktivitätskonfigurations-Haupttabelle „activity_main“ verwendet „act_code“, um eine Aktivität eindeutig zu identifizieren. Die Aktivitäts-Ortsanpassungstabelle „activity_area“ ist über „act_code“ mit der Haupttabelle verknüpft. Die Aktivitätspreistabelle „activity_sku“ ist über „act_code“ mit der Haupttabelle verknüpft. Aktivitäts-HaupttabelleTabelle „activity_main“ erstellen ( `id` bigint(20) NICHT NULL AUTO_INCREMENT, `act_code` varchar(255) NOT NULL COMMENT 'Aktivitätscode', `act_name` varchar(255) NOT NULL COMMENT 'Aktivitätsname', Primärschlüssel (`id`), EINZIGARTIGER SCHLÜSSEL `uniq_code` (`act_code`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Aktivitätshaupttabelle' Anpassungstabelle der Websites, auf denen die Veranstaltung stattfindetCREATE TABLE `Aktivitätsbereich` ( `id` bigint(20) NICHT NULL AUTO_INCREMENT, `act_code` varchar(255) NOT NULL COMMENT 'Aktivitätscode', `area` varchar(255) NOT NULL COMMENT 'An dieser Aktivität teilnehmende Websites', PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Liste der mit der Veranstaltung kompatiblen Websites' VeranstaltungspreislisteTabelle „activity_sku“ erstellen ( `id` bigint(20) NICHT NULL AUTO_INCREMENT, `act_code` varchar(255) NOT NULL COMMENT 'Aktivitätscode', `sku` varchar(255) NOT NULL COMMENT 'Während der Veranstaltung verschenkte Produkte', PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Aktivitäts-Geschenktabelle' Vergleichen von Abfragen mit EXISTS und IN Dieses Beispiel vergleicht zwei semantisch ähnliche Abfragen. Die erste Abfrage verwendet IN und die zweite Abfrage verwendet EXISTS. Beachten Sie, dass beide Abfragen dieselben Informationen zurückgeben. # Fragen Sie die Waage ab select * from activity_main where act_code in ( Wählen Sie Act_Code aus Activity_SKU, wobei SKU = „Lingye Juns Körperfettwaage“ ist. ) # Fragen Sie die Waage ab select * from activity_main a where exists ( Wähle 1 aus activity_sku b, wobei a.act_code = b.act_code und b.sku = „Lingye Juns Körperfettwaage“ ) # Fuzzy-Abfrage B-BEKO Britischer Kinderwagen select * from activity_main where act_code in ( Wählen Sie Act_Code aus Activity_SKU, wobei die SKU beispielsweise „%B-BEKO%“ lautet. ) # Fuzzy-Abfrage B-BEKO Britischer Kinderwagen select * from activity_main a where exists ( wähle 1 aus activity_sku b, wobei a.act_code = b.act_code und b.sku wie „%B-BEKO%“ ) # Abfrage der im Blog Garden abgehaltenen Aktivitäten select * from activity_main where act_code in ( Wählen Sie Act_Code aus Activity_Area, wobei Area = „Aktivitätsbereich“ ist. ) # Abfrage der Aktivitäten im Blog Garden select * from activity_main a where exists ( wähle 1 aus Aktivitätsbereich b, wobei a.act_code = b.act_code und b.bereich = 'Aktivitätsbereich' ) # Aktivitätsinformationen zum Abhalten einer Veranstaltung im Blog Garden. Der Preis ist ein Huawei-Telefon. Wählen Sie * aus activity_main, wobei act_code in ( select act_code from activity_area where area = 'Aktivitätsbereich' und act_code in ( Wählen Sie Act_Code aus Activity_SKU, wobei SKU = „Huawei P30Pro“ ist. )) # Die Anweisung „inner layer exists“ ist nur in der aktuellen Where-Anweisung wirksam. Ob sie schließlich zurückgegeben wird, hängt davon ab, ob die äußerste Schicht existiert. Wenn sie wahr ist, wird sie an den Ergebnissatz zurückgegeben, und wenn sie falsch ist, wird sie verworfen. Wählen Sie * aus activity_main a, wo existiert ( wähle 1 aus Aktivitätsbereich b, wobei a.act_code = b.act_code und b.area = 'Aktivitätsbereich' und existiert (Wählen Sie 1 aus activity_sku c, wobei a.act_code = c.act_code und c.sku = „Huawei P30Pro“) ) Oben finden Sie den detaillierten Inhalt der Zusammenfassung der Verwendung von Mysql Exists. Weitere Informationen zur Verwendung von Mysql Exists finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: JavaScript Factory Pattern erklärt
>>: Kompatibilität mit der Inline-Block-Eigenschaft
Vorwort MySQL ist das beliebteste relationale Dat...
Inhaltsverzeichnis 1. Mittelsmann-Modell 2. Beisp...
Dieser Artikel beschreibt die MySQL-Transaktionsv...
Vor einiger Zeit habe ich einen Blogbeitrag mit d...
1: SVN installieren yum install -y Subversion 2. ...
Beim Schreiben von Seiten stellen wir manchmal fe...
Eine kurze Analyse von rem Zunächst einmal ist re...
Inhaltsverzeichnis Was ist ein Einfügepuffer? Was...
Kürzlich wurde beim Ausführen eines alten RN-Proj...
Vorwort Im Internet gibt es häufig Artikel, die v...
1. Einleitung Oracle hat MySQL 8.0GA veröffentlic...
Inhaltsverzeichnis Einfache CASEWHEN-Funktion: Di...
„Was ist los?“ Sofern Sie nicht an bestimmte Arten...
Inhaltsverzeichnis 1. Neue Verwendung der Uhr 1.1...
Superset ist ein leichtes Self-Service-BI-Framewo...