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

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:41:38
表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是保留关键字,需要带[]。