SQL查询(select)

用户信息设置
create user scott identified by tiger; 创建用户scott密码是tiger
grant connect,resource to scott; 赋予用户scott权限
conn或sqlplus scott/tiger 进入scott用户
conn / as sysdba 返回sys用户
select * from tab; 查看所有表

简单查询 select…from…
select后加查询内容(列)from后加表名
SELECT * FROM emp;查询emp表中的数据
SELECT empno,ename,job FROM emp 通过数据库emp可以查找empno,ename,job这三列
执行顺序:
第一步:执行FROM语句,确定要检索的数据来源。
第二步:执行SELECT语句,确定要检索的数据列
SELECT job FROM emp;所有雇员的职位信息
SELECT DISTINCT job FROM emp;去除job相同的数据
SELECT DISTINCT empno,job FROM emp;查询雇员编号、职位
SELECT empno,ename,sal *12,sal/30 FROM emp;查询出所有雇员的编号、雇员姓名和年基本工资、日基本工资

限定查询select…from…where…
SELECT * FROM emp WHERE sal>1500;基本工资高于1500的全部雇员信息
执行顺序:
第一步:执行FROM语句,确定要检索的数据来源。
第二步:执行WHERE语句,使用限定符对数据进行过滤。
第三步:执行SELECT语句,确定要检索的数据列。
SELECT *FROM emp WHERE job=‘CLERK’;查询出所有办事员(CLERK)的雇员信息
SELECT *FROM empWHERE job<>‘CLERK’; 工作不是clerk的信息
SELECT *FROM empWHERE sal>=1500 AND sal<=3000;工资在1500到3000
SELECT *FROM empWHERE sal BETWEEN 1500 AND 3000;工资在1500到3000
SELECT *FROM empWHERE job=‘SALESMAN’ AND sal>1200;销售人员并且工资高于1200

布尔值运算优先级为:NOT最优AND其次OR最后
SELECT *FROM emp WHERE job!=‘CLERK’ AND sal>2000;不是办事员且工资大于2000
SELECT *FROM empWHERE empno=7369 OR empno=7788 OR empno=7566;雇员编号是7369、7788、7566
SELECT *FROM empWHERE empno IN (7369,7788,7566);雇员编号是7369、7788、7566

模糊查询like,not like
百分号(%):可以匹配任意类型和长度
下划线():匹配单个任意字符
SELECT *FROM emp WHERE ename LIKE ‘S%’;以S开头的全部雇员信息
SELECT *FROM empWHERE ename LIKE 'M%’;第二个字母是“M”的全部雇员信息
SELECT *FROM empWHERE ename LIKE ‘%F%’;任意位置包含字母F的雇员信息
SELECT *FROM empWHERE ename LIKE '
____%’;姓名长度为6或者是超过6个的雇员信息

找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理也不是办事员且收入大于2000,并且名字中有S或K字母
SELECT * FROM emp WHERE ((deptno=10 AND job=‘MANAGER’) OR (deptno=20 AND OR (job NOT IN(‘MANAGER’,‘CLERK’) AND sal>2000)) AND (ename LIKE ‘%S%’ OR ename LIKE ‘%K%’);

排序
order by 可以单用也可在where后 asc升序 desc降序
一定是最后一个字句
SELECT *FROM empORDER BY sal DESC;按照基本工资由高到低进行排序
SELECT empno,ename,sal,jobFROM emp ORDER BY 3 DESC;利用序号设置排序(sal)
SELECT *FROM emp ORDER BY sal DESC,hiredate ASC;先按sal降序再按hiredate升序

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值