mysql中left join写法

		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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值