当前位置:数据库 > SQLServer >>

数据库查询语句(mssql 多表查询)

表1 :user 字段:uid,name,pass 表2 :massage 字段: mid,Uid,content 表3 : revert 字段: rid,Mid,Uid,content 问:根据mid查询出user的name,revert的content
答案:好久没有见到楼上的这种写法了
- -

select `user`.`name`, `revert`.`content` from (`user` inner join `message` on `user`.`uid` = `message`.`uid` ) inner join `revert` on `user`.`uid` = `revert`.`uid` where `message`.`mid` =xxxxx
其他:select A.name,C.content
from user A,massage B,revert C
where A.uid=B.uid and B.mid=C.mid
group by A.name,C.content 直接使用查询多张表的方法(如第一条回答from table_1,table_2),这样会影响查询效率,在数据量小的情况下没什么影响,但数据量一大就会很慢,不推荐这种查询方案。在有索引的情况下,还是通过索引查询更好。

select b.[name],c.content from message a
join user b on a.uid = b.uid
join revert c on a.mid = c.mid

其中name是保留关键字,需要带[]。

上一个:mssql怎么删除指定表中的所有记录?
下一个:MSSQL中字段内容为空的也显示出来SQL语句怎么写?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,