|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你看出了作者的深度?深处半米!当初是冲那么多的大牛给他写序才买的,后来才发现无啥内容,作者也只是才用几年的新手,百花了几十两银子,再次感叹当今社会的虚伪与浮躁server
好比我们想对或人的消耗项目举行汇总,对应以下两个表:Theme与ThemeDetail
Theme的纪录为:
ThemeID(int)ThemeName(varchar[10])
1就餐
2出差
3搭车
4别的
ThemeDetail的纪录为:
DetailID(int)ThemeID(int)Price(money)
1112.5
215
316
4211
5217
638
个中Theme中的ThemeID与ThemeDetail中的ThemeID是一对多的干系,对ThemeDetail表的了解以下:“就餐”用度为12.5+5+6=23.5元,“出差”用度为11+17=28元,“搭车”用度为8=8元,“别的”用度不存在,视为0处置,对应的SQL语句能够如许暗示:
SELECTTOP100PERCENTdbo.Theme.ThemeName,ISNULL(SUM(dbo.ThemeDetail.Price),0)
ASTotalPrice
FROMdbo.ThemeINNERJOIN
dbo.ThemeDetailONdbo.Theme.ThemeID=dbo.ThemeDetail.ThemeID
GROUPBYdbo.Theme.ThemeName,dbo.Theme.ThemeID
ORDERBYdbo.Theme.ThemeID
实行了局以下:
ThemeNameTotalPrice
就餐23.5
出差28
搭车8
关于消耗纪录不存的纪录假如就如许不显现它的话,利用内联的办法就能够满意请求了,可是我们如今必要对Theme中的每项均做统计,也包含“别的”项,因而我们应当接纳另外一种办法来完成,这就是左外联的办法,响应的SQL语句能够如许暗示:
SELECTTOP100PERCENTdbo.Theme.ThemeName,ISNULL(SUM(dbo.ThemeDetail.Price),0)
ASTotalPrice
FROMdbo.ThemeLEFTOUTERJOIN
dbo.ThemeDetailONdbo.Theme.ThemeID=dbo.ThemeDetail.ThemeID
GROUPBYdbo.Theme.ThemeName,dbo.Theme.ThemeID
ORDERBYdbo.Theme.ThemeID
实行了局以下:
ThemeNameTotalPrice
就餐23.5
出差28
搭车8
别的0
如许是否是就满意了我们的请求呢!
MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。 |
|