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语句的更多相关文章

  1. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  2. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  3. SQL SELECT 语句

      本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...

  4. SQL SELECT语句

    基本SQL SELECT语句   1.       下面的语句是否可以执行成功 select ename , job , sal as salary  from emp; 2.       下面的语句 ...

  5. SQL Select语句完整的执行顺序(转)

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  6. 170607、SQL Select语句完整的执行顺序

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  7. SQL-W3School-基础:SQL SELECT 语句

    ylbtech-SQL-W3School-基础:SQL SELECT 语句 1.返回顶部 1. 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于 ...

  8. SQL 基础:Select语句,各种join,union用法

    一.基本的SELECT语句 1. “*”的注意事项:在SELECT语句中,用*来选取所有的列,这是一个应该抵制的习惯. 虽然节省了输入列名的时间,但是也意味着获得的数据比真正需要的数据多的多.相应的, ...

  9. SQL select语句执行顺序

    sql查询原理和Select执行顺序 关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是 ...

  10. 第四节基础篇 - SELECT 语句详解

    4.1 基本的SELECT语句 select * from T_WEATHER select cityname from t_weather 4.2 数学符号条件(>.<.>=.&l ...

随机推荐

  1. SpringBoot2.x入门:应用打包与启动

    前提 这篇文章是<SpringBoot2.x入门>专辑的第5篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 这篇文章分析一个偏向于运维方面的内容: ...

  2. vs2019使用github

    本人操作系统win10 第一步,下载vs github插件 直接看图 下载完成后,需要关闭所有vs2019窗口,之后会弹出下面的窗口,点击modify,完成之后,重新打开vs就安装好了 下面就可以在v ...

  3. 数据可视化之powerBI技巧(二十一)简单三个步骤,轻松管理你的Power BI度量值

    最近碰到几个星友的问题,都是问我之前分享的源文件是如何把度量值分门别类放到不同的文件夹中的,就像这样, 其实在之前的文章中也曾提及过做法,这里再详细说一下制作步骤: 01 | 新建一个空表 点击菜单栏 ...

  4. MySQL主从复制--单库复制搭建

    背景说明 负责公司MySQL数仓的搭建和维护,因为前端业务涉及到一次业务表的分库,导致整个平台新增加一台MySQL服务器,需要将该库数据通过主从复制同步至原有的数仓实例. 数据流向说明如下图: 业务环 ...

  5. Python Ethical Hacking - Malware Packaging(4)

    Converting Python Programs to Linux Executables Note: You can not execute the program on Linux by do ...

  6. OA系统从选型到实施完整攻略

    本文结合一线IT人士分享OA实施经验,单纯地讲述OA的选型与实施,为相关经验较少的IT人士提供真正的帮助. 一.如何选择OA系统 说起OA选型,稳定性.易用性.灵活性.成本和服务少不了.但是,只了解这 ...

  7. ASP.Net Core 3.1 With Autofac ConfigureServices returning an System.IServiceProvider isn't supported.

    ASP.Net Core 3.1 With Autofac ConfigureServices returning an System.IServiceProvider isn't supported ...

  8. .NET 使用sock5做代理(不是搭建服务端)

    在日常开发中经常会遇到这些需求,爬取数据,都知道现在通常用python爬取是很方便的,但是免不了还有很多伙伴在用NET来爬取,在爬取数据的时候我们知道需要使用代理服务器,如果不用代理,你的IP很有可能 ...

  9. 【JVM之内存与垃圾回收篇】执行引擎

    执行引擎 执行引擎概述 执行引擎属于 JVM 的下层,里面包括 解释器.及时编译器.垃圾回收器 执行引擎是 Java 虚拟机核心的组成部分之一. "虚拟机"是一个相对于" ...

  10. 字符串学习总结(Hash & Manacher & KMP)

    前言 终于开始学习新的东西了,总结一下字符串的一些知识. NO.1 字符串哈希(Hash) 定义 即将一个字符串转化成一个整数,并保证字符串不同,得到的哈希值不同,这样就可以用来判断一个该字串是否重复 ...