今天繼續刷題!
獲取所有員工當前的manager
獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to_date=『9999-01-01』。
結果第一列給出當前員工的emp_no,第二列給出其manager對應的manager_no。
create
table
`dept_emp`
(`emp_no`
int(11)
notnull
,`dept_no`
char(4
)not
null
,`from_date`
date
notnull
,`to_date`
date
notnull
,primary
key(
`emp_no`
,`dept_no`))
;create
table
`dept_manager`
(`dept_no`
char(4
)not
null
,`emp_no`
int(11)
notnull
,`from_date`
date
notnull
,`to_date`
date
notnull
,primary
key(
`emp_no`
,`dept_no`))
;
首先要理解這兩張表,第一張表dept_emp是儲存員工的資訊,emp_no是指員工編號,dept_no是指部門編號;第二張表dept_manager是儲存經理的資訊,dept_no是指部門編號,emp_no是指經理的編號。
其次來分析過濾條件,輸出結果是兩列且為一一對應,這其中一定需要內聯結,聯結條件即為員工所在部門和經理所在部門必須一致,即de.dept_no = dm.dept_no.再用where來限制輸出,即日期,這裡注意兩個表中的日期都需要限定,即de.to_date = 『9999-01-01』 and dm.to_date =『9999-01-01』.
還有最後乙個條件「如果當前的manager是自己的話結果不顯示」,即de.emp_no <> dm.emp_no
輸入如下:
select de.emp_no, dm.emp_no as manager_no
from dept_emp as de
inner
join dept_manager as dm
on de.dept_no = dm.dept_no
where dm.to_date =
'9999-01-01'
and de.to_date =
'9999-01-01'
and de.emp_no <> dm.emp_no
獲取所有部門中當前員工薪水最高的相關資訊
獲取所有部門中當前員工薪水最高的相關資訊,給出dept_no, emp_no以及其對應的salary
create
table
`dept_emp`
(`emp_no`
int(11)
notnull
,`dept_no`
char(4
)not
null
,`from_date`
date
notnull
,`to_date`
date
notnull
,primary
key(
`emp_no`
,`dept_no`))
;create
table
`salaries`
(`emp_no`
int(11)
notnull
,`salary`
int(11)
notnull
,`from_date`
date
notnull
,`to_date`
date
notnull
,primary
key(
`emp_no`
,`from_date`))
;
首先給出題解:
select d.dept_no, d.emp_no,
max(s.salary)
from dept_emp as d
inner
join salaries as s
on d.emp_no = s.emp_no
and d.to_date = s.to_date
where d.to_date =
'9999-01-01'
group
by d.dept_no
這道題對我來說的點在於過濾條件,即時間一致以及d.to_date = s.to_date。 牛客21天刷題 day 2
牛客contents 2.小易喜歡的單詞 題目圓的半徑平方為s,求座標系裡在這個圓周上面的整數座標點有幾個 輸入253 輸出12 0 思路和解答 math.sqrt 4 2.0 type math.sqrt 4 float math.sqrt 4 int math.sqrt 4 true 注意ran...
MySQL刷題 牛客網 Day4
直接來看題!對所有員工的薪水按照salary進行按照1 n的排名 對所有員工的當前 to date 9999 01 01 薪水按照salary進行按照1 n的排名,相同salary並列且按照emp no公升序排列 create table salaries emp no int 11 notnull...
牛客網刷題day3
1.傳輸介質是通訊網路中傳送方和接收方之間的 a 通路。a.物理 b.邏輯 c.虛擬 d.數字 2.廣域網覆蓋的地方範圍從幾十公里到幾千公里,它的通訊子網主要使用 b a.報文交換技術 b.分組交換技術 c.檔案交換技術 d.電路交換技術 解析 廣域網的通訊子網主要使用分組交換技術。廣域網是由許多交...