selecta.shopid,a.name,a.timeb.intentfrom表一a,表二bwherea.shopid=b.shopidorderbyb.intentdescselecta.shopid,a.name,a.timeb.intentfrom表一ainnerjoin表二bona.shopid=b.shopidorderbyb.intentdesc。
- 情感问答
- 答案列表
多表查询sql语句:sql多表查询格式[朗读]
一般情况下没错,但是最好把"="改成"in".为什么呢?因为你不能保证(selecttop1h.fidfromhwhereh.time>'2012-10-2900:00:00'groupbyh.fidorderbycount(h.fid)desc)的结果只有一个值,举个例子:有两个帖子都回复了10次,其他帖子都在10次以下,这时候你的这个子查询的结果是两个h.fid,也就是那两个回复10次的(并列第一),而不是一个?
innerjoinon和where都能实现多表查询.selecttable1.*,table2.*fromtable1innerjointable2ontable1.id=table2.idselecttable1.*,table2.*fromtable1,table2wheretable1.id=table2.id。
使用sql语句进行多表查询需要使用数据库的连接.sql中德链接分为内链接,外连接(左外连接,右外连接),交叉链接根据业务的不同选取不同的连接方式.内连接:
sql中多表查询可以使用链接查询1、unionunion[all]all:表示将查询的所有结果都合并到结果集中,若不加all会将重复的行只保留一行--示例:select*fromaunionselect。