1、左(右)外连接:
select b.phone_no,a.pak_no from t_phone a left(right) join t_pak_used b on (a.phone_no=b.phone_no) where a.phone_num = '13045977553'

--------------------------------------------------------------------------------------------------------------------------------------------------
2、外连接:
select b.phone_no,a.pak_no from t_phone a join t_pak_used b on (a.phone_no=b.phone_no) where a.phone_num = '13045977553'

--------------------------------------------------------------------------------------------------------------------------------------------------
3、SQL中类似JAVA的 switch-case语句:
SELECT <myColumnSpec> = CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
ELSE <somethingE>
END

--------------------------------------------------------------------------------------------------------------------------------------------------
3、在mybatis中如果传递多个参数,参数值类型parameterType可以不写,然后SQL语句:
update t_pak_used set sp_call = #{0} where phone_no = #{1} //传递参数的顺序必须正确

--------------------------------------------------------------------------------------------------------------------------------------------------
4、mybatis中forEach的用法:
<select id="" parameterType="list">
select * from G_Dept where a in
<foreach collection="list" item="i" open="(" separator="," close=")" >
#{i} //等价于(#{i1},#{i2},#{i3}...)
</foreach>
</select>

--------------------------------------------------------------------------------------------------------------------------------------------------
5、oracle中的分页查询语句:
//此语句查询出第11到第60条数据,rowno为rownum的别名
select * from (select rownum rowno, t.* from t_phone t where rownum <= 60) where rowno >10

--------------------------------------------------------------------------------------------------------------------------------------------------
6、MySQL中的分页查询语句:
select * from table_name limit 10,5 //取第11到15条数据,后一个参数代表返回行的最大数目

--------------------------------------------------------------------------------------------------------------------------------------------------
7、oracle中随机获取20条数据:
select * from(select * from t_phone order by dbms_random.value) where rownum <=20;

--------------------------------------------------------------------------------------------------------------------------------------------------

==================================================================================================================================================

==================================================================================================================================================
********HQL语句********
1、查询:
这里需要注意的是,from后面跟的不是表名而是实体类名,如果要查找所有select后不跟*,而是跟类名的别名
String hql = "select user from UserBean user";
查找后放入集合中:
Query query = session.createQuery(hql);
List<UserBean> user = query.list();
如果要查找个别字段:
String hql = "select user.userName form UserBean user";
**如果查询多个字段,则返回的是个Object[],可使用以下方法取得数值:
for(int i = 0; i<user.size(); i++){
Object [] a = (Object[]) user.get(i);
}
**查询中也可以使用?来占位,参数的索引一样从0开始:
String hql = "select user from UserBean user where user.userName like ?";
Query query = session.createQuery(hql);
query.setParameter(0, "peter");

--------------------------------------------------------------------------------------------------------------------------------------------------
2、插入增加:
直接调用Hibernate中save()方法:
UserBean user = new UserBean();
session.save(user);

--------------------------------------------------------------------------------------------------------------------------------------------------
3、修改:
update后面跟的是实体类名,注意要executeUpdate()
String hql = "update UserBean user set user.id=10 where user.id=5";
Query query = session.createQuery(hql);
int ret = query.executeUpdate();

--------------------------------------------------------------------------------------------------------------------------------------------------
4、删除:
这里需要注意的是from后是实体类名
String hql = " DELETE FROM UserBean user WHERE user.id = 1 ";
Query queryupdate = session.createQuery(hql);
int ret = queryupdate.executeUpdate();

--------------------------------------------------------------------------------------------------------------------------------------------------

转载于:https://www.cnblogs.com/monkey200804/p/7140589.html

常用SQL语句和HQL语句写法相关推荐

  1. hql删除mysql语句_hibernate -- HQL语句总结

    本章介绍了Hibernate的几种主要检索方式:HQL检索方式.QBC检索方式.SQL检索方式.HQL是Hibernate Query Language的缩写,是官方推荐的查询语言.QBC是Query ...

  2. hibernate 学习之——hql 语句

    hibernate 学习之--hql 语句 hibernatre hql 语句:是对于hibernate的orm模式的一种类似于JDBC语句的面对对象的操作语句 特点 : 1.对于类名属性名区分大小写 ...

  3. Hibernate写hql语句与不写hql语句的区别?

    写hql语句与不写hql语句的区别? 写hql语句:书写HQL语句,所有的查询与投影的设计均使用HQL语句完成. 不写hql语句:没有任何查询语句,所有的查询与投影的设计使用面向对象格式完成. 二者选 ...

  4. Chapter 3: 常用SQL * PLUS命令

    Chapter 3: 常用SQL * PLUS命令 当前语句存储在SQL缓冲区中,我们可以操作这条记录. desc emp; SQL> desc emp; Name     Type       ...

  5. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  6. oracle常用SQL语句(汇总版)

    原文地址:https://www.cnblogs.com/xrhou12326/p/4094737.html Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语 ...

  7. oracle常用sql语句

    – 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba –然后,解除对scott用户的锁 alter user scott account unlock; ...

  8. oracle 常用sql语句

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unloc ...

  9. mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...

    扩展 : SQL语句教程 什么是事务?事务的特性有哪些? 根据binlog恢复指定时间段的数据 mysql字符集调整 使用xtrabackup备份innodb引擎的数据库  innobackupex  ...

最新文章

  1. 一个浙江商人立下的22条规矩
  2. 自动换行的draw2d标签
  3. Nagios监控Linux系统
  4. GetSystemMetrics()函数的用法
  5. 离线轻量级大数据平台Spark之MLib机器学习库概念学习
  6. linux 下 iscsi的简单使用
  7. 关于Myeclipse2017 MemoryAnalyzer的安装
  8. 07.敏捷项目管理——推测阶段笔记
  9. iOS学习6_多线程NSThread和GCD
  10. mysql limit 5 5 正确_MySql 5.7 同时使用order by和limit时结果集不正确的问题
  11. Ruby on rails Mac开发 入门笔记(一)
  12. PaddleOCR文字识别使用
  13. python存钱挑战_案例(4):52周存钱法
  14. irr java_Java版的IRR(内部收益率)实现
  15. 「随笔」我的导师离职了...
  16. php对比两张数据表,【后端开发】PHP比较两个表不同数据
  17. 云服务器系统结构图,云服务器系统结构图
  18. 路由汇总带来的三层环路-解决实验
  19. VS Code 常用快捷键代码大全
  20. photoSwipe插件使用

热门文章

  1. MySQL installer
  2. SugarCRM - 如何让Contact页面的关系字段字段Account变为readonly
  3. jquery eaayui 学习(三)tab
  4. 计算机基础教案(XP操作系统)
  5. Java Web项目中解决中文乱码方法总结
  6. 阿里新财报霸道惨了!菜鸟加速全球72小时必达,世界都沸腾!
  7. 关于Python多线程的理解
  8. 备忘录(scanf和continue)
  9. Symantec Backup Exec 2012 Agent For Linux安装
  10. Ajax的用法之JQuery