这几天北京梅雨季了,天天都下雨但依旧闷热,蚊子每天都大快朵颐,咬的我体无完肤。。。。。。求好用驱蚊喷雾!!!
今天我们依旧深入学习了mysql,主学了连接查询,
等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
select * from 表1 inner join 表2 on 表1.字段名 = 表2.字段名
不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。
概念:在连接条件中使用除等于号之外运算符(>、<、<>、>=、<=、!>和!<)
select * from 表1 inner join 表2 on 表1.字段名 <> 表2.字段名
自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。
等值连接
语法:SELECT 字段名 FROM 表1 INNER JOIN 表2 ON 连接条件
例 1:把店名V过来SELECT 日期,a.店号,店名,商品编码,销售数量 FROM 销售表 a INNER JOIN 店铺表 b ON a.`店号`=b.`店号`
例2:查询店号为1.3.7的店名,销售总数量
SELECT a.店号,店名,SUM(销售数量) AS 销售总量 FROM 销售表 a INNER JOIN 店铺表 b ON a.`店号`=b.`店号` WHERE a.店号 in(1,3,7) GROUP BY 店名 # 这里使用a.店号效果一样
再举例就是
例:我想将销售表按商品编码,将商品里的其它信息都显示过来
SELECT a.*,商品名称,大类编码,大类名,小类编码,小类名,进价,售价
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
如果您想把列的顺序排好:
SELECT 日期,店号,a.`商品编码`,商品名称,大类编码,大类名,小类编码,小类名,进价,售价,销售数量
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
如果您想计算销售金额
SELECT 日期,店号,a.`商品编码`,商品名称,大类编码,大类名,小类编码,小类名,进价,售价,销售数量,销售数量*售价 AS 销售金额
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
这些都是连接查询的日常运用,除此以外还有子查询和嵌套查询,
子查询的特点:子查询需要包含在小括号内,子查询通常放在筛选条件的右侧;这不是必需的,但是约定成俗的。子查询不止用在查询中,增删改都能用,但是用在查询中较多,另外,99%的人都只能接触到查询工作。单行子查询,一般搭配配条件运算符使用,>、<、>=、<=、=、<>。多行子查询,一般搭配着多行操作符使用,in、any/some、all 子查询执行优先于主查询,主查询的条件用到了子查询的结果,关于此连接查询我运用mysql语言完成了三十道题,由于体量稍大,我仅举个例将图贴到下方





730

被折叠的 条评论
为什么被折叠?



