index 索引
创建索引
CREATE INDEX 索引名 ON 表名(字段名)
使用索引
EXPLAIN#观察sql的性能/执行计划(possible_keys)
SELECT * FROM 表 WHERE dname='accounting'查看索引
show index from 表
创建唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(字段名)
多表联查
1.笛卡尔基:把多张表用逗号隔开
select * from dept,emp
优化加where
select * from 表 逗号 表 where 表名.相同字段名=表名.相同的字段名
笛卡尔积没有实际意义,
2.三种链接 join
连接查询--相对高效,小表驱动大表
1.内链接 inner join:取两个表的交集
select * from 表 inner join 表 on 表名.相同字段名=表名.相同的字段名
2.左(外) 连接 left join:左表的所有和右表满足条件的,不满足是null
select * from 表 left join 表 on 表名.相同字段名=表名.相同的字段名
3.右(外) 链接right join:右表的所有和左表满足条件的,不满足是null
select * from 表 right join 表 on 表名.相同字段名=表名.相同的字段名
3.子查询 subquery
子查询:把上次的查询结果,用来作为下次查询的条件