• 个人工作记录---工作中遇到的sql查询语句解析


    在工作中写了人生的第一个查询语句,虽然是在原有基础上改的,但仍然学到了不少知识

    代码:

    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则表示核心的查询条件。

  • 相关阅读:
    AtCoder Regular Contest 093
    AtCoder Regular Contest 094
    G. Gangsters in Central City
    HGOI 20190711 题解
    HGOI20190710 题解
    HGOI 20190709 题解
    HGOI 20190708 题解
    HGOI20190707 题解
    HGOI20190706 题解
    HGOI 20190705 题解
  • 原文地址:https://www.cnblogs.com/weblv/p/5210847.html
Copyright © 2020-2023  润新知