MySQL关联查询

来源:互联网 发布:medusa 软件 编辑:程序博客网 时间:2024/05/29 05:53

关联查询大致分为三种:

SELECT * FROM score, student WHERE score.id = student.id ...  SELECT * FROM score JOIN student ON (score.id = student.id) WHERE ...  SELECT * FROM score JOIN student USING (id) WHERE ... 

这里我主要用的是JOIN ON,和INNER JOIN ON 做一个简单的区分:

SELECT     `user`.real_name,    car.car_no,    car.car_buy_date,    car.car_drive_age,    car.car_drive_times,    car.car_mileage,    car.car_status,    car.create_timeFROM    user_info userINNER JOIN    car_info carON    (`user`.user_account=car.user_account)WHERE    `user`.real_name LIKE 'Json';

高级SQL语句INNER JOIN 非常实用,在接触这个语句之前我要到数据库查询不同表的 内容我一般需要执行2次sql语句 循环2次。而现在有了这个语句 可以简化成只执行1次语句循环一次,有效的避免了查询时间过长,而且在关联查询的时候尽量避免使用*来全表查询,原因是因为 sql服务器 执行的sql语句结果越长 解析时间越长 执行时间就长,你这样就等于kill sql server!

SELECT     `user`.real_name,    car.car_no,    car.car_buy_date,    car.car_drive_age,    car.car_drive_times,    car.car_mileage,    car.car_status,    car.create_timeFROM    user_info userJOIN    car_info carON    (`user`.user_account=car.user_account)WHERE    `user`.real_name LIKE 'Json';

实质上主要的区分就是在优化数据库查询的时候,在大量数据中获取有效数据的时间最短,效率最高者优先使用。

0 0
原创粉丝点击