Oracle 051 的几个题 (oracle 11g)

Oracle 051 的几个题 (oracle 11g)

1.    INTERVAL的用法

SELECT INTERVAL '300' MONTH,INTERVAL '54-2' YEAR TO MONTH,INTERVAL '11:12:10.1234567' HOUR TO SECOND FROM dual;

查询结果为:

INTERVAL'300'MONTH
---------------------------------------------------------------------------
INTERVAL'54-2'YEARTOMONTH
---------------------------------------------------------------------------
INTERVAL'11:12:10.1234567'HOURTOSECOND
---------------------------------------------------------------------------
+25-00
+54-02
+00 11:12:10.123457

 

2.    ORDERBY

select distinct deptno, sal from emp order by 1;

等价于

select distinct deptno, sal from emp order by deptno;

 

select distinct deptno, sal from emp order by 2;

等价于

select distinct deptno, sal from emp order by sal;

 

  1. 在SELECT 子句中使用数据合并

emp表如下

EMPNO

ENAME     

JOB  

MGR

HIREDATE  

SAL      

COMM    

7369

SMITH     

CLERK  

7902

17-DEC-80  

800

  

7499

ALLEN     

SALESMAN

7698

20-FEB-81  

1600      

300  

7521

WARD      

SALESMAN

7698

22-FEB-81  

1250      

500  

7566

JONES     

MANAGER 

7839

02-APR-81  

2975

  

7654

MARTIN    

SALESMAN

7698

28-SEP-81  

1250      

1400  

7698

BLAKE     

MANAGER 

7839

01-MAY-81  

2850

  

7782

CLARK     

MANAGER 

7839

09-JUN-81  

2450

  

7788

SCOTT     

ANALYST  

7566

19-APR-87  

3000

  

7839

KING      

PRESIDENT

   

17-NOV-81  

5000

  

查询语句如下:

select empno || ' ' || TO_CHAR(ROUND(ROUND(SYSDATE-hiredate)/365) * sal + comm) from emp;

查询结果为:

EMPNO||''||TO_CHAR(ROUND(ROUND(SYSDATE-HIREDATE)/365)*SAL+COMM)
--------------------------------------------------------------------------------
7369
7499 56300
7521 44250
7566
7654 43900
7698
7782
7788
7839
7844 51000
7876
7900
7902
7934

查询结果只有一列,为empno的值与后面的算术值的拼接。

说明:

a)   在SELECT中用“||” 实现数据合并

b)   查询结果错误。 COMM 值为空的行无计算结果

 

  1. Q-quote delimiter

查询语句

select q'[i am' ok "ey" ]' from dual;

输出

i am' ok "ey"

如下符号都可行

select q'<i am' ok "ey" >' from dual;

select q'\i am' ok "ey" \' from dual;

select q'{i am' ok "ey" }' from dual;

select q'#i am' ok "ey" #' from dual;

select q'*i am' ok "ey"*' from dual;

select q'(i am' ok "ey")' from dual;

select q'%i am' ok "ey"%' from dual;

 

  1. USING

Select * from emp join dept using(deptno);

查询结果为:

 DEPTNO    EMPNO ENAME     JOB          MGR HIREDATE           SAL     COMM DNAME         LOC
---------- ---------- ---------- --------- ---------- --------- ---------- ---------- -------------- -------------
    10     7782 CLARK     MANAGER     7839 09-JUN-81       2450          ACCOUNTING     NEW YORK
    10     7839 KING     PRESIDENT          17-NOV-81       5000          ACCOUNTING     NEW YORK
    10     7934 MILLER     CLERK         7782 23-JAN-82       1300          ACCOUNTING     NEW YORK
    20     7566 JONES     MANAGER     7839 02-APR-81       2975          RESEARCH         DALLAS
    20     7902 FORD     ANALYST     7566 03-DEC-81       3000          RESEARCH         DALLAS
    20     7876 ADAMS     CLERK         7788 23-MAY-87       1100          RESEARCH         DALLAS
    20     7369 SMITH     CLERK         7902 17-DEC-80        800          RESEARCH         DALLAS
    20     7788 SCOTT     ANALYST     7566 19-APR-87       3000          RESEARCH         DALLAS
    30     7521 WARD     SALESMAN     7698 22-FEB-81       1250      500 SALES         CHICAGO
    30     7844 TURNER     SALESMAN     7698 08-SEP-81       1500        0 SALES         CHICAGO
    30     7499 ALLEN     SALESMAN     7698 20-FEB-81       1600      300 SALES         CHICAGO
    30     7900 JAMES     CLERK         7698 03-DEC-81        950          SALES         CHICAGO
    30     7698 BLAKE     MANAGER     7839 01-MAY-81       2850          SALES         CHICAGO
    30     7654 MARTIN     SALESMAN     7698 28-SEP-81       1250     1400 SALES         CHICAGO

使oracle使用using指定的字段来做连接,而不是natural join连接中默认的两个。

参考http://blog.163.com/wkyuyang_001/blog/static/108021228200917598857/

 

补充:

  1. COUNT(*) , COUNT(column_name) , COUNT(DISTINCT)

COUNT(*) -all, include null

COUNT(column_name) - without null

COUNT(DISTINCT) -remove duplicate 

 

  1.   SQL 中各子句的执行顺序

a)    FROM (查询数据来源)

b)  WHERE (根据WHERE中的条件筛选行)

c)   GROUP BY (执行分组)

d)  HAVING (根据HAVING中的条件在各组内进行筛选)

e)   SELECT (挑出指定列)

f)    ORDER BY (排序)

Sugeei

2015/8/28

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值