一、SQL语言基础
1.什么是SQL语言?
(1)SQL, Structured Query Language, 结构化查询语言;
(2)SQL是最重要的关系数据库操作语言,是所有关系数据库管理系统的标准语言;
(3)SQL语言是非过程化的语言, 只需要告诉做什么, 不需要关注怎么做, 简单。
2.SQL语言可以做什么?
1)增删改查(CRUD);
2) 操作数据库对象(用户,表格, 序列, 索引...);
3)操作用户权限和角色的授予跟取消;
4)事务管理;
3.SQL语言分类
1)DQL:Data Query Language,数据查询语言执行数据库的查询操作,select;
2)DML:Data Manipulation Language, 数据操作语言操作表格中的数据, 执行增删改, insert, delete, update。
3) DDL:Data Definition Language, 数据定义语言用于操作数据库对象, create, alter, drop。
4)DCL:Data Control Language,数据控制语言操作用户权限, grant, revoke。
5)TCL:Transaction Control Language, 事务控制语言用于管理事务, commit, rollback。
二、select子句
用于指定查询表格中的列信息。
1.通配符(“*”):
1)查询emp表格的所有数据“*”通配符, 表示所有的列;
2.指定列:
1)查询所有员工的编号, 姓名和职位;
3.支持算术运算:
1)查询所有员工的姓名, 职位和年薪; select子句中, 支持算数运算。
4.列别名
1)select子句中, 可以通过as关键字给列起别名;一般省略as。
5.字符串连接符 ||
1)Oracle中, 用单引号表示字符串;查询所有员工的姓名, 职位和薪资, 以姓名:xxx, 职位:xxx, 薪资:xxx的形式显示。
6.distinct
1)用于去除重复行信息;查询所有的职位信息。
2)查询所有员工的姓名和职位;distinct只能去除重复行, distinct的作用范围是它后面的所有列。
三、where子句
用于进行条件过滤。
1.等值条件
1)查询10部门所有员工的信息。
2.非等值条件
2) 查询工资在1500到3000之间的员工信息;between...and...表示一个范围, 包含边界。
3.模糊查询
使用like(像)实现, 配合通配符实现 ;“_”表示任意一个字符“%”表示任意个任意字符。
1)查询姓名首字母为A的员工的信息。
2)查询姓名第二个字母是A的员工的信息。
3)查询姓名中带有字母C的员工的信息。
4.is null
用于判断空值。
1)查询所有没有提成的员工信息;
2)查询所有有提成的员工信息;
5.and和or的优先级
and的优先级高于or的优先级。
1)查询所有CLERK的信息和工资大于1250的SALESMAN的信息。
2)查询所有的CLERK和SALESMAN的信息同时工资要大于1250。
6.运算符
四种运算符:算术>连接>比较>逻辑;
四、order by子句
使用order by子句对查询结果进行排序。
1.排序方式:
主要包括升序(asc,缺省)和降序(desc)两种;
1)select 列名,...from 表名 列名 order by asc(asc可省略,默认升序);
2)select 列名,...from 表名 列名 order by desc;
2.多字段排序:
select 列名,...from 表名 列名 order by 列名,asc;
where子句的优先级大于order by子句;
网友评论