当前位置:首页>开发>正文

mysql怎样将子查询怎样修改为关联查询 sql子查询与表连接查询

2023-07-30 16:16:04 互联网 未知 开发

 mysql怎样将子查询怎样修改为关联查询 sql子查询与表连接查询

mysql怎样将子查询怎样修改为关联查询

大哥你不给语句怎么修改,通常情况下是select * from 表1 a join 表2 b on a.id=b.a_id
其中表1id是表2a_id外键,连接比子查询效率简单、高效、省内存,建议楼主去找一些连接的教学视频看看

sql子查询与表连接查询

比如说有2张表,一个表(useinfo 学员信息),包含字段userid(int),username(varhcar 50). 一个表(useinfo 学员成绩表),包含字段scoreId(int),userid(int),score(varhcar 50).如果要连表查询没参加考试学员的信息。1)用子查询: select userid, username from useinfo where userid not in(select userid from score). 假设useinfo 有4条数据,scroe表有3条数据,说明有1名同学没参加考试。用子查询就能查 出没参加考试人的信息。2)用连表查询 select * from userinfo ,scroe where userinfo.id<> scroe.userinfo 假设useinfo 有4条数据,scroe表有3条数据,说明有1名同学没参加考试。这时用连表查询,查出的结果为9条记录,显然不正确,这时子查询就不能被连表查询替换。因为连表查询结果是总结果4*3-3(匹配的结果)=9.

关于sql子查询和连接查询的问题

select * from PRODUCT where PRODUCTID in (select PRRFNBR,max(PPRE) from PRICE),不知道是不是你的满意答案

最新文章

随便看看