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与你一起学习,一起进步!
  • 相关阅读:
    ajax 检测用户名是否可用
    Ajax 知识
    flask 基础
    如何使Session永不过期
    Css 截取字符串长度
    json sort
    js 原生获取Class元素
    js 跳转整理
    html5 ajax Java接口 上传图片
    调用URL 接口服务
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4734874.html
Copyright © 2011-2022 走看看