![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle表的查询
文章平均质量分 64
醉爱梁静茹
这个作者很懒,什么都没留下…
展开
-
Oracle单表的复杂查询
Oracle单表的复杂查询对数据分组的总结:1 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中) 2 如果在select语句中同时包含有group by, having, order by 那么它们的顺序是group by, having, order by 3 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错。 如SELECT deptno, AVG(sal), MAX(sal) FRO原创 2013-09-02 16:52:43 · 1792 阅读 · 0 评论 -
Oracle表的常用查询实验(六)
1.问题描述:为什么第一个SQL有数据,第二个SQL没有数据?SQL1:SELECT t.* FROM alx_material_types_intf_v t WHERE t.material_level = 3 AND t.material_type NOT IN (SELECT a.parent_type FROM alx_material_types_intf_v a);原创 2013-11-22 08:24:01 · 1889 阅读 · 1 评论 -
行转列通用存储过程
行转列通用存储过程1.创建行转列通用存储过程SQL代码:create or replace procedure row_to_col(tabname in varchar2, group_col in varchar2,原创 2013-12-16 15:01:33 · 3403 阅读 · 0 评论 -
Oracle用户登录信息的统计
Oracle用户登录信息的统计1.创建存储Oracle用户登录信息的表:create table stats$user_log( user_id VARCHAR2(30), session_id NUMBER(10), host_name VARCHAR2(30), last_module VARCHAR2(30)原创 2013-12-04 15:58:52 · 1799 阅读 · 0 评论 -
Oracle表的常用查询实验(八)
Oracle表的常用查询实验(八)1.问题描述:有一store_fee表,表中有四个字段(会员卡编号、办卡店编号、消费情况、消费店编号)现要统计各店的办卡总计和消费总计2.需求分析:在A店办卡的会员,可能会在其他店里进行消费3.解答过程:(1)求各店的办卡统计情况(2)求各店的消费统计情况(3)将以上2个结果集联合起来4.SQL代码:原创 2013-11-30 10:39:48 · 1880 阅读 · 1 评论 -
Oracle表的常用查询实验(七)
Oracle表的常用查询实验(七)1.问题描述:有一个商品信息表,该表反应了各种商品的销售情况,一个产品是按照gid和gname两个字段来区分的,一个产品可能会有多个型号。create table T_Goods(Id int primary key,GId varchar2(10) not null,GName varchar2(20) not null,GColour varchar2(10),GWithin int,GSize原创 2013-11-28 10:35:44 · 1842 阅读 · 2 评论 -
建立外键时,主表、从表难以确定?
建立外键时,主表、从表难以确定?案例描述: 现有3张表:A群体用户表B个人用户表C用户订单表3张表中都有userid字段,A表和B表保存的是用户信息(用户类别不同),C表中保存的是业务信息。A表和B表的userid不会重复,C表中的userid取自A表或B表。3个表中的数据量都很大。怎样为这3张表建立合适的外键关联? 思路一:C表为父表,A表和B表做子表:原创 2013-10-27 11:34:10 · 2339 阅读 · 0 评论 -
Oracle表的常用查询实验(四)
Oracle表的常用查询实验(四)1.找出emp表中的ename第三个字母是A的员工信息select * from emp where ename like'__A%';2.找出emp表中员工姓名中含有A和的员工姓名select ename from emp where ename like'%A%'and ename like'%N%';3.找出所有有佣金的员工,列出姓名、工资、佣金,显示结果按工资从小到大,佣金从大到小排序select sal+nvl(comm,0)as sc,en原创 2013-10-16 08:29:26 · 1536 阅读 · 0 评论 -
inner join、left join、right join中where和and的作用
inner join(等值连接) 只返回两个表中联结字段相等的行,where和and条件都对整体查询结果有影响。 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录,right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录,这里一并讨论:where条件可以对整体查询结果进行筛选,而and只会对连接的表进行筛选。原创 2013-09-12 15:07:03 · 3034 阅读 · 1 评论 -
Oracle表的常用查询实验(三)
Oracle表的常用查询实验(三)1.查询显示EMP表各雇员的工作类型,并翻译为中文显示(用decode函数)select empno,ename,decode(job,'clerk','职员','MANAGER','经理','ANALYST','工程师','其他') from my_emp;EMPNO ENAME DECODE(JOB,'CLERK','职员','MAN原创 2013-10-12 08:55:01 · 1906 阅读 · 0 评论 -
select中case when的使用
select 与 case结合使用最大的好处有两点,一是在显示查询结果时可以灵活的组织格式,二是有效避免了多次对同一个表或几个表的访问。例1:表 students(id, name ,birthday, sex, grade),要求按每个年级统计男生和女生的数量各是多少,统计结果的表头为,年级,男生数量,女生数量。如果不用select case when,为了将男女数量并列显示,统计起来非常麻烦,先确定年级信息,再根据年级取男生数和女生数,而且很容易出错。用select case when写法如下:S原创 2013-10-09 11:36:08 · 3228 阅读 · 0 评论 -
Oracle多表的复杂查询
Oracle多表的复杂查询一.分页查询:1. 根据rowid来分 select * from t_xiaoxi where rowid in (select rid from (select rownum rn, rid from(select rowid rid, cid from t_xiaoxi order by cid desc) where rownum原创 2013-09-03 15:13:49 · 1861 阅读 · 0 评论 -
Oracle多表的简单查询
Oracle多表的简单查询1、多表查询多表查询是指基于两个和两个以上的表或是视图的查询。问题:显示雇员名,雇员工资及所在部门的名字【笛卡尔集】?select t.ename,t.sal,t1.dnamefrom emp t,dept t1where t.deptno=t1.deptno;问题:显示部门号为10的部门名、员工名和工资?SELECT d.dname,原创 2013-09-03 11:19:40 · 2452 阅读 · 0 评论 -
Oracle表的常用查询实验(一)
Oracle表的常用查询实验(一)原创 2013-09-09 09:36:31 · 2142 阅读 · 0 评论 -
Oracle表的常用查询实验(二)
Oracle表的常用查询实验(二)原创 2013-09-09 10:31:27 · 3206 阅读 · 1 评论 -
Oracle单表的简单查询
Oracle表的查询详解------查找编号不同的部门编号(去重)selectdistinct deptno from emp;查找ename为SMITH的员工职位,工资,部门编号select job,sal,deptno from emp t where t.ename='SMITH';查找员工的年薪NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值SELEC原创 2013-09-02 11:35:13 · 1944 阅读 · 0 评论 -
Oracle表的常用查询实验(五)
1.问题描述:test表中有ID(人员编号),A(考核标准),B(实际得分),C(课程编号)四个字段,一个ID可能会有多个科目的评分,如果一个ID中存在A=B,则合格,求合格的人员编号。2.需求分析:3.解答过程:4. SQL代码:5.联想扩展:原创 2013-11-21 08:32:15 · 2172 阅读 · 0 评论