一.查询列(字段)
1.select distinst *|字段|表达式| as 别名 from 表 表别名
SELECT * FROM 表名; →查询某个表中所有的记录的所有字段信息
SELECT 列名 FROM 表名; →查询某个表中所有的记录的指定字段信息
SELECT 列名1,列名2 FROM 表名; → 查询某个表中所有的记录的字段1 字段2
SELECT distinct 列名 FROM 表名; →去除重复记录
SELECT 表达式 FROM 表名; →查询表达式
SELECT xxx as 别名 FROM 表名 表别名 →使用别名
2.部分列
查询部分字段,指定的字段名
--1)、检索单个列
select ename from emp; --查询雇员姓名
--2)、检索多个列
select deptno,dname,loc from dept; --查询部门表的deptno,dname, loc 字段的数据。
--以下查询的数据顺序不同(查询的字段顺序代表数据顺序)
select loc,dname,deptno from dept;
select deptno,dname,loc from dept;
3.所有列
查询所有的字段 通配符 *( 书写方便、可以检索未知列;但是降低检索的性能) ,数据的顺序跟定义表结构的顺序一致:
--1)、检索所有列1
select * from dept; --查询部门的所有信息
--2)、检索所有列2
select deptno,dname,loc from dept; --查询部门的所有信息
3.去除重复
使用distinct去重,确保查询结果的唯一性:
select distinct deptno from emp;--去重
4.别名
使用别名便于操作识别,隐藏底层信息。存在字段别名和表别名:
select ename as "雇员 姓名" from emp;
select ename "雇员姓名" from emp;
select ename 雇员姓名 from emp;
select ename as 雇员姓名 from emp;
select ename as " Ename" from emp;
● as: 字段别名可以使用as,表别名不能使用as
● " ": 原样输出,可以存在空格与区分大小写
5.字符串
使用 ' ' 表示字符串(注意区分“ ”),拼接使用 ||
select 'my' from emp;
select ename||'a'||'-->' info from emp;
6.违例
不存在的列,构建虚拟的列
select empno, 1*2 as count,'cmj' as name,deptno from emp;
7.虚表
用于计算表达式,显示单条记录的值
select 1+1 from dual;
8.null
null遇到数字参与运算的结果为null,遇到字符串为空串
select 1+null from dual;
select '1'||null from dual;
select 1||'2'||to_char(null) from dual;
select ename,sal*12+comm from emp;
--nvl内置函数,判断是否为null,如果为空,取默认值0,否则取字段实际值
select ename,sal*12+nvl(comm,0) from emp;
二.查询行(记录)
where 过滤行记录条件,条件有
a)、= 、 >、 <、 >=、 <=、 !=、 <>、 between and
b)、and 、or、 not、 union、 union all、 intersect 、minus
c)、null :is null、 is