可执行程序是指
Mysql学习总结(24)——MySQL多表查询合并结果和内连接
查询using关键字主要用途有
1、使⽤union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tablename2;
注意这个操作必须保证两张表字段相同,字段数据类型也相同。另外,使⽤union的时候会去除重复(相同)的记录,⽽union all则不会。
注:下边的⼏个连接查询涉及到笛卡尔积的概念,即如果存在两张表,第⼀张记录数为n条,另⼀张表的记录数为m条,那么笛卡尔积得出的记录数就是n*m条;如果第⼀张表的字段数为a个,另⼀张的字段数为b个,则笛卡尔积得出的字段数就是a+b个。
2、使⽤natural join⾃然连接:前提是两张表有相同的字段:(这个操作会去掉重复的字段)编程学校装修
java配置环境变量和系统变量对于这个查询,我的理解是:保留这两张表中关联字段(例如这⾥的depart_id)都存在的数据,去掉只有⼀个表中有的:mysql语句多表查询
如上述内容中,company中有四条数据,⽽emp中有7条,结果不论哪个放前边都只出来六条,因为company中depart_id为4的,emp中没有,⽽emp中depart_id为5的,company中⼜没有。
3、inner join on等值连接查询:
这个操作在我理解,和上边的⾃然连接区别就在于没有去掉重复的字段,还有更加的灵活,不需要有相同字段名的字段:
4、inner join on不等值连接查询:
对于这个查询,我的理解就是,他是“=”查询的补集,即这个查询的结果集 = 笛卡尔积结果集  减去“=”查询的结果集;本例
中,company有4条记录,emp有7条记录,笛卡尔积是4*7=28条记录;“=”查询的结果是6条记录,⼀次"!="查询就应该是其余的22条记录。
5、从上边的操作中可以拓展出另⼀种查询:字连接查询,即实际只有⼀张表,⽤重命名的⽅式当成两张来⽤:
crontab每三天执行一次可以看到,根据笛卡尔积,这⾥应该有4*4=16条结果,但是因为有了条件,就筛选出了四条

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。