mysql_符合查询
复合查询
普通查询:
select columnY from chart where columnX=num1
表示:显示所有行中columnX列=num1的columnY信息
语法: 三个部分;
select part1 from part2 part3;
part1
part1是显示部分,打印所需的信息,依旧是一个表,用","分开多个
part2
part2是打印的表,信息从这里获取,使用笛卡尔积时,用","分开多个
part3
part3是查询所需满足的条件:where part1 [and part2],
也可以是分组聚合 group by column,两者相加也可以。多个不用“,”分开
分组聚合:必须配合函数使用。
select sum(sal), max(sal), deptno from chart group by columnZ where columnX=num1.
按cilumnZ分组,美足最大sal和sal组合和的表,并且 columnX=num1.
子查询:
select columnY from chart where columnX in (select * from EMP columnZ=num2);
columnX在子查询的表中存在,查询所有的columnY
如果子查询是一行的话,条件匹配可以为 = ;为columnX指明具体的值。
笛卡尔积和四大join:
select columnY from chart1,chart2 ; 或者 select columnY from chart1 cross join chart2;
chart1所有行匹配chart2所有行,然后显示columnY。
其他四大jion,分别对笛卡尔积取交集,并集,以及交集并上chart1或者chart2。一个四种,在使用笛卡尔积时具有where条件的话,通常mysqld会将语句优化为四大jion提高效率。