网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月11日漏签0天
php吧 关注:280,642贴子:1,320,801
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 17回复贴,共1页
<<返回php吧
>0< 加载中...

哪位好心人给我翻译下这句SQL,好人一生平安

  • 只看楼主
  • 收藏

  • 回复
  • devilmengcry
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
$sql = "select a.tid,subject from srqq_threads as a right join (select DISTINCT tid from srqq_tagdata as a right join srqq_tags as b on a.tagid=b.tagid where tagname in ($tags) ) as b on a.tid=b.tid where a.tid is not null and a.fid<>0 order by tid desc limit $count";


  • devilmengcry
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2025-06-11 14:44:25
广告
  • devilmengcry
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谁能给我解释一下这句SQL


  • as_hswasheng
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有点麻烦,语录看着烦。主要是对自己的表进行右连接的问题。自己去找下左右连接的问题。


  • devilmengcry
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 神游太虚历凡尘
  • Warning
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如果看不懂这个, 我也没办法 .


  • devilmengcry
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
心寒。


  • 小鸡再次
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
right 是什么东东


2025-06-11 14:38:25
广告
  • a303743308
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个语句首先从FROM...WHERE之间开始读。
注意:SQL语句的关键字我已经用大写标志出来的。
1、RIGHT LEFT是以右表(即B表)所有的数据为基准,通过关键字连接a表。
2、 (SELECT语句) AS b 是子查询的一种,是把查询出来的语句视作一个表。第6-7行就是把这个SQL执行的结果当作一个表,命名为b表
3、IN也是子查询,即使符合这里面以逗号隔开的值
基于这个规定,我开始翻译:

查询---------SELECT
a表的tid和subject---------a.tid,subject
来自----------FROM
srqq_threads设定在这里的名字是a---------srqq_threads AS a
以右表为基表,连接a表---------RIGHT JOIN
子查询开始---------(
查询----------SELECT
获得唯一的tid---------DISTINCT tid
来自---------FROM
a表---------srqq_tagdata AS a
右连接---------RIGHT JOIN
b表---------srqq_tags AS b
连接规则---------ON
a表tagid等于b表的tagid---------a.tagid=b.tagi
条件---------WHERE
tagname的值等于$tage---------tagname IN ($tags)
子查询结束-----------)
把子查询的结果保存为b表---------AS b
连接条件---------ON
a表的tid等于b表的tid----------------a.tid=b.tid
条件---------------WHERE
a表的tid不能等于控制------------a.tid IS NOT NULL
并且------------AND
a表的fid不等于0-------------a.fid<>0
根据tid的值降序排序---------------ORDER BY tid DESC
最后只显示$count行数据---------------LIMIT $count


  • a303743308
  • XDebug
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自己梳理一下啊吧。 这个就是一个 子查询+RIGHT JOIN的一个语句


  • 草一样坚强
  • 变魔术
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@草一样坚强


  • CAO1986520
  • 路过酱油
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 17回复贴,共1页
<<返回php吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示