数据库中简单的SQL语句以及where字句
select * from dept;
select * from emp;
--查询表中指定字段中的值 select 字段名1,字段名2,.....from表名,其中*代表所有
select empno from emp;
select empno,ename from emp;
--给查询结果中的字段名使用别名
--在字段名后使用关键字 字段名 as “别名”
--作用:方便查看查询结果
--注意:as关键字可以省略不写,别名中没有特殊字符,双引号也可以不写
select empno 员工编号,ename"员工 姓名",job as 工作,mgr as "领导编号" from emp;
--连接符:select 字段名||‘字符’||字段名||‘字符’||...from 表名
--||为sql语句中的字符连接符,使用在select和from之间
--字符链接格式为:字段名 || ‘字符’ || 字段名
--注意:一个拼接好的连接在结果中是作为一个新的字段显示,可以使用别名优化字段显示
select empno || '的姓名是' || ename as"信息",job || '哈哈'||mgr from emp; (as在这里是作为的意思)
--去除重复 select distinct 字段名,字段名,...from 表名
--注意:去除重复的规则是按照行进行去除的,多行数据完全相同取其一
select distinct job,mgr from emp;
--排序
--单字段排序:asc为升序排列,desc为降序排列
--多字段排序:--select * from emp order by 字段名1,字段明2...
--先按照字段一排序,如果字段一的值相同,则按照字段二的值排序....
select * from emp order by empno desc;
select empno,ename,job from emp order by ename asc;
select * from emp order by empno,ename;--多字段排序(不特意规定,都是从小到大排列)
--字段的逻辑运算
select * from emp
select empno,ename,job,sal*2+1000,sal+comm from emp;
-----------------------------------------------------------------------------------------------------------------------------
--使用where字据查询筛选
--select 字段名,字段名,...from 表名 where 筛选条件
--单筛选条件
--使用运算符进行筛选 =,<,>,<=,>=,<>单个条件中
--注意:如果条件中的值为字符,必须使用单引号括起来
--查询所有员工的工资信息
select empno,ename,sal+comm as 薪资 from emp;
--查询SMITH的个人信息
select * from emp where ename='SMITH';
--查询SMITH的薪资信息,逻辑运算符=
select empno,ename,sal+comm from emp where ename ='SMITH';
--查询工资大于2000的员工信息,逻辑符'>'
select * from emp where sal>'2000';
--查询工资不等于3000的员工信息
select * from emp where sal<>3000 order by sal
--练习:
--查看工作等于CLERK的员工信息
select * from emp where job ='CLERK';
--查看工资大于1250的员工姓名和工作
select ename,job from emp where sal>1250
--查看工资小于等于2000的员工信息
select * from emp where sal<=2000;
--查看工资大于等于2000的员工信息
select * from emp where sal>=2000;
--查看工资不等于1500的员工信息
select * from emp where sal<>1500;
--查看入职信息在81年后员工的信息
--注意:oracle默认日期格式为 日-月-年 实例“03-1月-1981”
select * from emp order by hiredate;
select * from emp where hiredate>='01-1月-1981' order by hiredate;
--多条件查询(where字句关键字:and,or,like,is null,is not null,in,between...and...)
----查询工资在2000到3000之间的员工信息
----使用and关键字,多条件同时成立的筛选使用and关键字进行条件连接
select * from emp where sal >=2000 and sal <3000;
使用betwnne... and...关键字进行条件连接,包含两头的数据
select * from emp where sal between 2000 and 3000;
----查询工作为SALESMAN,ANALYST,MANAGER的员工信息
--使用or关键字,进行或条件筛选
select * from emp where job='SALESMAN' or job='ANALYST' or job='MANAGER' order by job;
--使用in关键字,同样能进行或筛选,但是in中的内容只能为一个字段中的值
select * from emp where job in('SALESMAN','ANALYST','MANAGER');
----查询姓名中包含S的,以s开头的,以s结尾的,第二个字符为A的,名字中包含'_'的员工
select * from emp where ename like '%S%'--包含S的
select * from emp where ename like 'S%'--以S开头的
select * from emp where ename like '%S'--以S结尾的
select * from emp where ename like '_A%'--第二个字符为A的 ,'_'表示一个任意的字符,'%'表示任意多个的任意字符
select * from emp where ename like '%/_%' escape'/'--表示名字中包含'_'的员工
----查询有津贴的员工信息
------ select * from 表名 where字段名is null 字段值为null
------ select * from 表名 where字段名is not null 字段值不为null
------多的条件使用关键字and进行连接,筛选的是所有符合条件的数据
---------- select * from 表名where筛选条件1 and 条件2 and ...
select * from emp where comm is not null and comm>0
共计四种运算符:算术>连接>比较>逻辑