Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何简化MySQL-PHP查询_Php_Mysql - Fatal编程技术网

如何简化MySQL-PHP查询

如何简化MySQL-PHP查询,php,mysql,Php,Mysql,对我来说,简化此查询的最佳方法是什么 $sql = "SELECT " ."b.barber_id, b.likes, b.shop_id, " ."s.shop_name, s.shop_address, s.shop_city, s.shop_state, s.shop_zip, s.shop_phone, s.shop_website, " ."bl.leave_time, bl.return_time, " ."bw.wor

对我来说,简化此查询的最佳方法是什么

$sql = "SELECT "
        ."b.barber_id, b.likes, b.shop_id, "
        ."s.shop_name, s.shop_address, s.shop_city, s.shop_state, s.shop_zip, s.shop_phone, s.shop_website, "
        ."bl.leave_time, bl.return_time, "
        ."bw.work_day_start, bw.work_day_end, "
        ."bd.days "
        ."FROM "
        ."barbers b, shops s, barber_lunch_break bl, barber_work_hours bw, barber_days_off bd "
        ."WHERE "
        ."b.user_id = ? "
        ."AND s.shop_id = b.shop_id "
        ."AND bl.barber_id = b.barber_id "
        ."AND bw.barber_id = b.barber_id "
        ."AND bd.barber_id = b.barber_id";
将此简化为

$sql = "SELECT b.barber_id, b.likes, b.shop_id, s.shop_name, s.shop_address, s.shop_city, s.shop_state, s.shop_zip, s.shop_phone, s.shop_website, bl.leave_time, bl.return_time, bw.work_day_start, bw.work_day_end, bd.days 
FROM 
barbers b
INNER JOIN shops s ON s.shop_id = b.shop_id 
INNER JOIN barber_lunch_break bl ON bl.barber_id = b.barber_id  
INNER JOIN barber_work_hours bw ON bw.barber_id = b.barber_id
INNER JOIN barber_days_off bd ON bd.barber_id = b.barber_id
WHERE 
b.user_id = ?";

在执行之前,请解释您的查询。如果发现的行数超过,请在关系列上使用索引。

如果要从多个表中选择数据,请使用连接。使用适当的索引