Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะรับชื่อผู้ใช้โดยใช้ ID จากตารางอื่นในฐานข้อมูล MySQL ได้อย่างไร


ในการรับชื่อผู้ใช้โดยใช้ ID จากสองตาราง คุณต้องใช้ JOIN และเข้าร่วมตาราง

ให้เราสร้างตาราง -

ตัวอย่าง

mysql> create table demo77
   -> (
   -> userid int not null primary key,
   -> username varchar(20)
   -> );
Query OK, 0 rows affected (2.63

แทรกระเบียนบางส่วนลงในตารางโดยใช้คำสั่ง insert -

ตัวอย่าง

mysql> insert into demo77 values(1,'John');
Query OK, 1 row affected (0.19

mysql> insert into demo77 values(2,'Bob');
Query OK, 1 row affected (0.36

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

ตัวอย่าง

mysql> select *from demo77;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

ผลลัพธ์

+--------+----------+

| userid | username |

+--------+----------+

|      1 | John     |

|      2 | Bob      |

|      3 | Mike     |

+--------+----------+

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางที่สอง -

ตัวอย่าง

mysql> create table demo78
   -> (
   -> id int not null primary key,
   -> countryname varchar(20),
   -> constraint fk_id foreign key(id) references demo77(userid)
   -> );
Query OK, 0 rows affected (0.75

แทรกระเบียนบางส่วนลงในตารางที่สองโดยใช้คำสั่ง insert -

ตัวอย่าง

mysql> insert into demo78 values(1,'US');
Query OK, 1 row affected (0.14

mysql> insert into demo78 values(2,'AUS');
Query OK, 1 row affected (0.15

แสดงบันทึกจากตารางที่สองโดยใช้คำสั่ง select -

ตัวอย่าง

mysql> select *from demo78
   -> ;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

ผลลัพธ์

+----+-------------+

| id | countryname |

+----+-------------+

|  1 | US          |

|  2 | AUS         |

+----+-------------+

2 rows in set (0.00 sec)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับชื่อผู้ใช้โดยใช้ id โดยเข้าร่วมทั้งสองตาราง -

ตัวอย่าง

mysql> select username from demo77
   -> join demo78
   -> on demo77.userid=demo78.id;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

ผลลัพธ์

+----------+

| username |

+----------+

| John     |

| Bob      |

+----------+

2 rows in set (0.05 sec)