union (並集 ,去除重複行)查詢工資大於8000或職位是程式設計師的雇員的姓名、工資、職位id --37
select first_name,salary,job_id from copy_emp where salary>4000 --37
union
select first_name,salary,job_id from copy_emp where job_id='it_prog'; --5
--union all(a+b,不會去除重複的行) --42select first_name,salary,job_id from copy_emp where salary>4000 --37
union all
select first_name,salary,job_id from copy_emp where job_id='it_prog'; --5
--intersect 取查詢結果交集c --5--查詢工資大於8000且職位是程式設計師的雇員的姓名、工資、職位id
select first_name,salary,job_id from copy_emp where salary>4000 --37
intersect
select first_name,salary,job_id from copy_emp where job_id='it_prog';--5
--minus(a-b) 的用法 : 顯示在a 中存在, 而在b 中不存在 --321. 自連線 : 自己表內連線,比如員工表中員工id和上級的員工id.
--自連線的練習使用
--名字,salary,部門編碼,部門的名稱,工資等級,上級名稱
select
worker.first_name,worker.salary,worker.department_id,department_name,grade,leader.first_name
from copy_emp worker,copy_emp leader,salgrade,copy_dept dept
where worker.manager_id=leader.employee_id
and worker.salary between losal and hisal
and worker.department_id = dept.department_id;
2. 等值連線 :
3. 非等值連線 :
--查詢員工工資和等級(非等值連線 )
select first_name || ',' || last_name as "姓名",employee_id,salary,grade
from copy_emp ce,salgrade2 sg
where ce.salary between losal and hisal;
4. 內連線 :
--檢視部門內雇員編號、姓名、所在部門編號以及部門的名稱
select employee_id,first_name,emp.department_id,department_name
from copy_emp emp inner join copy_dept dept
on emp.department_id=dept.department_id;
5. 外連線 :
--左外連線(左邊的表做了主表與右側的表關聯,右外連線相反)
--檢視所有部門 (包含沒有員工的部門 ) 的雇員編號、姓名、所在部門編號以及部門名稱
select employee_id,first_name,emp.department_id,department_name
from copy_emp emp
left join copy_dept dept
on emp.department_id=dept.department_id;
--多條件左外連線 名字,salary,部門編碼,部門的名稱,工資等級,上級名稱
select worker.first_name,worker.salary,worker.department_id,department_name,grade,leader.first_name
from copy_emp worker
left join copy_emp leader
on worker.manager_id=leader.employee_id
left join copy_dept dept
on worker.department_id=dept.department_id
left join salgrade
on worker.salary between losal and hisal;
--用 (+) 代替左外連線或右外連線,位置相反
select first_name,emp.employee_id
from copy_emp emp,copy_dept dept
where emp.department_id=dept.department_id(+)
6. 全連線 :
--查詢工資前三的員工資訊
select rownum,a.* from (select rownum,emp.* from copy_emp emp) a
where rownum <=3 order by salary nulls last;
--工資6-10 的員工資訊
select rownum,a.* from (select rownum,emp.* from copy_emp emp) a
where rownum <=10
minus
select rownum,a.* from (select rownum,emp.* from copy_emp emp) a
where rownum <=6
--1.查詢沒有員工的部門資訊
select * from copy_dept where department_id not in(select department_id from copy_emp
where department_id is not null group by department_id)
--2.查詢沒有部門的員工資訊
select * from copy_emp where department_id is null;
--思特奇 查詢出只有主功夫 沒有次功夫的員工資訊( 資訊包含 員工名字,部門名稱,功夫描述,個人資產 )
select * from dept_info;
select * from kf_info;
select * from user_info;
select * from user_kongfu;
select ukf.user_id,uinfo.name,dinfo.dept_name,kinfo.kf_name,uinfo.user_asset,ukf.main_kf_flag
from user_kongfu ukf,user_info uinfo,dept_info dinfo,kf_info kinfo
where uinfo.user_id=ukf.user_id
and dinfo.dept_no=uinfo.dept_id
and kinfo.kf_id = ukf.kf_id
and ukf.user_id not in(select user_id from user_kongfu where main_kf_flag=0 group by user_id)
C 學習筆記 day05
1 變數的儲存 1 記憶體是一塊空間,把其中的每個位元組做了編號,為了以後計算機能通過編號找到資料 2 編址方式 絕對編址 在整個程式中使用 相對編址 位元組相對於邏輯0偏移量,在程序中使用 4 儲存位址 指標 儲存變數的位址 指標的型別由將要儲存的位址的變數型別決定 int 只能儲存int變數的位...
Python學習筆記day05
高階函式 課後練習 不可變的資料型別一定可雜湊 hash 內建函式可以判斷某個型別是否可雜湊 s1 s2 s3 s4 print s1,s2,s3的交集 s1.intersection s2,s3 print s1,s2,s3的交集 s1 s2 s3 print s1,s2,s3的並集 s1.uni...
機器學習 day05 三
1.相關匯入 模組的匯入 匯入決策樹 from sklearn.tree import decisiontreeclassifier 匯入資料集 from sklearn import datasets 匯入 分割訓練集和分割測試集 網格搜尋 from sklearn.model selection...