mysql查询语句
2015-08-16 20:08
561 查看
如果两个表格是多对多的关系,这时候要自己建立一个中间表格,这个中间表格包含这两个表的主键作为参数
1.对应要java中的时候sql语句是要修改的,改成?
2.如果字符串太长的话,可以分拆,使用的方法是:“+”放在两端代码中间
3.有append的方法的
复杂SQL语句
单一表:注解,BaseDAO已经大部分实现
两表,一对多:建表的时候,在多的那一端,放一个外键使用原生sql去做复杂查询
复杂的增删改: SQLQuery q2 = gs().createSQLQuery(sql2);
int b = q2.executeUpdate();
两表,多对多:建一个中间表,拆分成两个一对多,再使用复杂查询去解决问题
use test select id from ddxx where czid =222; select a.czmc,id,b.status,dj from station a,ddxx b where a.czdm=b.czid select csmc,csdm from station c where c.czdm IN (select b.sid from stationjoinline b where b.lid IN" ) select * from station c where c.czdm IN( select b.sid from stationjoinline b where b.lid='1' select a.xlid from line a where a.xlmc='京广线' ) select b.sid from stationjoinline b where b.lid IN (select a.xlid from line a where a.xlmc='京广线') 多对多查询 select * from station c where c.czdm IN( select b.sid from stationjoinline b where b.lid IN (select a.xlid from line a where a.xlmc='京广线') )
1.对应要java中的时候sql语句是要修改的,改成?
2.如果字符串太长的话,可以分拆,使用的方法是:“+”放在两端代码中间
3.有append的方法的
StringBuffer s=new StringBuffer(); s.append("update ddxx a INNER JOIN"); s.append("(select id from ddxx where czid not in(select DISTINCT czdm from station)) as b"); s.append(" ON a.id=b.id set czid="+czid);
复杂SQL语句
单一表:注解,BaseDAO已经大部分实现
两表,一对多:建表的时候,在多的那一端,放一个外键使用原生sql去做复杂查询
复杂的增删改: SQLQuery q2 = gs().createSQLQuery(sql2);
int b = q2.executeUpdate();
两表,多对多:建一个中间表,拆分成两个一对多,再使用复杂查询去解决问题
相关文章推荐
- mysql连接之127.0.0.1和localhost
- MySQL数据库优化之SQL及索引
- 用mysql workbench导出mysql数据库关系图
- MySQL Cluster报错及解决方法(不断更新中)
- mysql锁研究系列二(MySQL表级锁的锁模式)
- MySQL Cluster 配置文件(config.ini)详解
- MySQL覆盖索引
- MySQL外键约束
- mysql进阶(十四) 批量更新与批量更新多条记录的不同值实现方法
- mysql进阶(十四) 批量更新与批量更新多条记录的不同值实现方法
- mysql内置函数汇总
- 彻底删除mysql的方法(有隐藏文件)
- mysql锁研究系列一(锁的基本概念)
- mysql安装版和解压版安装过程遇到1067的问题,和数据库乱码问题 解决办法
- MySQl表检查及修复
- Solr 5.2.1 与mysql 整合
- mysql 查看当前登陆用户匹配原则及权限user()与current_user()
- 1.1-Mysql安装
- Windows平台下MySQL常用操作与命令
- MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP