Secara amnya, kami menggunakan ON dalam MySQL. Dalam gabungan, kami menggunakan HIDUP merentas set lajur. USING berguna apabila dua jadual berkongsi lajur yang dinamakan sama yang mana ia dicantumkan.
Buka contoh.
Buat jadual pertama kami.
mysql> CREATE table ForeignTableDemo -> ( -> Id int, -> Name varchar(100), - > FK int - > ); Query OK, 0 rows affected (0.47 sec)
Buat jadual kedua kami.
mysql> CREATE table PrimaryTableDemo - > ( - > FK int, - > Address varchar(100), - > primary key(FK) - > ); Query OK, 0 rows affected (0.47 sec)
Sekarang mari tambah kekangan.
mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references PrimaryTableDemo(FK); Query OK, 0 rows affected (1.54 sec) Records: 0 Duplicates: 0 Warnings: 0
Tambah rekod pada jadual kedua.
mysql> INSERT into PrimaryTableDemo values(1,'US'); Query OK, 1 row affected (0.10 sec) mysql> INSERT into PrimaryTableDemo values(2,'UK'); Query OK, 1 row affected (0.14 sec) mysql> INSERT into PrimaryTableDemo values(3,'Unknown'); Query OK, 1 row affected (0.08 sec)
Tunjukkan semua rekod.
mysql> SELECT * from PrimaryTableDemo;
Berikut ialah output.
+----+---------+ | FK | Address | +----+---------+ | 1 | US | | 2 | UK | | 3 | Unknown | +----+---------+ 3 rows in set (0.00 sec)
Sekarang, tambahkan rekod pada jadual pertama.
mysql> INSERT into ForeignTableDemo values (1,'John',1); Query OK, 1 row affected (0.20 sec) mysql> INSERT into ForeignTableDemo values (2,'Bob',2); Query OK, 1 row affected (0.27 sec)
Sekarang mari kita paparkan semua rekod dari jadual pertama.
mysql> SELECT * from ForeignTableDemo;
Ini adalah outputnya.
+------+------+------+ | Id | Name | FK | +------+------+------+ | 1 | John | 1 | | 2 | Bob | 2 | +------+------+------+ 2 rows in set (0.00 sec)
Pertanyaan sertai terus untuk memaparkan hanya baris yang sepadan ditunjukkan di bawah. Kami menggunakan ON di sini.
mysql> SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address - > from ForeignTableDemo - > join PrimaryTableDemo - > on ForeignTableDemo.FK = PrimaryTableDemo.FK;
Berikut ialah output.
+------+------+---------+ | Id | Name | Address | +------+------+---------+ | 1 | John | US | | 2 | Bob | UK | +------+------+---------+ 2 rows in set (0.14 sec)
Contoh penggunaan.
Berikut ialah sintaks USING dalam MySQL, menunjukkan rekod dengan FK = 1.
mysql> select *from ForeignTableDemo join PrimaryTableDemo using(FK) where FK=1;
Ini adalah outputnya.
+------+------+------+---------+ | FK | Id | Name | Address | +------+------+------+---------+ | 1 | 1 | John | US | +------+------+------+---------+ 1 row in set (0.09 sec)
Atas ialah kandungan terperinci Bagaimana untuk membuka dan menggunakan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!