作家
登录

使用Oracle中的emp、dept来学习Django ORM

作者: 来源: 2017-12-19 17:02:29 阅读 我要评论

values(7844,'TURNER','SALESMAN',7698,'1981-9-8',1500.00,30); 
  •  
  • insert into emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,DEPTNO_ID) values(7876,'ADAMS','CLERK',7788,'1987-5-23',1100.00,20); 
  •  
  • insert into emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,DEPTNO_ID) values(7900,'JAMES','CLERK',7698,'1981-12-3',950,30); 
  •  
  • insert into emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,DEPTNO_ID) values(7902,'FORD','ANALYST',7566,'1981-12-3',3000,20); 
  •  
  • insert into emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,DEPTNO_ID) values(7934,'MILLER','CLERK',7782,'1982-1-23',1300,10); 
  •  
  • insert into emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,DEPTNO_ID) values(9999,'SHUNPING','CLERK',7782,'1988-5-5',2456.34,10); 
  • 剩下的工作就是实践了。我们就选择emp,dept常见的一些SQL来看看ORM可否完成这个义务。

    dept的表构造如下:

    1、显示所有的姓名、工种、工资和奖金,按工种降序分列,若工种雷同则按工资升序分列。

    如不雅应用MySQL,语句和数据结不雅如下:

    应用order_by的方法来处理,可以看到有了一点头绪,然则照样没有实现需求。

    1. >>> emp.objects.all().order_by('job'
    2.  
    3. [<emp: 7788 SCOTT>, <emp: 7902 FORD>, <emp: 7369 SMITH>, .... 

    所以我们的重点就是排序了,ORM本身有order_by函数,还可声调剂DESC,ASC,所以一个根本相符请求的方法如下:

    1. >>> emp.objects.all().order_by(('-job'),('sal')) 
    2.  
    3. [<emp: 7521 WARD>, <emp: 7654 MARTIN>, <emp: 7844 TURNER> 

    第二个标题也是类似的。

    SQL语句如下:

    1. select ename,hiredate from emp order by hiredate asc; 
    1. insert into dept values(10,'ACCOUNTING','NEW YORK'); 
    2.  
    3. insert into dept values(20,'RESEARCH'

        推荐阅读

        OpenStack的七年:更加成熟

      【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 【51CTO.com原创稿件】2017年7月,在北京举办的AWS技巧峰会2017上,EasyStack正式宣布混淆云ESCloud Hybir>>>详细阅读


      本文标题:使用Oracle中的emp、dept来学习Django ORM

      地址:http://www.17bianji.com/lsqh/39944.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)