表的加减法
union:使用union 对表进行假发(并集)运算, union等集合运算符通常都会去除重复记录。
select shohin_id, shohin_mei
from shohin
union
select shohin_id, shohin_mei
from shohin2;
集合运算注意事项
1. 作为运算对象的记录的列数必须相同
2. 作为运算对象的记录中列的类型必须保持一致
3. 可以使用任何select语句,但order by 子句只能在 最后一次使用。
想让union结果中包含重复行的语法,只需要在 union 后门添加
ALL
关键字就可以了。
mysql 不支持使用集合的交集 和差集运算。
表联结查询。
内联结 --- innser join
使用: 通过on 或 where 子句 查询 多表中相关联的部分。
1.from 子句中含有多个表
2.on 子句 指定两张表联结所使用的列。
外联结 --- outer join
1. 选取单张表的全部信息
2. 使用关键字 left 和 right 指定主表,查询能查询出 主表存在 但是 其他表中字段为null 的行。
交叉联结 --- cross join
得到的记录是两张表中的全部记录进行交叉组合,因此结果中的记录行数通常是两张表中行数的乘积。