个人工作记录---工作中遇到的sql查询语句解析
2016-02-23 18:04
393 查看
在工作中写了人生的第一个查询语句,虽然是在原有基础上改的,但仍然学到了不少知识
代码:
解读(备忘):
1.子查询是可以作为一个临时参数来加入到select from where中的任何阶段的
2.as可以为表临时赋予一个别名或是表名 别名这样写
3.ifnull((),‘’)当查出来的数据不存在为null时,可以赋予一个其他值
4.distinct 去重取一次
其他:model_meidxx 是主表,所有的数据无论来自于什么表都需要以其为核心关联上,而最终的where则表示核心的查询条件。
代码:
select distinct m.id, (select z.jianc from model_zuzjg z where z.id=m.huoz_id) as huoz, (select mingc from model_pinz where id=m.meiz_id) as meiz, ifnull((select kc.shul from yw_kuczt kc where kc.meiduo_id=m.id ),0) as shul, m.duom,ll.longitude,ll.latitude , ifnull((select mb.shouc_beiz from model_tongd_bzxx mb where mb.tongd_id=m.tongd_id and mb.huoz_id=m.huoz_id and mb.meiz_id=m.meiz_id and mb.user_id='1'),'') as shouc_beiz, ifnull((select mb.shouc_status from model_tongd_bzxx mb where mb.tongd_id=m.tongd_id and mb.huoz_id=m.huoz_id and mb.meiz_id=m.meiz_id and mb.user_id='1'),0) as shouc_status, m.huoz_id, m.meiz_id from model_meidxx m inner join (select t.id,t.daim,t.tongdmc from model_tongd t, (select daim from model_jicss where (shangjdm='GXTSG' OR daim='GXTSG') AND fenl='B') j where t.suosjcss=j.daim) td on m.tongd_id=td.id inner join (select l.duo_id,l.longitude,l.latitude from model_meid_lbxx l group by l.duo_id) ll on m.id=ll.duo_id where m.state=1
解读(备忘):
1.子查询是可以作为一个临时参数来加入到select from where中的任何阶段的
2.as可以为表临时赋予一个别名或是表名 别名这样写
3.ifnull((),‘’)当查出来的数据不存在为null时,可以赋予一个其他值
4.distinct 去重取一次
其他:model_meidxx 是主表,所有的数据无论来自于什么表都需要以其为核心关联上,而最终的where则表示核心的查询条件。
相关文章推荐
- redis 学习笔记之环境搭建
- jedis——java 操作redis
- mongodb的内存总结
- 数据库,inner join,left join right join 的区别
- Mysql 常用命令集
- 如何修改mysql root密码
- 解决mysql 显示中文乱码问题
- oracle sql优化学习之一
- sqlserver数据库触发器和存储过程案例学习
- SQL 注入
- 修改MySQL中字段的类型和长度
- mysql 之 主从同步(单向同步和双向同步)
- centos系统为php安装memcached扩展步骤
- mysql创建多用户,并授权
- 数据库水平切分的实现原理解析
- sql文件导入时报错2006 – MySQL server has gone away
- 各种SQL语句
- SQL常用运算符
- mysql中的操作符
- SQL利用通配符进行模式查询