ฉันมีสามโต๊ะ
students table
------------------------------------
id(PK, A_I) | student_name | nationality
teachers table
------------------------------------
id(PK, A_I) | teacher_name | email
classroom table
----------------------
id(PK, A_I) | date | teacher_id(FK to teachers.id) | student_id(FK to students.id)
ถ้าฉันได้รับชื่อครู ( david
ตัวอย่าง) และ student_id ( 7
ตัวอย่าง) และขอให้ใส่teacher_id
ลงในclassroom
ตารางตามid
ในteachers
ตารางฉันจะทำ:
insert into classroom (date, teacher_id, student_id)
select '2014-07-08', id, 7
from teachers
where teacher_name = 'david';
ทีนี้จะเกิดอะไรขึ้นถ้าฉันไม่ได้รับรหัสนักเรียนโดยตรงและให้เฉพาะชื่อนักเรียน? สมมติว่าฉันได้รับชื่อครู 'david' และชื่อนักเรียน 'sam' ฉันจะรับteacher_id
จากteachers
ตารางและstudent_id
จากstudents
ตารางและแทรกทั้งสองลงในclassroom
ตารางตามชื่อที่เกี่ยวข้องได้อย่างไร