资源描述:
《Oracle数据库原理与应用 姚世军 第8章 数据库对象管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章数据库对象管理7/21/20211表的查询SELECT表操作命令CREATETABLEALTERTABLEDROPTABLE事务的基本概念本讲主要内容7/21/20212数据库对象操作(1)一、模式概念和模式对象模式(Schema)是数据的逻辑结构即模式对象的集合。一个模式只能被一个数据库用户所拥有,并且模式名称与用户名称相同。ORACLE数据库中的每个用户都拥有一个唯一的模式。ORACLE数据库中的模式对象有:表、视图、索引、簇、同义词、序列、数据库链接、存储过程、PL/SQL包、存储函数、触发器、J
2、ava类与其它Java资源。7/21/20213表的查询和排序SELECT[ALL
3、DISTINCT
4、UNIQUE][[表的别名.]选项][,[表的别名.]选项…]-输出字段表或表达式FROM[模式.]表名[别名][,表名[别名]…]表名[WHERE条件表达式]-查询条件[GROUPBY分组选项[,分组选项,…][HAVING筛选条件表达式]][UNION
5、INTERSECT
6、MINUSSELECT子查询][ORDERBY排序选项[ASC
7、DESC][,排序选项[ASC
8、DESC],…]二、表管理7/21/2
9、02141.基本查询SELECT字段名表或表达式表FROM表名WHERE条件;用户只能查询自己模式中的表,如果要查询其它模式中的对象,必须在对象名前添加模式名,如hr.employees,并且对该对象要有SELECT对象权限。例1:从一个表中查询出若干字段的内容。SQL>SELECTemployee_id,first_name
10、
11、''
12、
13、last_name2FROMemployees;7/21/202151.基本查询例2:同上例,为每个字段名定义一个标题SQL>SELECTemployee_id雇员编号,fi
14、rst_name2
15、
16、''
17、
18、last_name姓名FROMemployees;雇员编号姓名------------------------100StevenKing101NeenaKochhar如果标题名中含有空格,则必须用双引号("")括起来。7/21/20216例3:从表EMPLOYEES中查询出所有名字(last_name)以G开头且工资(salary)大于3000的人的名字、工资、部门编号。SQL>SELECTlast_name名字,salary工资,2department_id部门号FROMemp
19、loyees3WHERElast_namelike'G%'4andsalary>3000;名字工资部门编号---------------------------------------------Greenberg12000100Greene9500801.基本查询7/21/20217例4:当前用户为user1,查询HR模式中的表DEPARTMENTS所有字段的内容。用户USER1对HR模式中的表DEPARTMENTS有SELECT对象权限。SQL>SHOWUSER;USER为"USER1"SQL>SELEC
20、T*FROMhr.departments;DEPARTMENT_IDDEPARTMENT_NAMEMANAGER_IDLOCATION_ID------------------------------------------------------10Administration200170020Marketing20118001.基本查询7/21/202182.多表查询在使用多表时,必须指定每个表的别名,并在字段名前用别名指定字段所属的表,如e.first_name,e是表EMPLOYEES的别名。例5:从
21、表EMPLOYEES和DEPARTMENTS中查询出每个员工所在部门的名称,以部分编号department_id作为两个表之间关联字段SQL>SELECTe.employee_id雇员编号,2d.department_name所在部门3FROMemployeese,departmentsd4WHEREe.department_id=d.department_id;7/21/20219例6:从多表中查询出所有姓SMITH的雇员的名字、所在部门的名称及部门所在的城市。SQL>SELECTe.first_name,
22、e.last_name,2d.department_name,l.city3FROMemployeese,departmentsd,locationsl4WHEREe.department_id=d.department_id5ANDd.location_id=l.location_id6ANDlast_name='Smith';2.多表查询7/21/2021103.分组统计查询所谓分组是指ORAC