1.简单查询语句的语法
select 列名,列名,...,列名 from 表名;
select ... from :它是查询语句的关键字
select后面跟是你要从数据库里取的数据
from后面跟表名,表示你要从哪张中读取这些数据
如:
--查询emp表中员工的编号、姓名、工作、工资
select empno,ename,job,sal from emp;
--查询emp表中所有列的信息
select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;
如果要查询表中所有列的信息,那么select和from之间的列名可以用*来表示,注意:*号的执行效率比写列名时的执行效率低,(*在执行sql语句时,oracle会去查数据库中的数据字典,查询这个张表都有哪些列,然后查出这张表的所有列的数据)
2.注释
单行注释:--
多行注释:以/* 开始,以*/结尾
3.sql中的别名
别名语法:
对象名 as 别名
对象名 别名
如:
select empno as 员工编号,ename 姓名,job 工作,mgr 上级编号,hiredate 入职日期,sal 工资,comm 佣金,deptno 部门编号 from emp;
注意:给表、视图取别名时不能加as
select e.* from emp e; --select * from emp;
select e.empno,e.ename,e.job,e.sal from emp e;
select emp.empno,emp.ename,emp.job,emp.sal from emp;
4.带条件的查询
select 列名,列名,...,列名 from 表名 where 条件表达式;
where:条件关键字,后面跟条件表达式,这个条件一般是和数据库中列相关
条件表达式:
>
<
>=
<=
!=,<>:表示不等于
=
--查询工资大于1500的员工信息
select * from emp where sal>1500;
--查询名字叫SMITH的员工的信息
select * from emp where ename='SMITH';
说明:在oracle数据库中,数字类型直接写就可以,字符串类型的数据要用单引号括起来
--查询不是10号部门的员工的信息
select * from emp where deptno!=10;
select * from emp where deptno<>10;
in:后面跟一个集合或者子查询
oracle中表示一个简单的集合 ,(元素,元素,元素,... 元素) 例如 (1,2,3,4,5) ('a','b','c','d')
--查询emp表中,工资是800,1600,或者3000的员工信息
select * from emp where sal in(800,1600,3000);
not in:和in是相反的
select * from emp where sal not in(800,1600,3000);
like:它只用在字符串列,表示对字符串进行模糊匹配
有两个点位符:
%:表示在这个%出现的地方可以有0个或者多个字符
_: 表示在_出现的地方有且只能一个任意字符
--查询员工姓名以S结尾的员工信息
select * from emp where ename like '%S';
--查询emp表中员工姓名的第二个字符是L的员工信息
select * from emp where ename like '_L%';
-