博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql笔记(来自oracle 的scott用户)
阅读量:6258 次
发布时间:2019-06-22

本文共 1453 字,大约阅读时间需要 4 分钟。

hot3.png

1.区分sql命令和sqlplus(oracle提供)-->sql不能缩写,sqlplus可以

2.mysql 不区分字符串的大小写, oracle区分

3.oracle 查询系统参数设置 : select * from v$nls_parameters;

      alter session set parameter ='  ';

空值问题:

   (1)null !=null  数据库中null是未赋值的意思,不是代表空格或0

   (2)如果集合中含有null ,不能使用 not in 但可以使用in

如: select * from emp where deptno not in(10,20,null)-->错误

   (3)组函数会自动滤空,可以嵌套滤空函数来屏蔽

如:comm中含有10个空值

       count(*)为15行记录

       count(comm)为5行记录(已经滤空值)

4.查询带有下滑线的名字-->select * from table where name like '%\_%' escape '\' ;

5.desc 排序只作用于 最近的一列

6.排序时null在最后 select * from table order by comm desc nulls last(只能在oracle中)

7.ROUND--> 四舍五入   TRUNC截断  MOD求余

8:条件表达式

       在sql语句中使用IF-THEN-ELSE逻辑

       使用两种方法:

          CASE表达式:SQL99的语法,类似basic ,比较繁琐

select ename,job,sal 涨前,

                 case job when 'PRESIDENT' then sal+1000

                          when 'MANAGER' then sal+800

                          else sal+400

                 end 涨后

from emp;

          DECODE函数:Oracle自己的语法,类似java,比较简洁

select ename,job,sal 涨前,

                 decode(job,'PRESIDENT',sal+1000,

                                    'MANAGER',sal+800,

                                                       sal+400) 涨后

from emp

9:where 和having的区别-->where 条件中不能有组函数

10:group by 语句的增强

  group by deptno , job

     +group by deptno

     +group by null

     =

     group by rollup(deptno,job)

抽象:

    group by rollup(a,b) = group by a,b

                                        +group by a

                                        +group by null

11:笛卡尔全集:两张 表的列数相加行数相成,应该尽量使用连接条件,避免使用笛卡尔全集,因为笛卡尔全集中 可能有错误

12:

13:注意,自连接有性能问题(所产生的笛卡尔集是表记录的平方,如果有1亿条记录,呵呵~)

14:层次查询,当你查询的数据是一颗树的时候,使用层次查询取代自连接

     (1)伪列表示节点深度(可以不写)

select level , empno, ename, mgr

from emp

connect by prior empno=mgr 

start with mgr is null  (根节点)

order by empno

/

15

16:

17:

18:

19:

转载于:https://my.oschina.net/yangzhiyuan/blog/209850

你可能感兴趣的文章
jQuery File Upload
查看>>
bbb板运行rtems-编写led底层驱动
查看>>
如何从零安装Mysql
查看>>
Appium简介及工作原理
查看>>
IP 类型转换
查看>>
mysql实践1
查看>>
struts2 Preparable接口
查看>>
hdu4578(线段树)
查看>>
写一个脚本简单检测局域网存活的机器
查看>>
Dubbo
查看>>
angular与jquery 进行json提交数据,报文头格式不一致的解决方案
查看>>
更换笔记本内存:自己动手修电脑(一)
查看>>
POJ2262-Goldbach's Conjecture
查看>>
区分扫描枪输入和键盘输入的实现
查看>>
【ssh服务配置】
查看>>
【mongdb主从复制和同步】
查看>>
下载文件downloadFile
查看>>
课后作业-阅读任务-阅读笔记-3
查看>>
hdoj1078(介绍记忆化搜索及其模板)
查看>>
cf-Round542-Div2-B(贪心)
查看>>