mysql - 如何将左外连接查询转换为子集查询

标签 mysql

如何将此左外连接查询转换为子集查询

select 
j.*, concat(d.Name, ', ', d.Gelar) as DSN, 
prg.Nama_Indonesia as PRG, 
kl.Kelas as kls, 
kl.Sesi as ssi 
from    
jadwal j left outer join 
dosen d on j.IDDosen=d.ID left outer join 
kelas kl on j.Kelas=kl.ID left outer join 
program prg on j.Program=prg.Kode left outer join 
jabatanorganisasi jo on d.JabatanOrganisasi=jo.Kode left outer join 
tahun t on j.tahun=t.id 
order by 
d.Name, prg.Nama_Indonesia, kl.Sesi, kl.Kelas;

请帮忙 给我一个例子

最佳答案

对于第一个查询,您将获得行,因为所有连接都是LEFT JOIN,因此至少表jadwal中的所有条目都将出现在输出中。

但是在另一个查询中,您正在使用条件进行选择(类似于INNER JOIN),如果条件不满足,则不会有任何结果集。这就是为什么您没有得到任何输出。

没有符合这些条件的数据。请检查数据

where 
    j.IDDosen=d.ID and 
    j.kelas=kl.ID and 
    j.program=prg.kode and 
    j.tahun=t.id AND
    d.JabatanOrganisasi=jo.kode

希望这有帮助

关于mysql - 如何将左外连接查询转换为子集查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506941/

相关文章:

mysql - 表设计-Mysql

python - Flask 应用程序停止使用 gunicorn 和主管与数据库通信

mysql - 使用mysql中的datediff函数分配sql查询结果进行比较

mysql - Entity Framework : Add new object and link to 2nd new object via navigational property

php - SQL注入(inject)测试-mysql_query

java - 未知的 sql 查询

php - MySQL 错误 1054 : Unknown Column 'curent_timestamp' in field list

mysql - 在 VIEW 上创建全文索引

PHP mysql 在两个表中搜索一个值然后将其合并

迄今为止的 MySQL 字符串(通用)