zoukankan      html  css  js  c++  java
  • mysql查询语句

      如果两个表格是多对多的关系,这时候要自己建立一个中间表格,这个中间表格包含这两个表的主键作为参数

     1 use test
     2 select id from ddxx where czid =222;
     3 select a.czmc,id,b.status,dj from station a,ddxx b where a.czdm=b.czid 
     4 select csmc,csdm from station c where c.czdm IN
     5 (select b.sid from stationjoinline b where b.lid IN" )
     6 
     7 select * from station c where c.czdm IN(
     8 select b.sid from stationjoinline b where b.lid='1'
     9 select a.xlid from line a where a.xlmc='京广线'
    10 )
    11 
    12 select b.sid from stationjoinline b where b.lid IN
    13 (select a.xlid from line a where a.xlmc='京广线')
    14 
    15 
    16 
    17 多对多查询
    18 select * from station c where c.czdm IN(
    19 select b.sid from stationjoinline b where b.lid IN
    20 (select a.xlid from line a where a.xlmc='京广线')
    21 )

     

    1.对应要java中的时候sql语句是要修改的,改成

    2.如果字符串太长的话,可以分拆,使用的方法是:“+”放在两端代码中间

    3.有append的方法的

    1 StringBuffer s=new StringBuffer();
    2         s.append("update ddxx a INNER JOIN");    
    3         s.append("(select id from ddxx where czid  not in(select DISTINCT czdm from station)) as b");
    4         s.append(" ON a.id=b.id set czid="+czid);
    5         

    复杂SQL语句 

    单一表:注解,BaseDAO已经大部分实现 

    两表,一对多:建表的时候,在多的那一端,放一个外键使用原生sql去做复杂查询 

    复杂的增删改:  SQLQuery q2 = gs().createSQLQuery(sql2);

           int b = q2.executeUpdate(); 

    两表,多对多:建一个中间表,拆分成两个一对多,再使用复杂查询去解决问题

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    前辈的经验
    ES6 的新特性
    jQuery 事件对象的属性和方法
    ECMAScript 6 入门
    浏览器的加载与页面性能优化
    ajax 基于 jquery 简单的 ajax 请求
    浏览器加载、解析、渲染的过程
    浏览器的加载和解析的过程,以及如何加快 HTML 的加载速度
    【经典问题】当你输入一个网址的时候,实际会发生什么?
    总结 IE 下的一些 BUG
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4734874.html
Copyright © 2011-2022 走看看