欄位名稱
資料型別
是否主鍵
注釋dept_id
number
y部門id
parent_department_id
number
n上級部門
department_name
varchar2(50)
n部門名稱
欄位名稱
資料型別
是否主鍵
注釋id
numbery主鍵
dept_id
number
n部門id
user_id
number
n使用者id
欄位名稱
資料型別
是否主鍵
注釋user_id
number
y使用者id
user_name
varchar2(50)
n使用者名稱
logon_name
varchar2(50)
n登入名
is_sales
varchar2(1)
n是否為業務員
欄位名稱
資料型別
是否主鍵
注釋customer_id
number
y客戶id
customer_name
varchar2(50)
n客戶姓名
city
varchar2(50)
n所屬城市
state
varchar2(25)
n所屬州
zip_code
varchar2(10)
ncontact_name
varchar2(50)
n聯絡人
address
varchar2(50)
n聯絡位址
type
varchar2(50)
n客戶型別
comments
varchar2(100)n備註
欄位名稱
資料型別
是否主鍵
注釋pi_id
number
y訂單id
pi_no
varchar2(50)
n訂單號
creation_date
date
n建立日期
customer_id
number
n關聯客戶表的客戶id
operator_id
number
n關聯使用者表的使用者id
currency_code
varchar2(50)
n訂單幣種
exchahge_rate
numbern匯率
欄位名稱
資料型別
是否主鍵
注釋pi_id
number
n訂單id
pi_lines_id
varchar2(50)
y訂單行id
product_code
number
n產品編碼
quantity
number
n產品數量
price
number
n產品單價
1.編寫sql語句,查詢pim_headers表,符合日期在2011-03-01和2011-03-25之間的pi訂單,顯示訂單號,建立日誌,訂單客戶名稱,訂單業務員名稱
select
t1.pi_no
,t1.creation_date
,t2.custom_name
,t3.user_name
from (select
* from pim_headers
where creation_date between
to_date('2011-03-01','yyyy-mm-dd')
andto_date('2011-03-25','yyyy-mm-dd')
) t1
left join ctm_customers t2
on t1.customer_id = t2.customer_id
left join sm_user t3
on t1.operator_id = t3.user_id
2.編寫sql語句,查詢所有部門名稱及其給部門的業務員的個數,部門在2011-01-01到2011-03-01之間建立的pi訂單數
select t1._department_name,count(t2.user_name),count(t3.pi_no)
from sm_dept t1
left join sm_user_dept t2
on t1.dept_id = t2.dept_id
left join (select
* from pim_headers
where creation_date between
to_date('2011-01-01','yyyy-mm-dd')
andto_date('2011-03-01','yyyy-mm-dd')
) t3
on t2.user_id = t3.operator_id
group by t1.dept_id
3.編寫sql語句,查詢所有客戶及其相關pi訂單號,pi建立日期,pi訂單相關業務員姓名及其業務所屬部門名稱
select
t1.*
,t2.pi_no
,t2.creation_date
,t3.user_name
,t5.department_name
from sm_customers t1
left join pim_headers t2
on t1.custoer_id = t2.customer_id
left join sm_user t3
on t2.operator_id = t3.user_id
left join sm_user_dept t4
on t3.user_id = t4.user_id
left join sm_dept t5
on t4.dept_id = t5.dept_id
4.編寫sql語句,更新沒有下過pi訂單的客戶名稱的備註為「從未發生業務往來」
update ctm_customers t1 set comments = '從未反生業務往來'
where not exists (
select pi_no from pim_headers t2
where t2.customer_id = t1.customer_id
) ;commit;
5.編寫sql語句,查詢所有客戶名稱及其所屬城市,並按照城市名稱降序,使用者名稱公升序排序
select custom_name,city
from ctm_customers
order by city desc,customer_name asc
6.編寫sql語句,查詢出所有的客戶的pi訂單的下單金額,顯示客戶名稱,訂單幣種,訂單總數量及訂單總額
select
t2.customer_name
,t1.currency_code
,t3.total
,t4.total_money
from pim_headers t1
left join ctm_customers t2
on t1.customer_id = t2.customer_id
left join (
select pi_id,sum(quantity) total,sum(quantity*price) total_money
from pim_lines
group by pi_id
) t3
on t1.pi_id = t3.pi_id;
7.編寫函式,函式需傳入部門id,返回結果部門對應所有業務員姓名連線起來,中間用逗號隔開
create or replace function getuserbydeptid
( dept_id number) return varchar2
is res varchar2(200);
cursor mycursor(did number) is
select t2.customer_name
from (select *
from sm_user_dept
where dept_id = did
) t1
left join sm_user t2
on t1.user_id = t2.user_id ;
begin
for c_row in mycursor(dept_id) loop
res := res ||','|| c_row
end loop;
return res;
end;
最新綠盟筆試試題
雖然考試試題絕大部分是一些基礎試題,但是明顯可以看得出來,如果沒有深厚的功底,是答不好的。我報的是研發。by rainfish 言歸正傳 第一題 描述tcp的三次握手,寫出syn ack的關係。第二題 描述tcp udp的區別及優劣。描述p2p機制,及其發展前景。第四題 樹的深度優先遍歷。第五題 有...
用友 SQL筆試題
兩道sql筆試題 一 表test 中,找出資料夾下有檔案的資料夾 mnt t期望結果 music pic sql語句 select a.path from select from test where isfolder t a join select from test where isfolder...
刷刷筆試題 sql
1.資料庫中有學院表和成績表 學院表t school結構如下 學院id school id,學院名稱 school name 成績表t score結構如下 學號 id.姓名 name,分數 score,學院id school id 請用sql語句查詢出學院名稱為 計算機系 的分數最高的前20位的學生...