子查询,原来可以这样子的

简介: 1、原句子:SELECT * FROM tbl_time_table WHERE course_id in (SELECT course_id FROM tbl_student_course where student_id={$student_id})2、优化后:SELECT t.

1、原句子:

SELECT * FROM tbl_time_table WHERE course_id in (SELECT course_id FROM tbl_student_course where student_id={$student_id})

2、优化后:

SELECT t.* FROM tbl_time_table AS t JOIN (SELECT DISTINCT course_id FROM tbl_student_course where student_id={$student_id}) AS s ON t.course_id=s.course_id

 

网上搜到的,我只看了那个贴子的最后一楼,呵呵。不过expain优化后的句子,看不明白是什么意思。

 

相关文章
|
2月前
(头哥)多表查询与子查询
(头哥)多表查询与子查询
36 0
|
2月前
|
SQL
深入了解关联查询和子查询
深入了解关联查询和子查询
23 0
|
3月前
聚合函数、子查询
聚合函数、子查询
38 0
|
5月前
|
SQL 关系型数据库 MySQL
第9章_子查询
第9章_子查询
45 0
|
10月前
|
SQL 索引
相关子查询
相关子查询
166 0
|
10月前
|
SQL 关系型数据库 MySQL
第09章_子查询
第09章_子查询
70 0
|
10月前
|
SQL
联合查询和子查询
联合查询和子查询
|
数据库 Python
子查询
子查询
128 0
|
数据库管理
子查询(2)
如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件关联,因此每执行一次外部查询,子查询都要重新计算一次,这样的子查询就称之为 关联子查询 。相关子查询按照一行接一行的顺序执行,主查询的每一行都执行一次子查询。
子查询(2)
|
SQL 关系型数据库 MySQL
子查询(1)
子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。
子查询(1)