吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1627|回复: 22
收起左侧

[已解决] mysql多表查询求助

[复制链接]
comcn 发表于 2022-9-7 14:38
本帖最后由 comcn 于 2022-9-7 15:00 编辑

order表是订单表,记录用户是否购买某个资源,codes是资源表


我的mysql语句:
SELECT * FROM `demo_codes` WHERE id in (SELECT codeid FROM demo_order)
这个语句只能查出codes表所有字段,我想要把order表的字段也查出来了(okey,userid)
该怎么写呢?

11.png 22.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

TaJ 发表于 2022-9-7 14:47
蹲一手,有大佬出没的话记得喊一声
神幻静 发表于 2022-9-7 14:54
俩表关联,条件用这个,别用in了
demo_order.codeid = demo_codes.id
yiminglian 发表于 2022-9-7 14:55
SELECT * FROM `demo_codes` left join  `demo_order` on `demo_codes`.id=`demo_order`.codeid
hanzj06 发表于 2022-9-7 14:56
SELECT dc.*, do.* FROM demo_codes dc LEFT JOIN demo_order do ON dc.id = do.codeid ;
SELECT dc.*, do.* FROM demo_codes dc RIGHT JOIN demo_order do ON dc.id = do.codeid ;
SELECT dc.*, do.* FROM demo_codes dc INNER JOIN demo_order do ON dc.id = do.codeid ;
SELECT dc.*, do.* FROM demo_codes dc FULL OUTER JOIN demo_order do ON dc.id = do.codeid ;

不同的语法对应不同的效果
ytw6176 发表于 2022-9-7 14:58
select a.*,b.id as order_id,b.okey from  demo_codes as a left join demo as b on a.id = b.codeid
 楼主| comcn 发表于 2022-9-7 15:00
hanzj06 发表于 2022-9-7 14:56
SELECT dc.*, do.* FROM demo_codes dc LEFT JOIN demo_order do ON dc.id = do.codeid ;
SELECT dc.*, do ...

谢谢, RIGHT JOIN 解决了, INNER JOIN之前试过,发现不对,左右连接就没试
lsy_loren 发表于 2022-9-7 15:12
[SQL] 纯文本查看 复制代码
select t0.*, t1.*
from demo_order t0
left join demo_codes t1 on t1.id = t0.codeid
coolcalf 发表于 2022-9-7 16:13
虽然我们可以用 LEFT JOIN 进行联表查询,你掌握这一基本方法没问题。
但实际使用中,mysql的联表查询相当的慢~
所以,要避免联表查询。
而使用.net 6进行开发时,推荐使用sqlsugar这个利器,你几乎可以百分百不用写sql语句。
不夏流年 发表于 2022-9-7 16:31
coolcalf 发表于 2022-9-7 16:13
虽然我们可以用 LEFT JOIN 进行联表查询,你掌握这一基本方法没问题。
但实际使用中,mysql的联表查询相当 ...

不写sql后期维护咋死的都不清楚
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 08:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表