MySQL verbindet sich mit Inner Join

Für dieses Tutorial verwenden wir eine der Beispieldatenbanken, die uns Mysql kostenlos zur Verfügung stellt, sie heißt Sakila, wir können auch andere Beispiele von der offiziellen Mysql-Website herunterladen.

Viele Universitäten verwenden sie zum Testen von MySQL und zum Programmieren.
Als nächstes entpacken wir die heruntergeladene Datei und wir sehen zwei Dateien sakila-schema.sql enthält die Datenbankstruktur und sakila-data.sql A mit den Beispieldaten.
Ziel dieser Datenbank ist es, eine Testumgebung bereitzustellen, um entweder Software zu entwickeln oder SQL-Abfragen zu testen und so Tests mit den Möglichkeiten von MySQL durchführen zu können. Sakilas Struktur ist komplex, sie hat 1000 Datensätze und mehrere Beziehungen.
Die Sakila-Datenbank enthält auch Beispiele für Ansichten, gespeicherte Prozeduren und Trigger.
Diese Datenbank geht von einem Filmverleihgeschäft aus, das Filialen und Verkäufer haben kann,
Der Prozess geht davon aus, dass wir für die Ausleihe eines Films zunächst bestätigen müssen, dass der Film verfügbar oder vorrätig ist, dann müssen wir prüfen, ob der Kunde in der Datenbank vorhanden ist und wir den Film oder die DVD dem Kunden zuordnen. Wir müssen den Verkauf auch in die Auszahlungstabelle einfügen. Abhängig von den Geschäftsregeln kann es auch erforderlich sein, zu prüfen, ob der Kunde einen offenen Saldo hat.
Um zu überprüfen, ob der Client namentlich existiert, können wir eine einfache Abfrage durchführen:
 Wählen Sie customer.customer_id, customer.store_id, CONCAT (customer.first_name, '', customer.last_name) als Customer from customer aus, wobei customer.first_name wie 'Carlos% 
In diesem Tutorial konzentrieren wir uns auf kombinierte Abfragen, indem wir mehrere Beispiele ausführen, die detailliert erklärt werden.

SQL Inner Join-Klausel


Eine SQL JOIN-Klausel wird verwendet, um Zeilen aus zwei oder mehr Tabellen basierend auf einem gemeinsamen Feld zwischen ihnen zu kombinieren.
INNERE VERBINDUNG gibt alle verbundenen Zeilen aus den Tabellen zurück, die die Join-Bedingung erfüllen.

Beispiel A


Wir möchten wissen, welche Kunden Filme dafür ausgeliehen haben. Wir haben die Kundentabelle und die Leihtabelle, daher müssen wir wissen, welche Kunden sich in der Leihtabelle befinden.
 wähle rental.rental_id, customer.first_name, customer.last_name, rental.rental_date, rental.return_date aus der Anmietung INNER JOIN Kunde ON rental.customer_id = customer.customer_id 
Das Ergebnis der Ausführung dieser Klausel ist Folgendes:

In diesem Fall ist es dasselbe, die Abfrage mit einem Wo durchzuführen:
 select rental.rental_id, customer.first_name, customer.last_name, rental.rental_date, rental.return_date from rental, customer wobei rental.customer_id = customer.customer_id 
Der Unterschied besteht darin, dass der Inner Join bei der Optimierung der SQL-Abfrage etwas schneller sein wird.

Beispiel B


Wir haben zwei Geschäfte oder Filialen, die täglich eine Liste überfälliger Ausleihen erstellen, damit Kunden kontaktiert und zur Rückgabe des Films aufgefordert werden können.
Um diese Liste zu erstellen, müssen wir die Leihtabelle nach Filmen durchsuchen, deren Rückgabedatum NULL ist, d. Wenn diese Bedingung erfüllt ist, ist der Kunde für den Film schuld und der Name des Films sollte zusammen mit dem Namen, der Telefonnummer und der E-Mail des Kunden in der Liste aufgeführt werden. Wir zeigen auch, ob der Film bezahlt wurde, an welchem ​​​​Datum er bezahlt wurde und wie viel bezahlt wurde.
 SELECT CONCAT (Kunde.Nachname, ',', Kunde.Vorname) AS Kunde, Adresse.Telefon, Film.Titel, Kunde.E-Mail, Miete.Rückgabedatum, Zahlung.Zahlung_Datum, Zahlung.Betrag FROM Miete INNER JOIN Kunde ON Miete.Kunde_ID = customer.customer_id INNER JOIN Adresse ON customer.address_id = address.address_id INNER JOIN Inventar ON Rental.inventory_id = Inventory.inventory_id INNER JOIN Film ON Inventory.film_id = film.film_id INNER JOIN Zahlung ON Payment.rental_id = Rental.rental_id WO Verleih .return_date IS NULL AND rent_date + INTERVAL film.rental_duration DAY <CURRENT_DATE () 

Beispiel C


Wir möchten herausfinden, welcher Kunde die meisten Filme dafür ausleiht. Wir schreiben die folgende Klausel
 Wählen Sie CONCAT (customer.first_name, '', customer.last_name) als Customer, count (rental.customer_id) als Total from Rental Inner Join customer on rental.customer_id = customer.customer_id group by rental.customer_id ***** by total Beschreibung 
Wir können also viele Tests mit Mysql durchführen, um die Leistung zu testen. In einem anderen Tutorial werden wir komplexere Abfragen durchführen:

Beispiel C


Wir möchten herausfinden, welcher Kunde die meisten Filme dafür ausleiht. Wir schreiben die folgende Klausel
 Wählen Sie CONCAT (customer.first_name, '', customer.last_name) als Customer, count (rental.customer_id) als Total from Rental Inner Join customer on rental.customer_id = customer.customer_id group by rental.customer_id ***** by total Beschreibung 
Wir können also viele Tests mit MySQL durchführen, um die Leistung zu testen. In einem anderen Tutorial werden wir komplexere Abfragen durchführen.

Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave