Zusammenfassung der Mysql-Existes-Verwendung

Zusammenfassung der Mysql-Existes-Verwendung

Einführung

Mit 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.

Beispiel

Eine 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-Haupttabelle

Tabelle „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 stattfindet

CREATE 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'

Veranstaltungspreisliste

Tabelle „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:
  • Einführung in die Verwendung und den Unterschied zwischen „in“ und „exists“ in MySQL
  • Vergleichende Analyse von IN und Exists in MySQL-Anweisungen
  • Detaillierte Erläuterung der MySQL-Existes- und Not-Existes-Beispiele
  • MySQL existiert und in detaillierter Erklärung und Unterschied
  • Zusammenfassung der Unterschiede zwischen In-Query und Exist-Query in MySQL
  • Ein Fehler in MySQL existiert
  • So beheben Sie den Fehler „Ein Windows-Dienst mit dem Namen MySQL ist bereits vorhanden.“ bei der Installation von MySQL
  • Tutorial zur Verwendung von FROM- und EXISTS-Klauseln in MySQL-Unterabfragen
  • MYSQL IN- und EXISTS-Optimierungsbeispiele
  • mysql nicht drin, linker Join, IST NULL, EXISTIERT NICHT Effizienzproblem-Datensatz
  • UCenter-Info: MySQL-Abfragefehler SQL:SELECT-Wert FROM [Tabelle]vars WHERE noteexists

<<:  JavaScript Factory Pattern erklärt

>>:  Kompatibilität mit der Inline-Block-Eigenschaft

Artikel empfehlen

So fügen Sie Emoji-Ausdrücke in MySQL ein

Vorwort Als ich heute ein Feedback-Formular für e...

So lösen Sie das Problem, dass der Docker-Container keinen Vim-Befehl hat

Finden Sie das Problem Als ich heute versuchte, d...

Warum MySQL die Verwendung von Nullspalten mit Standardwerten nicht empfiehlt

Die Antwort, die Sie oft hören, ist, dass die Ver...

Detaillierte Erklärung der neuen CSS-Eigenschaft display:box

1. Anzeige:Box; Wenn Sie diese Eigenschaft für ei...

Natives JS implementiert benutzerdefinierte Bildlaufleistenkomponente

In diesem Artikelbeispiel wird der spezifische JS...

So kennzeichnen Sie die Quelle und Herkunft von CSS3-Zitaten

Wegen der Epidemie werde ich zu Hause fast schimm...

JavaScript-HTML zur Implementierung der mobilen Red Envelope Rain-Funktionsseite

In diesem Artikelbeispiel wird der spezifische HT...

HTML-Tags dl, dt, dd zum Erstellen einer Tabelle vs. Tabellenerstellungstabelle

Dadurch werden nicht nur die Kosten für die Entwic...

Detaillierte Schritte zur Installation von ros2 in Docker

Inhaltsverzeichnis Hauptthema 1. Installieren Sie...

Maven-Projekte schneller in Docker erstellen

Inhaltsverzeichnis I. Überblick 2. Konventionelle...