SQL索引

举报
MICAR 发表于 2021/02/02 09:47:32 2021/02/02
【摘要】 索引: 类似于创建目录,提高查询效率;数据表在定义时,如果指定了主键,会自动在主键上创建索引表外创建索引语法: create index 索引名称 on 数据表名(属性)表内创建索引语法:      create table 数据表名       (id int,name varchar(20),index 索引名(id)——比如index_1(id))(新增)更新索引语法: alter t...
索引: 类似于创建目录,提高查询效率;数据表在定义时,如果指定了主键,会自动在主键上创建索引

表外创建索引语法: create index 索引名称 on 数据表名(属性)
表内创建索引语法:      create table 数据表名
       (id int,
name varchar(20),
index 索引名(id)——比如index_1(id)
(新增)更新索引语法: alter table 数据表名 add index 索引名(属性)
查看索引: show index from 数据表名
删除索引: drop index from 数据表名

例子:
use aa1
show index from student
desc student
create index index_1 on student(id)
show index from student
alter table student add index index_2(age)
drop index  index_1 on student
drop index index_2 on student

1、查询员工“技术部张经理”的月工资
select sal+comm from hzdl_job where jobno=(select jobno from hzdl_emp where ename="技术部张经理")

2、查询工作地点为成都的员工姓名
select ename from hzdl_emp where deptno in(select deptno from hzdl_dept where loc="成都")

3、查询技术部的平均工资
      (不使用子查询,涉及到in,计算结果不准确. 也不能使用左右连接,请使用内连接查询
select avg(hzdl_job.sal+hzdl_job.comm)
from hzdl_emp,hzdl_dept,hzdl_job
where hzdl_emp.deptno=hzdl_dept.deptno
and hzdl_emp.jobno=hzdl_job.jobno
and hzdl_dept.dname="技术部"
4、查询“技术部王职员”的领导名字
select ename from hzdl_emp where empno=(select mgr from hzdl_emp where ename="技术部王职员")

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。