DB::table('employees as e')
->join('dept_emp as de',function($join){
$join->on('de.emp_no = e.emp_no')
->where('de.is_del','=',0)
->where('de.is_del','=',0);
},'left') // 如果不写的默认inner
->where('e.is_del','=',0)
->select()
->groupBy()
->orderBy()
->limit()
->get();
DB::table('employees as e')
->select('e.emp_no', 'e.first_name')
->leftJoin('dept_emp as de', function($join)
{
$join->on('de.is_del','=',0)
->on('de.is_del','=',0);
})
->get();
//原生sql
$sql = "SELECT e.`emp_no`,e.`first_name`,e.`birth_date`,e.`gender`,e.`hire_date`,e.`last_name`,de.`from_date`,de.`to_date`,d.`dept_name`
FROM `employees` AS e
LEFT JOIN `dept_emp` AS de ON(de.`emp_no` = e.`emp_no`, de.`emp_no` = e.`emp_no`)
LEFT JOIN `departments` AS d ON(d.`dept_no` = de.`dept_no`,d.`dept_no` = de.`dept_no`)
WHERE ".$where."
GROUP BY e.`emp_no`,e.`first_name`,e.`birth_date`,e.`gender`,e.`hire_date`,e.`last_name`,de.`from_date`,de.`to_date`,d.`dept_name`
ORDER BY e.`emp_no` DESC
LIMIT 100";
$data = DB::select($sql);
mysql中left join写法
最新推荐文章于 2025-09-25 21:25:44 发布
本文深入探讨了使用 Laravel 的 Eloquent ORM 进行复杂数据库联表查询的方法,包括左连接和内连接的使用,以及如何通过原生 SQL 实现相同效果。通过对具体代码实例的分析,读者将了解如何在 Laravel 中优雅地处理多表关联查询,提高数据检索效率。
1263

被折叠的 条评论
为什么被折叠?



