00-基础SQL-SELECT语句
DML(数据操作语言,增删查改)
DDL(数据定义语言,比如创建、修改或删除数据库对象)
DCL(数据控制语言,控制数据库的访问)
desc 表名:显示表结构;
dual : 伪表
对于日期型数据,做 * 、/ 运算不合法;
包含空值的数学表达式的值都为空值;
别名使用双引号;
连接字符串使用:“ || ”
日期与字符串只能在“单引号”中出现;
重复行:去重:distinct;
sql是一种语言;
sql*plus是一种环境,关键字可以缩写,如(desc、ed);
where紧跟from语句;
过滤与排序:
过滤 :where
字符串区分大小写;
日期格式敏感 DD-MM-YYYY(抛弃),用to_char()转换;
赋值 :=
比较运算:字段名 : between ..... and ..... 两个之间,包含边界;
in :等值列中的多个;
like:模糊查询;
转义字符:escape 如 '%#_%' escape '#';
is null / is not null; 为空/不为空
排序:order by 字段 asc(升序),desc(降序);
单行函数:只对一行进行变换,每行返回一个结果;
字符函数:
Lower:转小写
Upper:转大写
Initcap:首字母大写,其它小写;
字符控制函数:
concat:连接,如concat('Hello','World');
substr('helloworld',1,4):1开始,输出4个;
Length:长度;
Instr('helloworld','l'):返回首次出现的位置,无则返回0;
LRAD/RPAD : 左对齐/右对齐,不足位,作补;如 LRAD(salary,10,'*')
trim('h' from 'helloword'):去除首尾h;
replace('abcd','b','m'):将所有b都转为m;
数字函数:
round 四舍五入;
trunc 直接截断;
MOD:取余;
日期:加一个数字或减一个数字,仍为日期;
日期相减为天数;
可以除以24来向日期加上或减去天数;
日期函数:
months_between(sysdate,hire_date):两个日期相差月数;
add_months :向指定日期加上若干月;add_months(sysdate,2);
next_day :指定的日期下一个星期某对应的日期;如next_day(sysdate,'星期一');
Last_day:本月后的一天;last_day(sysdate)-1:倒数第二天
round:日期四舍五入;
trunc:日期戒断;
转换函数:
to_char(hire_date,'yyyy-mm-dd');转换为字符串;
to_date('1990-01-01','yyyy-mm-dd')=hire_date;转换为日期
to_number('$12345678.123','$000,000,000.00');前后对应;
通用函数:使用于任何数据类型,也适用于空值;
NVL(EXP1,EXP2):如果exp1为空,值则为exp2;
NVL2(EXP1.EXP2,EXP3):exp1不为空,返回EXP2 , 为空,返回exp3;
NULLIF(EXP1,EXP2) : 相等返回null,不等返回exp1;
COALESCE(EXP1,EXP2,EXP3.....):exp1为空,值则为EXP2,如果exp2为空,则一直往下...
条件表达式:
sql语言中使用if-then-else;
使用两种方式:
① case:
case 某列 when ..... then .....else .....end 无标点符号;
译:当某列的值为 某,则是 某值,否则 为某,结束;
eg:
查询部门号为 10, 20, 30 的员工信息, 若部门号为 10, 则打印其工资的 1.1 倍, 20 号部门, 则打印其工资的 1.2 倍, 30 号部门打印其工资的 1.3 倍数;
SELECT last_name, job_id, salary,
CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"
FROM employees;
②decode:
decode(变量,1,2,1,2);
变量,为1时,值为2,依次往下,括号结束;
eg:
SELECT last_name, job_id, salary,
DECODE(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
"REVISED_SALARY"
FROM employees;
00-基础SQL-SELECT语句的更多相关文章
- 15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
- mysql基础篇 - SELECT 语句详解
基础篇 - SELECT 语句详解 SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...
- SQL SELECT 语句
本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...
- SQL SELECT语句
基本SQL SELECT语句 1. 下面的语句是否可以执行成功 select ename , job , sal as salary from emp; 2. 下面的语句 ...
- SQL Select语句完整的执行顺序(转)
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- 170607、SQL Select语句完整的执行顺序
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- SQL-W3School-基础:SQL SELECT 语句
ylbtech-SQL-W3School-基础:SQL SELECT 语句 1.返回顶部 1. 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于 ...
- SQL 基础:Select语句,各种join,union用法
一.基本的SELECT语句 1. “*”的注意事项:在SELECT语句中,用*来选取所有的列,这是一个应该抵制的习惯. 虽然节省了输入列名的时间,但是也意味着获得的数据比真正需要的数据多的多.相应的, ...
- SQL select语句执行顺序
sql查询原理和Select执行顺序 关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是 ...
- 第四节基础篇 - SELECT 语句详解
4.1 基本的SELECT语句 select * from T_WEATHER select cityname from t_weather 4.2 数学符号条件(>.<.>=.&l ...
随机推荐
- Scala 面向对象(八):特质(接口) 一
1 Scala接口的介绍 从面向对象来看,接口并不属于面向对象的范畴,Scala是纯面向对象的语言,在Scala中,没有接口. Scala语言中,采用特质trait(特征)来代替接口的概念,也就是说, ...
- 数据可视化之PowerQuery篇(十五)如何使用Power BI计算新客户数量?
https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...
- 压缩并上传图片到阿里云(jfinal)
/** * 获取上传文件 * * @param r * @Return: com.oreilly.servlet.multipart.FilePart */public static FilePart ...
- 3个月不发工资,拖延转正?2天跳槽软件测试成功,9.5k他不香吗!
今天聊到的小哥哥很悲催又很神奇,身处武汉的他,正好赶上了疫情,不仅长达3个月没有发工资,拖延转正,还要降薪,三重打击,实名悲催. 不破不立,试用期80%再打8折,怎么跳槽工资都得比这高,果然,仅仅两天 ...
- 五大高效的PDF文件搜索引擎
当你花了半个多小时在线搜索PDF文档,却发现您找到的文档都不是您需要的PDF格式.如前说述,您可以先打开PDF文档查看是不是PDF格式的,然后再到web浏览器中下载该文档.那么,为了确保您获得的文档是 ...
- 技术干货:Jenkins集成GitLab
Jenkins免密拉取GitLab项目 1.在Jenkins上为GitLab创建一个专有的拉取代码的账号 Jenkins需要构建哪些项目就在GitLab给予账号相应权限 我这里已经创建过Jenkins ...
- Shell基本语法---处理海量数据的sed命令
sed命令 shell脚本三剑客之一 处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到 ...
- 毫无基础的人入门Python,Python新手入门教程2
1.6 面向对象和内存分析086.面向对象和面向过程的区别_执行者思维_设计者思维087.对象的进化故事088.类的定义_类和对象的关系089.构造函数__init__090.实例属性_内存分析091 ...
- Promise对象 异步编程
Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是 ...
- 第【7】章: 数递归、DFS、剪枝、回溯等问题 学习报告
(7.2)节: 递归问题 1.题干: 递归方便表达,但是性能上消耗过多 1.有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶.2阶.3阶. 请实现一个方法,计算小孩有多少种上楼的方式. ...