数据库查询语句(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语句怎么写?