mysql面試題目

2021-10-10 11:39:32 字數 1685 閱讀 3198

查詢各個部門當前(dept_manager.to_date='9999-01-01')領導當前(salaries.to_date='9999-01-01')薪水詳情以及其對應部門編號dept_no

(注:輸出結果以salaries.emp_no公升序排序,並且請注意輸出結果裡面dept_no列是最後一列)

create table `salaries` (

`emp_no` int(11) not null, -- '員工編號',

`salary` int(11) not null,

`from_date` date not null,

`to_date` date not null,

primary key (`emp_no`,`from_date`));

create table `dept_manager` (

`dept_no` char(4) not null, -- '部門編號'

`emp_no` int(11) not null, --  '員工編號'

`to_date` date not null,

primary key (`emp_no`,`dept_no`));

select s.*,d.dept_no

from salaries as s , dept_manager as d

on s.emp_no=d.emp_no

where s.to_date='9999-01-01' and d.to_date='9999-01-01'

查詢所有員工入職時候的薪水情況,給出emp_no以及salary, 並按照emp_no進行逆序(請注意,乙個員工可能有多次漲薪的情況)

create table `employees` (

`emp_no` int(11) not null,

`birth_date` date not null,

`first_name` varchar(14) not null,

`last_name` varchar(16) not null,

`gender` char(1) not null,

`hire_date` date not null,

primary key (`emp_no`));

create table `salaries` (

`emp_no` int(11) not null,

`salary` int(11) not null,

`from_date` date not null,

`to_date` date not null,

primary key (`emp_no`,`from_date`));

select e.emp_no,s.salary from employees e left join salaries s where e.emp_no=s.emp_no and e.hire_date = s.from_date order by e.emp_no desc
這裡順便講一下left join 後面跟where和跟on的區別

1、 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。

2、where條件是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。

C 面試題目

1 ispostback正確的是 首次載入頁面的ispostback的值為false 重新整理頁面後的ispostback的值為true 第三個選項忘了 2 頁面傳值的幾種方式 request.querystring session server.transfer 3 什麼是瀏覽器的 無狀態 如何解...

面試題目總結

1.char p和char p的區別。1 char getstring void void main 2 char getstring void void main 為什麼 1 輸出的是亂碼,2 能夠輸出 hello world?hello world 作為靜態字串實際上儲存在文字常量區 參見 棧和...

c 面試題目

摘要 12個c語言面試題,涉及指標 程序 運算 結構體 函式 記憶體,看看你能做出幾個!1.gets 函式 問 請找出下面 裡的問題 include int main void 答 上面 裡的問題在於函式 gets 的使用,這個函式從 stdin 接收乙個字串而不檢查它所複製的快取的容積,這可能會導...