今天,我们有了个新的交作业方法,于是这就是我今天的课后作业。
说一个概念:内数据查询,当信息的来源是多张表,要对这些表查询时,我们需要对多张表进行连接,本质是通过2内容个相同的字段进行连接连接2张表。
交插连接,也叫"笛卡尔连接或"叉乘”书上说用法是将2个表中的字段相乘,生成的结果很多.
然后是内连接查询的写法 select 查询内容 from 表1 join 表2 on 表1.列名1=表2.列名2 join 表3 on 表3.列名3=表2.列名2
同样有一个其他的写法 : select 查询内容 from 表1,表2 where 表1.列名1=表2.列名2 ,表名3.列名3=表名.列名3
我是用翻译的方法理解的 join是加入的意思,在这里可能就是链接的意思,表1join表2 那就是表一链接表2 on 是“在”的意思,我把这个写法翻译成“从由1表的列名1与2表的列名2合成的一个大表里查询...内容” 重点是on或where后面的语句 像条件,也类似2个表外键一样的关系。
接下来是我的课堂作业
数据库在百度云
https://pan.baidu.com/s/1F5Q-fw8HgjABINFIlEuPBQ 提取码:cG65
商品和分类分别在两个不同的表
这题较为简单,直接套写法
SELECT goodsname 商品名,typename 类型 FROM type JOIN goods ON goods.TypeID=type.TypeID
可以很明显的看到是通过两个表的typeid链接起了2个表
这个是在链接的基础上加了分组
count(*)能够统计记录数量
SELECT typename 分类,COUNT(*) 数量 FROM goods JOIN type ON goods.TypeID=type.TypeID GROUP BY 分类
这题涉及到4个表,分别是 goods ordersdetail orders users 需要查询的信息分布在这4个表中,由于这些表中有可以用于链接的列名,所以可以连接后再查询
这题有点绕,对于我这个新手来说,找到他们用于链接的列名实在是有点晃眼
总结 记好语法,然后找到能够用于链接2个表的列名,链接多个表类似于穿针引线,一个表至少与另一表有链接