目录
1:定义空(NULL)值
空值出现在表达式中会导致整个表达式的值为空。
NVL(字段名,将要赋予的值)函数 作用:将空值转换成其他有 ASCLL 码的值。
2:连接操作符: ||
select lastname || 'work in' || department_id from tablename;
select last_name || '''s salary is ' || salary 员工月薪 from employees;
~~~ 注:在单引号中还要使用单引号的话,就必须使用两个单引号来实现一个单引号的功能。
3:DISTINCT
在查询时默认显示所有的行,包括有重复值的行。
DISTINCT 消除重复行关键字,放在整查询列表的前面。
作用范围:整个查询列表的组合。 消除重复行后会按字段的特性,做升序排列。(执行过程:先排序,再消除重复)
eg:select distinct department_id,job_id from employees;
4:什么是关系型数据库系统
一个完整的关系型数据库系统包含5个结构:硬件;操作系统;关系型数据库系统、数据库;关系型数据库应用系统;用户
1)硬件:是指安装数据库系统的计算机,包含两种:服务器和客户机
2)操作系统:是指安装数据库系统的计算机采用的操作系统
3)关系型数据库系统、数据库: 关系型数据库是存储在计算上的、可共享的、有组织的关系型数据库的集合;关系型数据库管理系统是位于操作系统和关系型数据库应用系统之间的数据库管理软件
4)关系型数据库应用系统:是指为满足用户需求,采用各种应用开发工具和开发技术开发的数据库应用软件
5)用户:是指与数据库系统打交道的人员,一般包含下面三类人员:最终用户、数据库应用系统开发员、数据库管理员
5:创建和管理表
1: 创建需求
必须有: 1. CREATE TABLE 权限; 2.足够的存储空间;
2:当前用户所有的表的查询sql
select table_name from user_tables;
3:单条件查询
4:组合条件查询
5:排序查询
排序关键词:asc 代表升序排列;desc代表降序排列;多个排序字段之间通过逗号分隔
6:分组查询
group by
7:嵌套查询
1):简单嵌套:
2):带【in】的嵌套查询
3):带【any】的嵌套查询
带any的查询过程等价于两步的执行过程
a):执行子查询:select sal from scott.emp where job = ‘MANAGER’。假设子查询语句查询到三个薪水值:2978,2580,2450
b):执行父查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>2978 or sal >2580 or sal > 2450
4):带【some】的嵌套查询
带【some】的查询步骤与带【any】的功能是一致的。
5):带【all】的嵌套查询
带all的查询过程等价于两步的执行过程
a):执行子查询:select sal from scott.emp where job = ‘MANAGER’。假设子查询语句查询到三个薪水值:2978,2580,2450
b):执行父查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>2978 and sal >2580 and sal > 2450
6):带【exists】的嵌套查询
exists是存在的意思 select * from table where exists(select 1 from table1 where table .name = table1 .name): 查询table表中name和table1表中name一致的所有数据
7):并操作的嵌套查询
union:并操作就是集合中并集的概念。属于集合A或集合B的元素总和就是并集
8):交操作的嵌套查询
instesect:交操作就是集合中交集的概念
9):差操作的嵌套查询
minus:差操作就是集合中差集的操作。属于集合A且不属于集合B的元素综合就是差集
8:用sql进行函数查询
1)【ceil】函数
【ceil】函数用法:ceilg(n),取大于等于数值n的最小整数
2)【floor】函数
【floor】函数用法:floor(n),取小于等于数字n的最大整数
3)【mod】函数
【mod】函数用法:mod(m,n),取m整除n后的余数
4)【power】函数
【power】函数用法:power(m,n),取m的n次方
5)【round】函数
【round】函数用法:round(m,n),四舍五入,保留n位小数
6)【sign】函数
【sign】函数用法:sign(n),n>0,取1;n=0,取0;n<0,取-1;
7)【avg】函数
【avg】函数用法:avg(字段名),取平均值,要求字段为数值型
8)【count】函数
【count】函数用法:count(字段名)或count(*),统计总数
9)【min】函数
【min】函数用法:min(字段名),计算数值型字段最小值
10)【max】函数
【max】函数用法:max(字段名),计算数值型字段最大值
11)【sum】函数
【sum】函数用法:sum(字段名),计算数值型字段总数