1. 高级SQL语句INNER JOIN 非常实用在接触这个语句之前 我要到数据库查询不同表的 内容我一般需要执行2次sql语句 循环2次。
2. 而现在有了这个语句 可以简化成只执行1次语句 循环一次
$result = mysql_query(”
SELECTstates.state_id,states.state_name,cities.city_id,cities.city_name,cities.region_idFROM `states`INNER JOIN citiesON states.state_id=cities.state_idWHERE states.countrycode=’nl’”
)
3. 我来解说一下,一个数据库中 2个表名 states and cities
states 目前我所需要的内容是state_id 和 state_name
cities 目前我所需要的内容是 city_id 和 city_name 和region_id
4. 为什么特意设定所需要的字段而不全部显示出来呢?因为 sql服务器 执行的sql语句结果越长 解析时间越长 执行时间就长套一句我们老板说的话 你这样就等于kill sql server
5. 好了关键的地方来了INNER JOIN citiesINNER JOIN 这个命令是将不同表加入到执行中
6. 这样就可以节省sql语句了
7. ON states.state_id=cities.state_id 这句话好像是重叠在一起 应为2个表这个字段都是相同的 具体效果自己去试验一下。
只能你这样查询,然后在程序中处理结果。因为MYSQL语句的结果必须是固定的列数,无法支持可以变化的列数量的。
如果只需要统计项目1、项目2、项目3等有限确定的项目,这个可以用SQL查询,方法是:
SUM(CASE name_id WHEN 1 THEN money ELSE 0) money1
但是你要实现统计表中不确定的项目数量,这个方法是不可能的,也没有其它可能的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)