多表查询和联合查询/复合查询

已知stu_a和stu_b两个表,a有id和name两个字段 b有id和score两个字段,求出score>80的学生姓名

语句 select a.name from stu_a as a ,stu_b as b where a.id=b.id AND score>80;


联合查询 : 两个或两个以上条件查询(索引)(如姓名和电话号码)叫联合查询

查询为从左开始  姓可以为条件 姓名也可以 ,名就不行

ps:需要加索引的字段,要在where条件中

数据量少的字段不需要加索引

添加索引:ALTER TABLE table_name ADD INDEX index_name (column_list) 普通索引

ALTER TABLE table_name ADD UNIQUE (column_list)唯一索引

ALTER TABLE table_name ADD PRIMARY KEY (column_list) 自增索引

 

索引优化小建议:id和创建时间查询的话  Index_1(Create_Time, Category_ID), Index_2(Category_ID)   它会先判断Index_1.Create_Time和 Index_2.Category_ID谁查找成本高,会先索引index2,所以应该index time和id替换。

你可能感兴趣的:(java)