一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - tp5.1框架數據庫子查詢操作實例分析

tp5.1框架數據庫子查詢操作實例分析

2020-06-18 12:21人生如初見_張默 PHP教程

這篇文章主要介紹了tp5.1框架數據庫子查詢操作,結合實例形式分析了tp5.1框架數據庫子查詢相關原理、操作實現方法與注意事項,需要的朋友可以參考下

本文實例講述了tp5.1框架數據庫子查詢操作。分享給大家供大家參考,具體如下:

首先構造子查詢SQL,可以使用下面三種的方式來構建子查詢。

 

使用fetchSql方法

 

fetchSql方法表示不進行查詢而只是返回構建的SQL語句,并且不僅僅支持select,而是支持所有的CURD查詢。

?
1
2
3
4
5
$subQuery = Db::table('think_user')
 ->field('id,name')
 ->where('id', '>', 10)
 ->fetchSql(true)
 ->select();

生成的subQuery結果為:

?
1
SELECT `id`,`name` FROM `think_user` WHERE `id` > 10

 

使用buildSql構造子查詢

 

?
1
2
3
4
$subQuery = Db::table('think_user')
 ->field('id,name')
 ->where('id', '>', 10)
 ->buildSql();

生成的subQuery結果為:

?
1
( SELECT `id`,`name` FROM `think_user` WHERE `id` > 10 )

調用buildSql方法后不會進行實際的查詢操作,而只是生成該次查詢的SQL語句(為了避免混淆,會在SQL兩邊加上括號),然后我們直接在后續的查詢中直接調用。

然后使用子查詢構造新的查詢:

?
1
2
3
4
Db::table($subQuery . ' a')
 ->where('a.name', 'like', 'thinkphp')
 ->order('id', 'desc')
 ->select();

生成的SQL語句為:

?
1
2
3
4
5
6
7
SELECT * FROM (
 SELECT `id`,`name` FROM `think_user` WHERE `id` > 10 ) a
WHERE
 a.name LIKE 'thinkphp'
ORDER BY
 `id`
desc

 

使用閉包構造子查詢

 

IN/NOT INEXISTS/NOT EXISTS之類的查詢可以直接使用閉包作為子查詢,例如:

?
1
2
3
4
5
Db::table('think_user')
 ->where('id', 'IN', function ($query) {
  $query->table('think_profile')->where('status', 1)->field('id');
 })
 ->select();

生成的SQL語句是

?
1
2
SELECT * FROM `think_user`
WHERE `id` IN ( SELECT `id` FROM `think_profile` WHERE `status` = 1 )
?
1
2
3
4
Db::table('think_user')
 ->whereExists(function ($query) {
  $query->table('think_profile')->where('status', 1);
 })->find();

生成的SQL語句為

?
1
2
SELECT * FROM `think_user`
WHERE EXISTS ( SELECT * FROM `think_profile` WHERE `status` = 1 )

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

原文鏈接:https://blog.csdn.net/qq_42176520/article/details/88695871

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女日b视频 | 青青草一区二区免费精品 | 日韩在线 中文字幕 | 高清视频在线观看+免费 | 欧美日韩精品亚洲精品v18 | 麻豆婷婷 | yy8090韩国日本三理论免费 | 国产拍拍 | 波多野结衣被绝伦强在线观看 | 美女跪式抽搐gif动态图 | 国产午夜大片 | 亚洲成av人片在线观看天堂无码 | 性色AV乱码一区二区三区视频 | 久久99热在线观看7 久久99精品涩AV毛片观看 | 肥奶丰熟肥妇 | 美女的隐私无遮挡的网页 | 干美女在线视频 | 久久久这里有精品999 | 黑人video粗暴日本 | 无码人妻少妇色欲AV一区二区 | 国亚洲欧美日韩精品 | 麻豆天美精东果冻传媒在线 | 国产精品亚洲精品日韩已满 | 亚洲国产资源 | 日韩精品中文字幕久久 | 色综合91久久精品中文字幕 | 免费看男人狂躁女人 | 国产福利一区二区精品视频 | 午夜伦伦电影理论片大片 | 久久久影院亚洲精品 | 欧洲vodafonewifi日本 | www.青青草原| 香蕉免费一区二区三区 | 91天堂素人97年清纯嫩模 | 日本韩国推理片免费观看网站 | 女女性恋爱视频入口 | 日本sss在线高清观看 | jj视频免费 | 亚洲一卡2卡三卡4卡5卡组 | 俄罗斯一级毛片免费播放 | 日本xx高清视频免费观看 |