日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

常用SQL语句和HQL语句写法

發(fā)布時間:2025/7/14 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用SQL语句和HQL语句写法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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中如果傳遞多個參數(shù),參數(shù)值類型parameterType可以不寫,然后SQL語句:
update t_pak_used set sp_call = #{0} where phone_no = #{1} //傳遞參數(shù)的順序必須正確

--------------------------------------------------------------------------------------------------------------------------------------------------
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條數(shù)據(jù),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條數(shù)據(jù),后一個參數(shù)代表返回行的最大數(shù)目

--------------------------------------------------------------------------------------------------------------------------------------------------
7、oracle中隨機獲取20條數(shù)據(jù):
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[],可使用以下方法取得數(shù)值:
for(int i = 0; i<user.size(); i++){
Object [] a = (Object[]) user.get(i);
}
**查詢中也可以使用?來占位,參數(shù)的索引一樣從0開始:
String hql = "select user from UserBean user where user.userName like ?";
Query query = session.createQuery(hql);
query.setParameter(0, "peter");

--------------------------------------------------------------------------------------------------------------------------------------------------
2、插入增加:
直接調(diào)用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();

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

?

轉(zhuǎn)載于:https://www.cnblogs.com/monkey200804/p/7140589.html

總結(jié)

以上是生活随笔為你收集整理的常用SQL语句和HQL语句写法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。