1.内连接(innerjoin)
只有两个表相匹配的行才能在结果集中显示出来
2.左连接(leftjoin)
以左表为主,左表所有的数据都会在结果集中出现,右表根据左表对应的数据显示,与左表匹配的数据会显示,没有匹配的地方会显示为空
.右连接(rightjoin)
以右表为主,右表所有的数据都会在结果集中出现,左表根据左表对应的数据显示,与左表匹配的数据会显示,没有匹配的地方会显示为空
4、全连接(fulljoin,mysql不支持,oracle支持)
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
所有连接情况如下图所示:
二、优化原则:
1、全值匹配我最爱2、最佳左前缀法则、不在索引列上做任何操作(计算、函数(自动or手动类型转换)),会导致索引失效导致全表扫描4、存储引擎不能使用索引中范围条件右边的列5、尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select*6、mysql在使用不等(!=或者)的时候,无法使用索引导致全表扫描7、isnull或者isnotnull也无法使用索引8、like以通配符开头(‘%abc…’)会导致索引失效导致全表扫描9、字符串不加单引号会造成索引失效10、少用or连接,用它来连接时会造成索引失效
优化小口诀:
为排序使用索引:
预览时标签不可点收录于合集#个上一篇下一篇