MySQL关联查询

本文深入探讨了SQL查询优化技巧,特别是INNER JOIN的高效使用。通过实例演示如何通过优化查询语句,减少数据库查询时间和提高数据检索效率。重点强调了避免全表扫描的重要性,以确保在大数据集下也能快速获取所需信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关联查询大致分为三种:

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_time
FROM
    user_info user
INNER JOIN
    car_info car
ON
    (`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_time
FROM
    user_info user
JOIN
    car_info car
ON
    (`user`.user_account=car.user_account)
WHERE
    `user`.real_name LIKE 'Json';

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值