SQL查询语句

查询当前数据库系统时间(sysdate)

select sysdate from dual;

dual是Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用。称为'伪表'.因为他不存储主题数据;

他的存在,是为了操作上的方便.因为select 都是要有特定对象的.(from 对象表名);

但如果我们不需要从具体的表来取得表中数据,而是单纯地为了得到一些我们想得到的信息,并要通过select 完成时,就要借助一个对象,这个对象,就是dual;

例如计算,拼接字符串都可以使用dual对象。

一道题:

找出部门10中所有经理和部门20中所有办事员的详细资料

select * from emp where (deptno = 10 and job = 'MANAGER')or(deptno = 20 and job = 'CLERK');

条件查询where后多个条件可以直接用and或者or连接,在sql系统中or的前后条件不需要加括号

两道题:

找出部门10中所有经理、部门20中所有办事员以及既不是经理又不是办事员但薪资大于或等于2000的所有雇员的详细资料

select * from emp  

where (deptno = 10 and job = 'MANAGER') or (deptno = 20 and job= 'CLERK') or (job != 'MANAGER' and job != 'CLERK' and sal>=2000);

三道题:

显示所有员工的姓名、部门编号和薪资,部门编号降序排列,同部门员工以薪资升序排列

select ename, deptno,sal from emp order by deptno desc,sal ;

order by 后若有多个条件则直接用逗号连接

原文地址:https://www.cnblogs.com/wangqun1234/p/7767420.html