2013-10-19 49 views
0

我有3個表(指導員Instructors_config):SQL查詢結果上表

指導員

instructor_id | first_name | last_name | email | password | status 

Instructors_config

instructor_id | profile_pic | fb | twitter | info 

instructor_id | course_id 

包含哪些課程每個教師教,每一個教練可以教多個課程,每門課程可以由許多教師(多對多的關係)授課。

我希望編寫收到COURSE_ID功能和返回誰與Instructor_config表的信息以及他們從教師表fist_name和姓氏一起教授這門課程的所有教師,目前我使用下面的查詢做到這一點,它工作得很好:

SELECT instructors.in_id, instructors_config.info, instructors.first_name, instructors.last_name 
FROM instructors 
INNER JOIN instructors_config ON instructors.in_id = instructors_config.in_id 
INNER JOIN teach ON teach.in_id=instructors_config.in_id AND teach.cs_id='.$id 

,但他們的一個更好更快的方式來實現這一目標或這個人是不夠好?

+0

不知道我們需要「秀創建表指導員」和「顯示創建表Instructors_config」和「顯示創建表的示教」和「EXPLAIN SELECT instructors.in_id,instructors_config.info,instructors.first_name,instructors.last_name 跟教練 INNER JOIN instructors_config ON instructors.in_id = instructors_config.in_id INNER JOIN講授teach.in_id = instructors_config.in_id AND teach.cs_id = $ id「output ...因爲沒有嵌套連接循環算法,所以連接速度很慢,沒有索引 –

回答

0

查詢看起來很好,但請確保以下所有列適當收錄

instructors.in_id, 
instructors_config.in_id , 
teach.in_id and 
teach.cs_id