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 Als ich heute ein Feedback-Formular für e...
Finden Sie das Problem Als ich heute versuchte, d...
Die Antwort, die Sie oft hören, ist, dass die Ver...
1. Anzeige:Box; Wenn Sie diese Eigenschaft für ei...
In diesem Artikelbeispiel wird der spezifische JS...
Wegen der Epidemie werde ich zu Hause fast schimm...
In diesem Artikelbeispiel wird der spezifische HT...
Dadurch werden nicht nur die Kosten für die Entwic...
Inhaltsverzeichnis Hauptthema 1. Installieren Sie...
Inhaltsverzeichnis I. Überblick 2. Konventionelle...
Vor kurzem musste ich die Version der MySQL-Daten...
Bereiten Sie eine CentOS6-Installationsdiskette (...
1. Fügen Sie Ihrem Logo alternativen Text hinzu D...
Kollegen fragen oft, ob beim Löschen von Dateien/...
Die Schritte zum Verpacken einer Python-Umgebung ...