根据emp表写下列查询代码
多表查询sql语句
多表查询sql语句
多表查询sql语句
--解锁SCOTT⽤户
2 alter user scott account unlock
3 --检索指定的列
4 select job,ename,empno from emp;
5 --带有表达是的select⼦句
6 select sal*(1+0.2),sal from emp;
7 --显⽰不重复的记录
8 select distinct job from emp;
9 --⽐较筛选 <> =
10 select empno,ename,sal from emp where sal>1000;
11 select empno,ename,JOB from emp;
12 select empno,ename,sal from emp where sal <>all(3000,950,800);
13 --特殊关键字筛选
14 --like 模糊查询
15 select empno,ename,job from emp where JOB like '%S';
16 --IN --varchar
17 select empno,ename,job from emp where job in('PRESIDENT','MANAGER','ANALYST');
18 --NOT IN
19 select empno,ename,job from emp where job not in('PRESIDENT','MANAGER','ANALYST') ;
oracle+有关emp表的练习题
oracle 有关emp表的练习题
使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate 受雇日期/sal薪金/comm佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资=薪金+佣金
1.列出至少有一个员工的所有部门。
2.列出薪金比“SMITH”多的所有员工。
3.列出所有员工的姓名及其直接上级的姓名。
4.列出受雇日期早于其直接上级的所有员工。
5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
6.列出所有“CLERK”(办事员)的姓名及其部门名称。
7.列出最低薪金大于1500的各种工作。
8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
9.列出薪金高于公司平均薪金的所有员工。
10.列出与“SCOTT”从事相同工作的所有员工。
11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。
12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。
13.列出在每个部门工作的员工数量、平均工资和平均服务期限。
14.列出所有员工的姓名、部门名称和工资。
15.列出所有部门的详细信息和部门人数。
16.列出各种工作的最低工资。
17.列出各个部门的MANAGER(经理)的最低薪金。
18.列出所有员工的年工资,按年薪从低到高排序。
19.列出经理人的名字.
20.不用组函数,求出薪水的最大值(此题猥琐)
上机实验11(单表查询)
上机实验11 单表查询
实验任务:
已知数据库shiyan11里有emp表,其字段及其类型,含义如下:
/*
Eno varchar(8) --员工编号,primary key
ename varchar(10) --姓名
deptno varchar(10) --部门号
job varchar(10) --工种
sal decimal(10,2) --工资
comm decimal(10,2) --佣金
hiredate datetime --雇佣日期
*/
--1、查询emp表中部门号为3的员工人数。
--2、查询emp表中部门号为3有佣金(佣金不为空)的员工人数。
--3、从emp表中查询佣金的平均值,不忽略没有佣金(佣金的值为空)的员工。--4、计算emp中工资sal的总和
--5、emp表根据部门号分组,查询各部门的平均工资。
--6、按部门号分组,查询每组的工资最大值大于2900的部门号,以及该部门的最高工资。
--7、按工种job列分组,查询每组工资和大于2200且不是以SALES开头的工种,及其每组的工资总和,工资总和的列名设为payroll。
--8、从emp表中查询雇佣日期为2005年4月18日的雇员的姓名、雇佣日期。
--9、查询雇员所在的部门号,雇员的姓名、雇员的工资,查询结果按部门号升序和工资降序排序。
--10、查询雇员的姓名,雇员的年薪与佣金之和(新列名为salary),查询结果按工资排序。--11、按工资降序输出员工姓名和工资
--12、查询没有佣金comm雇员的名称、工资和佣金
--13、查询有佣金comm雇员的名称、工资和佣金
数据库复习题及答案
1.保证数据库逻辑数据独立性的是()。
A.模式B.模式与内模式的映射 C.模式与外模式的映射D.内模式 2.设关系R和S各有100个元组,那么这两个关系的笛卡尔积运算结果的元组个数为()
A.100B.200C.10000D.不确定(与计算结果有关)
3.一般不适合创建索引的属性有()。
A.主键码和外键码。B.可以从索引直接得到查询结果的属性。C.对于范围查询中使用的属性。D.经常更新的属性。
4.为保护数据库中的信息,防止未经授权或非法的使用所造成的数据泄漏,更改或破坏,称为数据库的()。A.安全性B.完整性C.恢复D.并发控制5.有如下关系:教师(编号,姓名,性别,职称),将属性“性别”的取值范围定义为(男,女)符合()定义。
A.实体完整性B.参照完整性C.用户定义的完整性D.逻辑完整性6.如何构造出一个合适的数据逻辑结构是()主要解决的问题。
A.关系数据库优化B.数据字典 C.关系数据库规范化理论D.关系数据库查询
7.设计数据流程图(DFD)属于数据库设计的()阶段任务。
A.逻辑设计B.概念设计C.物理设计D.需求分析8.SQL和宿主语言的接口是()。
A.DBMS B.OS C.DML D.主变量9.关系代数表达式的优化策略中,首先要做的是()
A.对文件进行预处理B.尽早执行选择运算C.执行笛卡儿积运算D.投影运算
10.DBMS的并发控制子系统,保证了事务()的实现
A.原子性B.一致性C.隔离性D.持久性11.对数据库并发操作有可能带来的问题包括()
A.读出“脏数据”B.带来数据的冗余C.未被授权的用户非法存取数据D.破坏数据独立性
Oracle第二章习题及答案
一、基于自己创建表的操作
1:创建一张学生表student,拥有stuid,stuname,sex,三个字段,其中stuid为主键。
create table student(
stuid int primary key,
stuname VARCHAR(20),
sex VARCHAR(20)
)
2:为该表增加一个新列score。
alter table student add(score varchar(10));
3:修改该表score列名为stuscore。
alter table student rename column score to stuscoree;
4:为student表插入5条记录。
insert into student values(1,'张三丰','男',80);
insert into student values(2,'阿悄','女',70);
insert into student values(3,'陈龙','男',90);
insert into student values(4,'章子怡','女',50);
insert into student values(5,'张卫健','男',60);
5:查询student表中的全部数据,其中列名为中文。
select STUID as 学号,STUNAME as 姓名,SEX as 性别,STUSCOREE as 分数from student;
6:查询学生姓名和分数,并是查询结果按照学生成绩降序排列。
select STUNAME,STUSCOREE from student order by STUSCOREE desc;
关系数据库操作语言SQL(四)_真题-无答案
关系数据库操作语言SQL(四)
(总分100,考试时间90分钟)
设计题
在SQL Server 2000中,有教师表Teachers(TeacherID,Name, LeaderID),其中TeacherID是主码,类型是长度为4的普通编码定长字符串,且每位是0~9的数字字符;Name的类型是长度为10的普通编码可变长字符串;LeaderID是每个教师的领导的TeacherID。
1. 写出创建Teachers表的SQL语句,要求语句中包含所有的约束。
2. 现要查询TeacherID为“1234”的教师的领导的领导的TeacherID,请给出相应的SQL语句,要求只使用一条SQL语句实现,且此语句中不允许包含子查询。
3. 如下两个关系表:Emp(eid, ename, age, did, salary),其各列含义为:职工号,姓名,年龄,部门号,工资。Dept(did, dname, mgr_id),其各列含义为:部门号,部门名称,部门经理职工号。写出一条SQL语句,查询工资大于10000,且与其所在部门的经理年龄相同的职工姓名。
4. 写出创建下述关系表的SQL语句。Student表结构
列名含义数据类型约束
Sno 学号普通编码定长字符串,长度为7 主码
Sname 姓名普通编码定长字符串,长度为10 非空
Ssex 性别普通编码定长字符串,长度为2 取值范围为:{男,女}
Sage 年龄微整型大于等于14
Sdept 所在系普通编码不定长字符串,长度为20
Course表结构
列名含义数据类型约束
Cno 课程号普通编码定长字符串,长度为10 主码
oracle 有关emp表的简单查询练习题
SQL练习训练一
1、查询dept表的结构
在命令窗口输入:
desc dept;
2、检索dept表中的所有列信息
select * from dept
3、检索emp表中的员工姓名、月收入及部门编号
select ename "员工姓名",sal "月收入",empno "部门编号" from emp
注意查询字段用分号隔开。
4、检索emp表中员工姓名、及雇佣时间
日期数据的默认显示格式为“DD-MM-YY",如果希望使用其他显示格式(YYYY-MM-DD),那么必须使用TO_CHAR函数进行转换。
select ename "员工姓名", hiredate "雇用时间
1",to_char(hiredate,'YYYY-MM-DD') "雇用时间2" from emp
注意:第一个时间是日期类型的,在Oracle的查询界面它的旁边带有一个日历。
第二个时间是字符型的。
易错点:不要将YYYY-MM-DD使用双引号
5、使用distinct去掉重复行。
检索emp表中的部门编号及工种,并去掉重复行。
select distinct deptno "部门编号",job "工种" from emp order by deptno
注意distinct放的位置
为什么不放在from的前面?
翻译成汉语就明白了
应该是:选择不重复的部门编号和工种从emp表。而不是:选择部门编号和工种不重复地从emp表。这还是人话么O(∩_∩)O哈哈~
6、使用表达式来显示列
检索emp表中的员工姓名及全年的月收入
select ename "员工姓名", (sal+nvl(comm,0))*12 "全年收入" from emp 注意:防止提成comm为空的操作,使用nvl函数
8Oracleemp表案例
8Oracleemp表案例
第一章
1.创建名字为hy_tablespace的表空间,默认大小为10M;
2.创建一个用户,用户名以自己名字命名,并指定命名空间为
hy_tablespace;
3.给用户授予connect和resource角色;
4.创建一张员工表(Emp),字段定义如下
empno NUMBER(4), 员工编号
ename VARCHAR2(10), 员工姓名
job VARCHAR2(9), 岗位
mgr NUMBER(4), 上级领导编号
hiredate DATE, 生日
sal NUMBER(7,2), 工资
comm NUMBER(7,2), 奖金
deptno NUMBER(2) 部门编号
5.将员工编号设置成主键;
6.创建一个部门表,字段如下
deptno NUMBER(2) , 部门编号
dname VARCHAR2(14), 部门名称
loc VARCHAR2(13) 部门位置
7.将部门编号设置为主键;
8.将Emp表中的ename设置为非空。
9.将dept表中的dname设置为非空。
10.将Emp表中的deptno字段设置默认值,默认值为10。
11.将Emp表中的deptno字段添加外键约束,关联到dept表中的
deptno字段。
12.创建一个序列,名为seq_hy,起始值为1,步长为1,没有最大值
限制。
13.怎样理解数据库和数据库实例的区别?
14.怎样理解权限和角色的区别?
15.char和varchar2数据类型有什么区别?
第二章
修改表结构
1.将Emp表中job字段长度改为15;
数据库试卷及 答案
试题一
一、单项选择题
在每小题列出的四个备选项中只有一个是符合题目要
求的,请将其代码填写在题后的括号内。错选、多选
或未选均无分。
1. 数据库系统的核心是()
A.数据库B.数据库管理系统
C.数据模型D.软件工具
2.下列四项中,不属于数据库系统的特点的是()
A.数据结构化B.数据由DBMS统一管理和控制
C.数据冗余度大D.数据独立性高
3.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是()
A.层次模型B.关系模型
C.网状模型D.实体-联系模型
4.数据的物理独立性是指()
A.数据库与数据库管理系统相互独立
B.用户程序与数据库管理系统相互独立
C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构是相互独立的
5.要保证数据库的逻辑数据独立性,需要修改的是()
A.模式与外模式之间的映象B.模式与内模式之间的映象
C.模式D.三级模式
6.关系数据模型的基本数据结构是( )
A.树B.图C.索引D.关系
7.有一名为“列车运营"实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是()
A.车次B.日期
C.车次+日期D.车次+情况摘要
8。己知关系R和S,R∩S等价于()
A。(R—S)-S B。S-(S—R)
C.(S—R)-R
D.S—(R—S)
9.学校数据库中有学生和宿舍两个关系:
学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号)
假设有的学生不住宿,床位也可能空闲。如果要列出所有学生住宿和宿舍分配
的情况,包括没有住宿的学生和空闲的床位,则应执行()
对scott中emp表进行各种操作
对scott中emp表进⾏各种操作
1,显⽰每个雇员的年⼯资
select sal*12 年⼯资 from emp;
2,显⽰每个雇员的年收⼊
select empno,ename,(sal+nvl(comm,0))*12 年收⼊ from emp;
3,显⽰⼯资⾼于3000的员⼯
select empno,ename,sal from emp where sal>3000;
4,如何查找1982.1.1后⼊职的员⼯
select empno,ename,sal,HIREDATE from emp where HIREDATE>'1-1⽉-1982';
5,如何显⽰⼯资在2000到2500的员⼯情况
select empno,ename,sal,HIREDATE from emp where sal between 2000 and 2500;
6,如何显⽰⾸字符为S的员⼯姓名和⼯资
select empno,ename,sal,HIREDATE from emp where ename like 'S%';
7,如何显⽰第三个字符为⼤写O的所有员⼯的姓名和⼯资
select empno,ename,sal,HIREDATE from emp where ename like '__O%';
8,如何显⽰empno为 123,345,800...的雇员情况
select empno,ename,job,sal from emp where empno in (7369,7499,7521);
9,如何显⽰没有上级的雇员的情况
sql联系
1.设某工厂数据库中有两个基本表:
车间基本表:DEPT(DNO,DNAME,MGR__ENO),其属性分别表示车间编号、车间名和车间主任的职工号。
职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。
试用关系代数表达式写出下列查询:检索“金工车间”的男职工的职工号和姓名。
2.在第1题两个基本表的基础上,建立一个有关女车间主任的职工号和姓名的视图,其结
构如下:VIEW6(ENO,ENAME)。试写出创建视图VIEW6的SQL语句。
3.设教学数据库中有三个基本表:
S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。
C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。
SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
有如下SQL查询语句:
SELECT CNO
FROM C
WHERE CNO NOT IN
(SELECT CNO
FROM S,SC
WHERE S.SNO=SC.SNO
AND SNAME= `GU')
请完成下列问题:
(1)用汉语句子阐述上述SQL语句的查询结果。
(2)用等价的关系代数表达式表示上述SQL查询语句。
4..设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示
职工号、姓名、年龄、性别、工资。为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。
5.设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别
slect语句查询
orcal分部分练习查询语句
--第一部分:
--1、使用基本查询语句.
--(1)查询DEPT表显示所有部门名称.
selectdname from dept;
--(2)查询EMP表显示所有雇员名及其全年收入(月收入=工资+补助),处理NULL行,并指定列别名为"年收入"。(NVL(comm,0) comm取空值时用0替代)
select * from emp;
select e.ename,(e.sal+nvl(null,0))*12 年收入from emp e ;
--(3)查询显示不存在雇员的所有部门号。
selectd.deptno from empe,dept d where d.deptno=e.deptno(+) group by d.deptno having count(e.deptno)=0;
selectd.deptno from emp e right join dept d on d.deptno=e.deptno group by d.deptno having count(e.deptno)=0;
--2、限制查询数据
--(1)查询EMP表显示工资超过2850的雇员姓名和工资。
selecte.ename,e.sal from emp e where e.sal>2850 ;
--(2)查询EMP表显示工资不在1500~2850之间的所有雇员及工资。
select e.*,e.ename ,e.sal from emp e where e.sal<1500 or e.sal>2850;
ORACLE order by 用法
ORACLE ORDER BY使用方法总结
ORACLE ORDER BY的常规用法如下:
SELECT <*,column [alias],...> FROM table [WHERE condition[s]] [ORDER BY] expr [ASC|DESC];
其中column 是列名,可以写*,也可以写具体的字段名,where条件可以省略,expr 是字段,也可以填1、2等,分别代表前面<*,column [alias],...>所填的第一列、第二列。
查询结果的排序
显示EMP表中不同的部门编号。
如果要在查询的同时排序显示结果,可以使用如下的语句:
Sql代码
1.SELECT字段列表FROM表名WHERE条件
2.ORDER BY字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...];
[sql]view plain copy
1.SELECT字段列表FROM表名WHERE条件
2.ORDER BY字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...];
ORDER BY从句后跟要排序的列。ORDER BY 从句出现在SELECT语句的最后。
排序有升序和降序之分,ASC表示升序排序,DESC表示降序排序。如果不指明排序顺序,默认的排序顺序为升序ASC。如果要降序,必须书写DESC关键字
1.升序排序
【训练1】查询雇员姓名和工资,并按工资从小到大排序。
输入并执行查询:
Sql代码
1.SELECT ename, sal FROM emp ORDER BY sal;
oracle面试测试题
oracle面试测试题
典型oracle面试题
一:sql题
1、
假设学校环境如下:
一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。现要建立关
于系、学生、班级的数据库,关系模式如下:
班级表class(班号classid,专业名subject,系名deptname,入学年份entertime,人数num)
学生表student(学号studentid,姓名name,年龄age,班号classid)系department(系号departmentid,系名deptname)要求用sql语句完成如下功能:
(1)建表,并实现如下要求 A:每个表根据实际定义好主外键关系 B:系表中编号字
段利用数据库自动化增长值实现 C:每个班级的人数不超过30人 D:学生年龄介于15
到30之间 E:学生姓名不能为空,系名不能重复(2)输入部分测试数据 department 表:
1 数学
2 计算机
3 化学
4 中文
5 经济学 class表:
101 软件计算机 1995 20 102 微电子计算机 1996 30 111 无机化学化
学 1995 29 112 高分子化学化学 1996 25 121 统计数学 1995 20 131 现
代语言中文 1996 20 141 国际贸易经济学 1997 30 142 国际金融经济学
1998 14 student表:
8101 张三 18 101 8102 钱四 16 121 8103 王玲 17 131 8104 李飞 19 102 8105 王五 20 141
(3)完成下列查询: A:列出所有人数大于等于28的系的编号和名称 B:列出所
查询emp表的所有记录
查询emp表的所有记录。
Select * from emp
查询emp表,显示员工姓名和工资。
Select ename,sal from emp;
查找员工的姓名和薪水和奖金。
Select ename,sal,comm from emp
查询每个部门的平均工资,显示部门名称和平均工资。
删除emp表中员工编号为7782 的员工信息。
修改编号是7784的员工的工资和奖金,与员工编号是7600的工资和奖金一样。
查询每位员工的姓名和部门名称。
删除emp表中员工编号为7007 的员工信息。
修改编号是7784的员工的工资为5000。
查询员工表中的最高工资。
查询每个部门最低工资的员工信息。
写PL/SQL代码,接收一个雇员的编号,如果其工资>= 3000,则显示高工资,工资>= 2000,则显示中等工资,否则认为是低等工资。
编写一个存储过程,带有两个参数,要求,可以传入部门的编号,传出部门的平均工资操作。
1、关闭oracle数据库命令有:shutdown abort、shutdown transcational、()、()
2、想要使INSERT,DELETE和UPDATE语句导致的数据库变化,执行事务取消()命令。
3、使用游标和 loop 循环来显示所有部门的的地理位置(用%notfound 属性)。PL SQL语句为:(完成以下代码)
Declare
aloc dept.loc%rowtype;
cursor cur_dept is select loc from dept;
Begin
Open cur_dept;
关系代数例题讲解
2021/6/16
22
• (3)检索选修课程名为MATHS的学生学 号与姓名。
2021/6/16
23
• (3)检索选修课程名为MATHS的学生学 号与姓名。
• π SNO,SANME (σ CNAME='MATHS‘ (S SC C))
2021/6/16
24
• (4)检索选修课程号为C2或C4的学生学 号。
• 现检索仓库名称为“莘庄”的仓库里存储的 商品的编号和名称。试写出相应的关系代数 表达式
2021/6/16
14
• 设某商业集团为仓库存储商品设计了三个基 本表:
• 仓库: STORE(S#,SNAME,SADDR),其属 性是仓库编号、仓库名称和地址。
• 存储: SG(S#,G#,QUANTITY),其属性是 仓库编号、商品编号和数量。
• 这里(SC×SC)表示关系SC自身相乘 的乘积操作,其中数字1,2,4,5都为它 的结果关系中的属性序号。
• 比较这一题与上一题的差别。
2021/6/16
28
• (6) 检索不学C2课的学生姓名与年龄。
2021/6/16
29
• (6) 检索不学C2课的学生姓名与年龄。 •
π SNAME,AGE(S)-π SNAME,AGE (σ CNO='C2'(S SC))
3. 用关系代数表达式写出,查找“财务科”中
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习4.根据emp表写下列查询代码
1.选择部门30中的所有员工.
2.列出所有办事员(CLERK)的姓名,编号和部门编号.
3.找出奖金高于基本工资的员工.
4.找出奖金高于基本工资的60%的员工.
5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料.
6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其基本工资大于或等于2000的所有员工的详细资料.
创建student表,插入数据,写出后面的查询代码
create table student(
sno char(5),
sname varchar(20),
sage number(3),
ssex char(2),
sdept char(2)
);
insert into student values('98001','钱横',18,'男','cs');
insert into student values('98002','王林',19,'女','cs');
insert into student values('98003','李明',20,'男','is');
insert into student values('98004','赵三',16,'女','ma');
1.查询性别为“男”的“cs”学院的学生的姓名、性别、院系
2.查询年龄大于18岁,并且不是“cs”学院与“ma”学院的学生的姓名和性别
3.查询姓“王”的学生的信息
排序练习
练习2.根据scott用户下的员工表和部门表完成下列题目
1.查询员工表显示员工名字、编号、工资,查询结果以名字为序升序排列
2.查询员工表显示员工名字、编号、工资,查询结果以工资升序排列,工资相同以名字升
序排列
3.查询员工表显示员工名字、编号、工资、部门编号,查询结果以部门编号排序,部门编
号相同的以员工名排序
4.根据员工表查询有几个部门编号,并以部门编号升序排列
练习3. 创建学生表STU2(sno,sname, final,usual),各字段分别是学号、姓名、期末成绩、平时
1.查询显示学生的学号、姓名、总成绩,总成绩=final*80%+usual*20%
2.查询显示学生的姓名、学号、平时成绩和期末成绩,并以期末成绩降序排列,如果期末
成绩相同的以平时成绩降序排列
3.查询显示学生的学号、姓名、总成绩,总成绩=final*80%+usual*20%,并以总成绩降序
排列,总成绩相同的以学号升序排列,显示时标题分别是学号、姓名、总成绩
select * from emp where deptno=30;
select ename,empno,deptno from emp where job='CLERK';
SELECT * from emp where comm>sal;
select * from emp where comm>sal*0.6;
select * from emp where deptno=10 and job='MANAGER' or DEPTNO=20 and job='CLERK';
/*select * from emp where deptno in(10,20) and job in('CLERK','MANAGER'); */
select * from emp where deptno=10 and job='MANAGER' or DEPTNO=20 and job='CLERK' or job not in('CLERK','MANAGER') and sal>=2000;
create table student(
sno char(5),
sname varchar(20),
sage number(3),
ssex char(2),
sdept char(2)
);
insert into student values('98001','钱横',18,'男','cs');
insert into student values('98002','王林',19,'女','cs');
insert into student values('98003','李明',20,'男','is');
insert into student values('98004','赵三',16,'女','ma');
select sname,ssex,sdept from student where ssex='男' and sdept='cs';
select sname,ssex from student where sage>18 and sdept not in('cs','ma');
select * from student where sname like '王%';
select ename,empno,sal from emp order by ename;
select ename,empno,sal from emp order by sal,ename;
select ename,empno,sal,deptno from emp order by deptno,ename;
select distinct deptno from emp order by deptno;
create table STU2(
Sno number,
Sname varchar(7),
final number,
ususal number);
insert into STU2 values (2010001,'王刚',89,75);
insert into STU2 values (2010002,'李强',75,75);
insert into STU2 values (2010003,'赵磊',95,85);
insert into STU2 values (2010004,'张明',75,65);
select Sno,Sname,final*0.8+ususal*0.2 from STU2;
select Sname,Sno,final,ususal from STU2 order by final desc,ususal desc;
select Sno 学号,Sname 姓名,final*0.8+ususal*0.2 总成绩from STU2 order by final*0.8+ususal*0.2 desc,Sno;