DISTINCT 如果查询出来的数据重复的那么只会显示一个;
BETWEEN…AND…; 在两者之间【300,400】;
IN(set); 用于筛选相同列的数据;ID IN(300,400,401); 和OR的用法有点相似;
LIKE模糊查询,多数情况都和ESCAPE(转义符)配合一起使用;LIKE ‘S_%’ ESCAPE’’;
IS NULL 为空的值;
ORDER BY:进行排序;ASC 升序排序、DESC 降序排序;
LOWER: 将字母转换为小写的函数;
UPPER :将字母转换为大写的函数;
INITCAP:将首字母转化为大写的函数;
CONCAT(‘Hello’,‘World’)=》HelloWorld:字符的拼接函数;
SUBSTR(‘HelloWorld’,1,5)=》Hello:对字段的选择性截取;
LENGTH(‘HelloWorld’)=》10:获取字段的字符长度;
INSTR(‘HelloWorld’,‘W’)=》6:获取字符所在的字符位置;
LPAD(‘24000’,10,‘’)=》*****240000:靠右补齐;
RPAD(‘24000’,10,‘’)=》24000*****:靠左补齐;
TRIM(‘H’ FROM ‘HelloWorld’)=》elloWorld:把字段对应的字母去掉;
REPLACE(‘abcd’,‘b’,‘m’)=》amcd;选择性替换;
ROUND(45.926,2)=》45.93:括号里的2位保留两位小数进行四舍五入;
TRUNC(45.926,2)=》45.92:把多余的截断;
MOD(1600,300)=》100:求余;
MONTHS_BETWEEN:两个日期相差的月数;
ADD_MONTHS向指定日期中加上若干月数;
NEXT_DAY:指定日期的下一个星期几对应的日期;
LAST_DAY:本月的最后一天的日期;
ROUND:日期四舍五入;
TRUNC:日期截断;
TO_CHAR(‘SYSDATE’,‘yyyy-mm-dd hh:mi:ss’);对日期的转换;
TO_CHAR(‘1234567’,’$99,999,999.00’)=》$1,234,567.00; 对数字的转换;
TO_CHAR(SYSDATE, ‘W’) ; 一个月中的第几周
TO_CHAR(SYSDATE, ‘WW’); 一年中的第几周
TO_CHAR(SYSDATE, ‘D’);一周的第几天
TO_CHAR(SYSDATE, ‘DAY’) ;当前日期是星期几,可设置显示英文还是中文
TO_CHAR(SYSDATE, ‘DDD’);一年中第几天
TO_CHAR(SYSDATE,‘Q’);一年中第几季度
TO_DATE(‘2019年03月05日20:00:00’,‘yyyy"年"mm“月”dd"日" hh:mi:ss’);
TO_NUMBER(‘¥1,234,567,890.00’,‘L999,999,999,999.99’);对字符的转换;
NVL(empty,0):将空值转换成一个已知值;
NVL2(expr1,expr2,expr3):expr1不为NULL,返回expr2;为NULL,返回expr3。
COALESCE(expr1,expr2,expr3…,exprn)如果expr1为NULL,返回expr2 要是expr2也为空那么返回 expr3,一直这么下去,直到返回不为NULL值。
多表查询
NATURAL JOIN:自然连接,会以两个表中具有相同名字的列为条件创建等值连接。
USING创建连接,在NATURAL JOIN 字句创建等值连接时,可以使用 USING 字句指定等值连接中需要用到的列。
ON创建连接(常用),ON 字句是语句具有更高的易读性。
LEFT OUTER JOIN:左外连接。
RIGHT OUTER JOIN:右外连接。
FULL OUTER JOIN:满外连接。
分组函数
AVG:(expr);用于求平均值。
COUNT(expr):用于求数据条数。
MAX(expr):用于求最大值。
MIN(expr)用于求最小值。
SUM(expr):用于求总和。
GROUP BY:分组函数分组。
HAVING:分组函数的筛选语句。