suchen
HeimDatenbankMySQL-TutorialMySQL学习足迹记录13--联结表--INNER JOIN...ON_MySQL

bitsCN.com

MySQL学习足迹记录13--联结表--INNER JOIN...ON

 

  学数据库联结表这一节内容几乎吐血,看书上的介绍和百度到的内容,总感到一脸茫然.....也许是我理解能力太差了吧。但我是一个不会轻易放弃的人,研究了半小时,终于搞明白了联结的原理,自我总结如下:关键在于“select语句,如果没有WHERE子句限定,将返回两个表的笛卡尔积.”

 

Example:    表一: Kemu+-----+--------+| kno | kname  |+-----+--------+| b   | yuwen  || b1  | shuxue |+-----+--------+表二: Chenji;+------+------+---------+| sno  | kno  | chengji |+------+------+---------+|    1 | a    |      10 ||    2 | a1   |      20 |+------+------+---------+2 rows in set (0.00 sec)*重点:select语句,如果没有WHERE子句限定,将返回两个表的笛卡尔积.mysql> SELECT * FROM Kemu,Chenji;+-----+--------+------+------+---------+| kno | kname  | sno  | kno  | chengji |+-----+--------+------+------+---------+| b   | yuwen  |    1 | a    |      10 || b1  | shuxue |    1 | a    |      10 || b   | yuwen  |    2 | a1   |      20 || b1  | shuxue |    2 | a1   |      20 |+-----+--------+------+------+---------+4 rows in set (0.00 sec)

 

 

 Tips:SELECT 语句后面的所有表将会合成一个大表,所以,SELECT后所跟的各种子句就相当于在一个表中筛选数据了。

 

 

1.外键:某个表的一列,它包含另一个表的主键值,定义了两个表之间的关系

 

2. 联结不是物理实体,它在实际的数据库表中不存在,它存在与查询执行当中

 

3.创建联结

  Example:  mysql> SELECT vend_name,prod_name,prod_price            -> FROM vendors,products           -> WHERE vendors.vend_id = products.vend_id        #WHERE子句指示MySQL匹配vendors表的             -> ORDER BY vend_name,prod_name;                     #vend_id和products表中的vend_id.+-------------+----------------+------------+| vend_name   | prod_name      | prod_price |+-------------+----------------+------------+| ACME        | Bird seed      |      10.00 || ACME        | Carrots        |       2.50 || ACME        | Detonator      |      13.00 || ACME        | Safe           |      50.00 || ACME        | Sling          |       4.49 || ACME        | TNT (1 stick)  |       2.50 || ACME        | TNT (5 sticks) |      10.00 || Anvils R Us | .5 ton anvil   |       5.99 || Anvils R Us | 1 ton anvil    |       9.99 || Anvils R Us | 2 ton anvil    |      14.99 || Jet Set     | JetPack 1000   |      35.00 || Jet Set     | JetPack 2000   |      55.00 || LT Supplies | Fuses          |       3.42 || LT Supplies | Oil can        |       8.99 |+-------------+----------------+------------+14 rows in set (0.01 sec)

 

   

TIPS:

   *WHERE联结两个表时,实际是将第一个表中的每一行和第二个表中的每一行配对.并过滤不符合条件的行.

 

4.内部联结INNER JOIN .... ON

  Example:  mysql> SELECT vend_name,prod_name,prod_price           -> FROM vendors INNER JOIN products                     #使用明确的联结语法能狗确保不会忘记联结条件           -> ON vendors.vend_id = products.vend_id                #联结条件用特定的ON子句,           -> ORDER BY vend_name,prod_name;                        #传递的实际条件与传递给WHERE的相同+-------------+----------------+------------+| vend_name   | prod_name      | prod_price |+-------------+----------------+------------+| ACME        | Bird seed      |      10.00 || ACME        | Carrots        |       2.50 || ACME        | Detonator      |      13.00 || ACME        | Safe           |      50.00 || ACME        | Sling          |       4.49 || ACME        | TNT (1 stick)  |       2.50 || ACME        | TNT (5 sticks) |      10.00 || Anvils R Us | .5 ton anvil   |       5.99 || Anvils R Us | 1 ton anvil    |       9.99 || Anvils R Us | 2 ton anvil    |      14.99 || Jet Set     | JetPack 1000   |      35.00 || Jet Set     | JetPack 2000   |      55.00 || LT Supplies | Fuses          |       3.42 || LT Supplies | Oil can        |       8.99 |+-------------+----------------+------------+14 rows in set (0.00 sec)

 

5.联结多个表

   *SQL对一条SELECT语句中可以联结的表的数目没有限制。

   Example:    mysql> SELECT prod_name,vend_name,prod_price,quantity            -> FROM orderitems,products,vendors            -> WHERE products.vend_id=vendors.vend_id           -> AND orderitems.prod_id=products.prod_id           -> AND order_num=20005;+----------------+-------------+------------+----------+| prod_name      | vend_name   | prod_price | quantity |+----------------+-------------+------------+----------+| .5 ton anvil   | Anvils R Us |       5.99 |       10 || 1 ton anvil    | Anvils R Us |       9.99 |        3 || TNT (5 sticks) | ACME        |      10.00 |        5 || Bird seed      | ACME        |      10.00 |        1 |+----------------+-------------+------------+----------+4 rows in set (0.00 sec)

 


bitsCN.com
Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
MySQLs Rolle: Datenbanken in WebanwendungenMySQLs Rolle: Datenbanken in WebanwendungenApr 17, 2025 am 12:23 AM

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

MySQL: Erstellen Sie Ihre erste DatenbankMySQL: Erstellen Sie Ihre erste DatenbankApr 17, 2025 am 12:22 AM

Zu den Schritten zum Erstellen einer MySQL -Datenbank gehören: 1. Erstellen einer Datenbank und Tabelle, 2. Daten einfügen, und 3. Durchführen von Abfragen. Verwenden Sie zunächst die Anweisungen für erstellte und creatEtable, um die Datenbank und Tabelle zu erstellen, und verwenden Sie dann die Anweisung InsertInto, um die Daten einzulegen, und verwenden Sie schließlich die Auswahlanweisung, um die Daten abzufragen.

MySQL: Ein anfängerfreundlicher Ansatz zur DatenspeicherungMySQL: Ein anfängerfreundlicher Ansatz zur DatenspeicherungApr 17, 2025 am 12:21 AM

MySQL ist für Anfänger geeignet, da es einfach zu bedienen und leistungsfähig ist. 1.Mysql ist eine relationale Datenbank und verwendet SQL für CRUD -Operationen. 2. Es ist einfach zu installieren und erfordert, dass das Stammbenutzerkennwort konfiguriert wird. 3.. Verwenden Sie Einfügen, Aktualisieren, Löschen und Wählen Sie, um Datenvorgänge auszuführen. 4. OrderBy, wo und Join kann für komplexe Abfragen verwendet werden. 5. Debugging erfordert die Überprüfung der Syntax und verwenden Sie Erklärungen zur Analyse der Abfrage. 6. Die Optimierungsvorschläge umfassen die Verwendung von Indizes, die Auswahl des richtigen Datentyps und der guten Programmiergewohnheiten.

Ist MySQL Anfänger-freundlich? Bewertung der LernkurveIst MySQL Anfänger-freundlich? Bewertung der LernkurveApr 17, 2025 am 12:19 AM

MySQL ist für Anfänger geeignet, weil: 1) Einfach zu installieren und konfigurieren, 2) Rich Learning Resources, 3) Intuitive SQL -Syntax, 4) leistungsstarke Toolunterstützung. Anfänger müssen jedoch Herausforderungen wie Datenbankdesign, Abfrageoptimierung, Sicherheitsmanagement und Datensicherung überwinden.

Ist SQL eine Programmiersprache? Klärung der TerminologieIst SQL eine Programmiersprache? Klärung der TerminologieApr 17, 2025 am 12:17 AM

Ja, sqlisaprogrammingLuagespezialisierteForDatamanagement.1) Es ist dieklarativ, fokussierte Waagewhattoachieveratherthanhow.2)

Erklären Sie die Säureeigenschaften (Atomizität, Konsistenz, Isolation, Haltbarkeit).Erklären Sie die Säureeigenschaften (Atomizität, Konsistenz, Isolation, Haltbarkeit).Apr 16, 2025 am 12:20 AM

Säureattribute umfassen Atomizität, Konsistenz, Isolation und Haltbarkeit und sind der Eckpfeiler des Datenbankdesigns. 1. Atomizität stellt sicher, dass die Transaktion entweder vollständig erfolgreich oder vollständig gescheitert ist. 2. Konsistenz stellt sicher, dass die Datenbank vor und nach einer Transaktion konsistent bleibt. 3. Isolation stellt sicher, dass sich Transaktionen nicht stören. 4. Persistenz stellt sicher, dass Daten nach der Transaktionsuntersuchung dauerhaft gespeichert werden.

MySQL: Datenbankverwaltungssystem vs. ProgrammierspracheMySQL: Datenbankverwaltungssystem vs. ProgrammierspracheApr 16, 2025 am 12:19 AM

MySQL ist nicht nur ein Datenbankverwaltungssystem (DBMS), sondern auch eng mit Programmiersprachen zusammen. 1) Als DBMS wird MySQL verwendet, um Daten zu speichern, zu organisieren und abzurufen und Indizes zu optimieren, können die Abfrageleistung verbessern. 2) Kombinieren Sie SQL mit Programmiersprachen, eingebettet in Python, und unter Verwendung von ORM -Tools wie SQLalchemy kann die Operationen vereinfachen. 3) Die Leistungsoptimierung umfasst Indexierung, Abfrage, Caching, Bibliothek und Tabellenabteilung und Transaktionsmanagement.

MySQL: Verwalten von Daten mit SQL -BefehlenMySQL: Verwalten von Daten mit SQL -BefehlenApr 16, 2025 am 12:19 AM

MySQL verwendet SQL -Befehle, um Daten zu verwalten. 1. Grundlegende Befehle umfassen Auswahl, Einfügen, Aktualisieren und Löschen. 2. Die erweiterte Verwendung umfasst die Funktionen, Unterabfragen und Aggregate. 3. Häufige Fehler sind Syntax-, Logik- und Leistungsprobleme. 4. Die Optimierungstipps umfassen die Verwendung von Indizes, die Vermeidung von Auswahl* und die Verwendung von Limit.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)