(特殊的命令,写SQL的时候这些命令会变色 或者 是一些特定的用法)
-- SQL执行顺序的几个关键字
约束是实施引用完整性的重要部分;
索引可改善数据检索的性能;
触发器可以执行运行前后的处理;
安全选项可以用来管理数据访问;
#(一)查询顺序
SELECT 查询列表 7
FROM 表1 别名 1
INNER JOIN 表2 别名 2
ON 连接条件 3
WHERE 筛选条件 4
GROUP BY 分组条件 5
HAVING 筛选条件 6
ORDER BY 排序 8
LIMIT 起始,索引 9
SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序
--- 聚合函数
MAX() 求最大值
MIN() 求最小值
AVG() 求平均值
COUNT() 求统计个数
SUM() 求和
--- 转换函数的关键字
--文本,数字,日期的转换
TO_CHAR()
TO_DATE()
TO_NUMBER()
-- 其他函数的关键字
CASE 例子 ,案例
WHEN 当 .. 的时候
THEN 那么 ,则..
END 结束, 结尾
DECODE() ORACLE特有的函数 ,主要做 等值判断 ,功能类似 CASE WHEN
NVL 给“NULL”赋值 NVL(A1,A2),A1 为NULL,返回A2,不为空返回A1;
NVL2(A1,A2,A3) A1为NULL时,返回A3,不为NULL返回A2;
LENGTH () 表示字符串长度
LENGTHB() 表示字符串的字节长度
--- 分析函数
MAX()OVER(PARTITION BY A ORDER BY B)
OVER() 分析函数的标志性命令
PARTITION BY 分组
ORDER BY 在分析函数中 可以排序 + /*累计计算 */
LAG() 前N个
LEAD() 后N个
ROW_NUMBER() 数字排序不考虑并列 -------------- 1,2,3,4
RANK() 排序,排名考虑并列 ,并且相同排名的下一个 空出排名 1,2,2,4
DENSE_RANK() 排序,排名考虑并列 ,相同排名的下一个不会空出排名 1,2,2,3
-- PLSQL 部分
CREATE 创建
OR 或
REPLACE 替换 ,更新
--PROCEDURE 存储过程
--FUNCTION 函数
IS / AS 是... / 像...
BEGIN 开始
END 结尾
--CURSOR 游标
OPEN 打开
CLOSE 关闭
FETCH 赋值
EXIT 退出
--EXISTS EXISTS(子查询语句):判断子查询是否有结果返回,如果有,
则返回外部SELECT语句中的相应结果,如果没有,则不返回
性能优于IN
SELECT *
FROM EMP
WHERE EXISTS (SELECT 1 FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO)--WHERE E.ENAME=D.DNAME);
TRUE 布尔值,真 ;
FALSE 布尔值,假 ;
INTO 赋值... , 用变量引用...
LOOP 循环中的 LOOP 循环 ,这是一种死循环,必须在 循环内 写清楚终止循环的条件。
END LOOP 结束循环
IF 条件控制的,如何 ...
ELSIF 条件控制的,或者 ...
ELSE 条件控制的,其他结果的默认值 ...
END IF 条件控制的,条件控制结束
FOR .. LOOP 循环中的 FOR 循环 ,范围循环
WHILE .. LOOP 循环中的 WHILE 循环 ,条件循环
--EXECUTE 动态SQL的,执行
IMMEDIATE 动态SQL的,立即
/*EXECUTE IMMEDIATE'TRUNCATE TABLE 表名';
EXECUTE IMMEDIATE'DML语句';*/
--------- ORACLE中的常用数据类型
VARCHAR2 字符串
DATE 日期
NUMBER 数字
DATA 数据
DATABASE 数据库
DATABASE LINK 数据库连接
-------常用的 DDL ,DML ,DQL ,TCL 命令
DDL 数据库定义语言
CREATE 创建
DROP 删除
ALTER 修改
TRUNCATE 清空
TABLE 表
DML 数据库的管理语言
INSERT 插入
UPDATE 修改
SET 设置
DELETE 删除
DCL 数据库控制语言
GRANT 授予权限
REVOKE 收回权限
TCL 数据库的事务控制
COMMIT 提交事务
ROLLBACK 回滚事务
--- NULL 值 以及类似的判断
NULL 空值
IS NULL 判断为空
IS NOT NULL 判断不为空
IN 在.. 范围内
NOT IN 不在..范围内
= ANY = 任意值
= ALL = 全部值
BETWEEN .. AND 在 ... 到 ... 之间
NOT BETWEEN .. AND 不在 ... 到 ... 之间
LIKE 模糊查询、模糊匹配 ,像 .. 一样
NO LIKE 模糊查询、模糊匹配 ,不像 .. 一样
EXISTS 判断真或者假 ,判断函数计算结果为真 ,成立,有结果
NOT EXISTS 判断真或者假 ,判断函数计算结果为假 ,不成立,没有结果
------------定义变量
%TYPE 变量定义, 变量的数据类型
%ROWTYPE 变量定义, 变量 行 的数据类型
----------- 关联查询的关键字
INNER JOIN 内 关联
LEFT OUTER JOIN 左 外 关联
RIGHT OUTER JOIN 右 外 关联
FULL OUTER JOIN 全 外 关联
WHERE 关联后的过滤条件 ,在 ORACLE中也是关联的关键字
ON 关联条件的关键字 ,在SQL写法中存在,ORACLE 中没有这个关键字
-- 去重相关的关键字
GROUP BY 分组去重
ROWID 伪列去重
DISTINCT 直接对结果集去重
UNION 集合运算去重
ROW_NUMBER()OVER() 分析函数去重
ROWNUM 伪列 用于算排名
---- 数字函数
TRUNC(X,Y) 直接截取 TRUNC(888.992,2),‘2’默认从小数点后计数,首位为‘0’,‘-2’从小数点前计数,首位为‘1’
ROUND() 四舍五入截取
POWER() 求幂
MOD() 算余数
ABS() 算绝对值
--- 日期函数
LAST_DAY() 取最后一天
ADD_MONTHS() 月份 + N
MONTHS_BETWEEN() 从 .. 到 ... 之间差多少个月
--- 字符函数
SUBSTR(X,Y[,Z]) 字符串截取 首位为1,默认从左到右顺序
substr(abcde,1) -- abcde
substr(abcde,1,3) -- abc
substr(abcde,2,3) -- bcd
substr(abcde,-2,3) -- de
substr(111.22,-3,3) -- .22
--
INSTR(X,Y[,M,N])定位 首位为1,默认从左到右顺序
--
TRUNC(X,Y) 直接截取 TRUNC(888.992,2),‘2’默认从小数点后计数,首位为‘0’,‘-2’从小数点前计数,首位为‘1’
trunc(888.992, 2 ) --888.99
trunc(888.992, 1 ) --888.9
trunc(888.992, -2 ) --800
trunc(888.992, -1 ) --880
--
REPLACE() 字符串替换
LENGTH() 算字符串长度 一个汉字一个字节
UPPER() 字符串转大写
LOWER() 字符串转小写
--- 集合运算
INTERSECT:交集
UNION :并集,并去重
UNION ALL:并集,但不去重
MINUS :补集
文章浏览阅读1.5w次。AVFrame:( This structure describes decoded (raw) audio or video data. AVFrame must be allocated using av_frame_alloc(). Note that this only allocates the AVFrame itself, the buffers for the data mus_天天av
文章浏览阅读3.5k次,点赞2次,收藏12次。解题思路分析:1.100元兑换10元纸币,可以兑换10张,但每种纸币都要有,所以最多只能兑换9张,最少兑换1张。则初始值为1;循环条件小于10或者小于等于9。2.100元兑换5元纸币,可以兑换20,但每种纸币都要有,所以最多只能兑换19张,最少兑换1张。初始值为1;循环条件小于20或者小于等于19。3.100元兑换1元纸币,可以兑换100张,但每种纸币都要有,所以最多只能兑换99张,最少兑换1张。则初始值为1;循环条件小于100或者小于等于99。_编程把100元换成1元5元10元
文章浏览阅读450次。1、允许用户最多尝试三次2、每尝试三次后,如果还没猜对,就问用户是否继续玩,如果回答Y,y,就继续猜三次,以此往复,如果回答N,n,就直接退出times=0count=3while times<=3:age=int(input(‘请输入年龄:’))if age == 18:print(‘猜对了’)breakelif age > 18:print(‘猜大了’)else:print(‘猜小了’)times+=1if times3:choose = input(‘继续猜Y_找人猜三次年龄
文章浏览阅读152次。这套题实在是太神仙了。。做了我好久。。。好多题都是去搜题解才会的 TAT。剩的那道题先咕着,如果省选没有退役就来填吧。「SDOI2017」龙与地下城题意丢 \(Y\) 次骰子,骰子有 \(X\) 面,每一面的概率均等,取值为 \([0, X)\) ,问最后取值在 \([a, b]\) 之间的概率。一个浮点数,绝对误差不超过 \(0.013579\) 为正确。数据范围每组数据有 \...
文章浏览阅读1.1k次,点赞36次,收藏25次。阅读引言: 本文将会从环境sqlite3的安装、数据库的基础知识、sqlite3命令、以及sqlite的sql语句最后还有一个完整的代码实例, 相信仔细学习完这篇内容之后大家一定能有所收获。
文章浏览阅读51次。UnicodeString templateSavePath = ChangeFileExt(ExtractFilePath(Application->ExeName),"tmp.doc");IdAntiFreeze1->OnlyWhenIdle = false;//设置使程序有反应.TMemoryStream *templateStream ;templateStre..._c++webserver下载文件
文章浏览阅读8.3k次,点赞10次,收藏41次。一、第一天1、创建战舰、侦察潜艇、鱼雷潜艇、水雷潜艇、水雷、深水炸弹类完整代码:package day01;//战舰public class Battleship { int width; int height; int x; int y; int speed; int life; void move(){ System.out.println("战舰移动"); }}package day01;//侦察潜艇_java潜艇大战
文章浏览阅读940次。表单校验的基本步骤_表单校验
文章浏览阅读4.5k次。libOpenBlas.dll缺失依赖解决办法 intellij idea 1.dll文件缺失依赖,报错:“找不到指定模块”2.下载depends查看dll缺失文件3.下载缺失依赖libopenblas.dll出错起因由于java web项目需要调用openBlas库来进行运算,就下载了预编译的libopenblas文件进行调用,首先遇到路径出错问题、之后又是dll文件缺失依赖问题,以下是解决..._libopenblas.dll
文章浏览阅读251次,点赞3次,收藏10次。这里实现的心跳检测机制是一个基础版的,心跳包的主要作用是用于检测用户端是否存活,有助于我们及时判断用户端是否存在断线的问题。在我之前开发过的项目中,有一个基于物联网在线直播抓娃娃的项目,其中就有需要实时监控设备在线状态的需求,该需求就是使用心跳包来实现的。实际上心跳检测技术,应用更广泛的是实时通信、或设备管理的场景偏多。
文章浏览阅读714次。Dependency scope is used to limit the transitivity of a dependency, and also to affect the classpath used for various build tasks.There are 6 scopes available:compileThis is the default scop_maven dependent scope
文章浏览阅读3.6k次。TCP 头部结构信息_tcp头部包含哪些信息