--1.sql練習:查詢emp表各個部門的總工資
select deptno,sum(sal) from emp group by deptno;
--2.sql練習:找到emp表中部門總工資最高的那個部門
select *
from (select deptno,
sum(sal) sum_sal
from emp
group by deptno
order by sum_sal desc)
where rownum = 1;
--3.sql練習:找到emp表中部門總工資最高的那個部門中工資最低的員工的所有資訊
select *
from (select *
from emp
where deptno = (select deptno
from (select deptno,sum(sal) sum_sal
from emp
group by deptno
order by sum_sal desc)
where rownum = 1)
order by sal asc)
where rownum = 1;
--4.匿名塊練習: 按部門分段(大於2500、(1400,2500)、1400元以下)
--統計各工資段的職工人數、以及各部門的工資總額(工資總額不包括獎金)
declare
--lv_count_1 number; -->2500
lv_count_2 number; -->1400 <2500
lv_count_3 number; --<1400
lv_sumsal number;
--cursor cur_dept_num
isselect deptno from emp group by deptno order by deptno;
--cursor cur_emp_sal(dno in number)
isselect sal from emp where deptno = dno;
--begin
--dbms_output.put_line(rpad('部門',10) || rpad('<1400',10) || rpad('1400< <2500',15) || rpad('>2500',10) || '総給料');
for lv_deptno in cur_dept_num loop
lv_count_1 := 0;
lv_count_2 := 0;
lv_count_3 := 0;
select sum(sal) into lv_sumsal from emp where deptno = lv_deptno.deptno;
for lv_sal in cur_emp_sal(lv_deptno.deptno) loop
if lv_sal.sal > 2500 then
lv_count_1 := lv_count_1 + 1;
elsif lv_sal.sal between 1400 and 2500 then
lv_count_2 := lv_count_2 + 1;
else
lv_count_3 := lv_count_3 + 1;
end if;
end loop;
dbms_output.put_line(rpad(lv_deptno.deptno,10) || rpad(lv_count_3,10) || rpad(lv_count_2,15) || rpad(lv_count_1,10) || lv_sumsal);
end loop;
--exception
when others then
dbms_output.put_line('err:' || sqlerrm);
--end;
--5.匿名塊練習:已知all_tables記錄資料庫中所有表的資訊
declare
--lv_data_count number;
lv_sql varchar2(2000);
--cursor cur_table_info
isselect owner,table_name,tablespace_name from all_tables where table_name like 'cux%';
--begin
dbms_output.put_line(rpad('data_count',20,'-') || rpad('owner',10,'-') || rpad('table_name',30,'-') || 'tablespace');
for rec_table_info in cur_table_info loop
begin
lv_sql := 'select count(1) from ' || rec_table_info.table_name;
execute immediate lv_sql into lv_data_count;
dbms_output.put_line(rpad(lv_data_count,20) || rpad(rec_table_info.owner,10) || rpad(rec_table_info.table_name,30) || rec_table_info.tablespace_name);
exception
when others then
dbms_output.put_line(rec_table_info.table_name || ' is not exist');
end;
end loop;
exception
when others then
dbms_output.put_line('err:' || sqlerrm);
end;
python練習題目
三色球問題 有紅 黃 藍三種顏色的求,其中紅球 3 個,黃球 3 個,綠球 6 個。先將這 12 個球混合放在乙個盒子中,從中任意摸出 8 個球,程式設計計算摸出球的各種顏色搭配。print red tyellow tblue for red inrange 0,4 for yellow in ra...
Hive練習題目
hive 基本操作 1 資料自己造 a表 id int,name string b表 id int,job id int,num int c表 job id int,job string 建表語句 載入資料 a表和b表進行鏈結操作,並觀察結果 內連線 左連線 left join 小表在前,大表在後 ...
練習題目2
1 將陣列a中的內容和陣列b中的內容進行交換 陣列一樣大 思路 新建乙個陣列作為中間陣列進行交換.如下 2 計算1 1 1 2 1 3 1 4 1 5 1 99 1 100的值.思路 通過每一輪迴圈給分子乘以 1來控制加數的正負號,計算出和.如下 3 編寫程式數一下1到199的所有整數 現過多少次數...