两个MYSQL表关联查询

时间:2022-09-11 13:28:59

高级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个表这个字段都是相同的 具体效果自己去试验一下。。