SQL语句含义

发布于 2022-09-12 01:25:15 字数 356 浏览 11 评论 0

最近在看thinkphp6的文档,想问一下mysql大佬这句SQL语句中的 a 用在这里是什么意思?

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

构建出下面的SQL语句:

SELECT * FROM ( SELECT `id`,`name` FROM `think_user` WHERE `id` > 10 ) a WHERE a.name LIKE 'thinkphp' ORDER BY `id` desc

谢谢大佬~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

灼疼热情 2022-09-19 01:25:15

含义为 起别名
可参考如下例子
假设从表名为aaabbbcccf中查询c1,c2两个字段,则sql语句如下:

SELECT aaabbbccc.c1,aaabbbccc.c2 FROM aaabbbccc

这样的话表名太长,可以给表名起个表名,一般都是简单且有代表性的,比如user表使用u
以上例子可变为

SELECT abc.c1,abc.c2 FROM aaabbbccc abc

同理 框架中 Db::table($subQuery . ' a') 就是给表名起别名的意义

何必那么矫情 2022-09-19 01:25:15

$subQuery = Db::table('think_user')

->field('id,name')
->where('id', '>', 10)
->buildSql();
染年凉城似染瑾 2022-09-19 01:25:15

集合的别名啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文