mySQL将多个查询变成单个查询

标签 mysql

我有两个 mySQL 表:

tblcoach:包含字段(coachid、coachschoolid、其他)

tblschool:包含字段(schoolid、schooldivision)

我正在尝试获取一份学校列表,该列表仅限于与教练位于同一学区的学校。

我的这段代码可以工作,但是有没有办法生成单个 mySQL 查询来实现相同的结果?

SELECT @cs := coachschoolid FROM tblcoach c;
SELECT @sd := s.schooldivision FROM tblschool s WHERE s.schoolid = @cs;
SELECT s2.schoolid, s2.schoolname FROM tblschool s2 WHERE schooldivision = @sd

最佳答案

嵌套查询:

select schoolId, schoolname
from tblschool
where 
    schooldivision = (
        select schooldivision from tblschool where schoolid = (
            select coachschoolid from tblcoach
        )
    )

关于mySQL将多个查询变成单个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21634042/

相关文章:

mysql - 服务器退出而不更新 PID 文件 - Ubuntu 12.04 服务器

mysql - 如何从非唯一键检索不匹配的记录?

php - mysql出错时是否将数据返回到php变量

MySQL Where 列包含在字符串中

php - 我想使用 php 在下拉菜单中的给定条件下访问 mysql 数据库表

java - 执行sql不行

mysql - laravel通过迁移创建触发器会引发错误或访问冲突

php - SQL/PHP : Joins with no matches on the other table (multiple tables)

php - 计算另一个表中的行

mysql - OS X、Elixir、Ecto、Crypto、MySQL