1樓:匿名使用者
這問題問得簡直是不知所云。
select deptno ,empno ,count(empno)from emp
group by detpno ;
這個語句肯定是會報錯的,沒有使用函式的都要放在group by後面select deptno ,empno ,count(empno)from emp
group by detpno,empno
2樓:匿名使用者
如果你非要這樣顯示結果的話,那你可以
select aa.deptno ,aa.empno ,(select count(*) from emp bb where bb.
deptno=aa.deptno) as emp_num
from emp aa
或者你還可以採用count+over 函式一起使用count(empno) over (partition by deptno )
oracle自帶表emp的查詢裡每個部門最高薪水的員工的資訊,如下
3樓:匿名使用者
為什麼題主要有意避免使用別名呢?
oracle的別名有些可以使用表名代替,有些必須要使用別名,題主有些過於較真了。
題主可以換乙個寫法,效率比這個好些:
select *
from (select ename,
sal,
max(sal) over(partition by deptno) max_sal,
empno,
deptno
from emp)
where sal = max_sal
oracle題:建立乙個函式,以員工號為引數,返回該員工所在部門的平均工資。 15
oracle中cascade是什麼意思?
4樓:匿名使用者
例如下面這兩個表中分別存的時員工的基本資訊和公司的部門資訊。我們為
create table dept
(deptno number(10) not null,
deptname varchar2(30) not null,
constraint pk_dept primary key(deptno));
和create table emp
( empno number(10) not null,
fname varchar2(20) ,
lname varchar2(20) ,
dept number(10) ,
constraint pk_emp primary key(empno));
然後我們現在增加外來鍵試一下on delete cascade
alter table emp
add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete cascade;
先增加外來鍵。然後插入資料。
insert into dept values(1,』銷售部』);
insert into dept values(2,』財務部』);
insert into emp values (2,』mary』,'song』,1);
insert into emp values (3,』linda』,'liu』,2);
insert into emp values (4,』linlin』,'zhang』,1);
然後現在我要刪除銷售部,會有什麼後果呢?
delete from dept where deptno = 1;
我們發現除了dept中的一條資料被刪除了,emp中兩條資料也被刪除了,其中emp中的兩條資料是參照了銷售部的這條資料的,這就很容易理解on delete cascade了。
oracle求和問題,不要分組條件,只要求和
select sum sum a sum a sum sum b sum b from table 就是求sum a 列的和,然後取別名還是sum a 同理sum b 就這樣就行了,感覺你題目好像搞複雜了 改為下面這樣 id a b 1 3 55 2 55 62 需要結果如下 sum a sum b...
直接查出Oracle資料庫的大小,查出所有表空間後再求和,謝
檢視所有表空間使用情況 select b.file id 檔案id號,b.tablespace name 表空間名,b.bytes 1024 1024 m 位元組數,b.bytes sum nvl a.bytes,0 1024 1024 m 已使用,sum nvl a.bytes,0 1024 10...
請問一下的oracle字元函式lpad怎麼解釋
將左邊的字串填充一些特定的字元 其語法格式如下 lpad string1,padded length,pad string 其中string1是需要貼上字元的字串 padded length是返回的字串的數量,如果這個數量比原字串的長度要短,lpad函式將會把字串擷取成padded length p...