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

MySQL-Abfrage – Erlernen grundlegender Abfrageoperationen

Vorwort MySQL ist das beliebteste relationale Dat...

Detaillierte Erklärung des Middleman-Modus von Angular-Komponenten

Inhaltsverzeichnis 1. Mittelsmann-Modell 2. Beisp...

Detaillierte Erläuterung der MySQL-Transaktionsverwaltungsvorgänge

Dieser Artikel beschreibt die MySQL-Transaktionsv...

So finden Sie Informationen zu nicht festgeschriebenen Transaktionen in MySQL

Vor einiger Zeit habe ich einen Blogbeitrag mit d...

So erstellen Sie einen SVN-Server unter Linux

1: SVN installieren yum install -y Subversion 2. ...

Beispiel für die Anpassung des Vue-Projekts an den großen Bildschirm

Eine kurze Analyse von rem Zunächst einmal ist re...

Hauptfunktionen von MySQL Innodb: Einfügepuffer

Inhaltsverzeichnis Was ist ein Einfügepuffer? Was...

Führt diese SQL-Schreibmethode wirklich dazu, dass der Index fehlschlägt?

Vorwort Im Internet gibt es häufig Artikel, die v...

Dieser Artikel zeigt Ihnen detailliert, wie Sie SQL CASE WHEN verwenden

Inhaltsverzeichnis Einfache CASEWHEN-Funktion: Di...

Hallo – Erfahrungsaustausch zum Entwurf von Dialogfeldern

„Was ist los?“ Sofern Sie nicht an bestimmte Arten...

Neue Verwendung von watch und watchEffect in Vue 3

Inhaltsverzeichnis 1. Neue Verwendung der Uhr 1.1...

Schritte zum Installieren von Superset unter dem Win10-System

Superset ist ein leichtes Self-Service-BI-Framewo...