mysql - 对结果表进行 SQL 查询

标签 mysql sql

我有 3 个表(InstructorsInstructors_configTeach):

讲师

instructor_id | first_name | last_name | email | password | status

Instructors_config

instructor_id | profile_pic | fb | twitter | info

教学

instructor_id | course_id

其中Teach包含每个讲师教授的类(class),每个讲师可以教授多门类(class),并且每个类(class)可以由多个讲师教授(多对多关系)。

我想编写一个函数,该函数接收 course_id 并返回教授该类(class)的所有讲师及其来自 Instructors 表中的拳头和姓氏以及来自 Instructor_config 表中的信息,目前我正在使用以下查询来执行此操作,并且效果很好:

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

但他们是实现这一目标的更好或更快的方法吗?还是这个方法足够好?

最佳答案

查询看起来不错,但请确保以下所有列都正确索引

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

关于mysql - 对结果表进行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464197/

相关文章:

mysql - 选择时间戳在彼此的某个时间范围内的记录

sql - 如何在 SQL Server 2008 R2 中强制一个列对于整个表是唯一的?

sql - SQL-带大小写的分组依据

python - mysql 表有很多记录和新索引仍然很慢

PHP MySQL - 计算用户发表了多少篇文章

mysql - 按赛季排名前 10 名的得分手

java - 将 java.sql.Timestamp 转换为本地时区

sql - 通过 jooq DSL 插入 sys_guid 生成的值

sql - 有可能 "Select N times"吗?

c++ - MySQL C API 为 NULL 值返回零而不是 NULL