mysql多表联合查询

 费德  2016/06/08 23:49  505 次

高级SQL语句INNER JOIN 非常实用
在接触这个语句之前 我要到数据库查询不同表的 内容我一般需要执行2次sql语句 循环2次。
而现在有了这个语句 可以简化成只执行1次语句 循环一次

$result = mysql_query(”
    SELECT
    states.state_id,
    states.state_name,
    cities.city_id,
    cities.city_name,
    cities.region_id
    FROM `states`
    INNER JOIN cities
    ON states.state_id=cities.state_id
    WHERE states.countrycode=’nl’”
);

我来解说一下,一个数据库中 2个表名 states and cities

states 目前我所需要的内容是state_id 和 state_name

cities 目前我所需要的内容是 city_id 和 city_name 和region_id

为什么特意设定所需要的字段而不全部显示出来呢?
因为 sql服务器 执行的sql语句结果越长 解析时间越长 执行时间就长
套一句我们老板说的话 你这样就等于kill sql server

好了关键的地方来了INNER JOIN cities
INNER JOIN 这个命令是将不同表加入到执行中

这样就可以节省sql语句了

ON states.state_id=cities.state_id 这句话好像是重叠在一起 应为2个表这个字段都是相同的 具体效果自己去试验一下。。

 作者:费德

少年费德的奇幻漂流

本博客如无特殊说明皆为原创,转载请注明来源:mysql多表联合查询

添加新评论