題目:
查詢所有員工的last_name和first_name以及對應的dept_name,也包括暫時沒有分配部門的員工
create table departments (
dept_no char(4) not null,
dept_name varchar(40) not null,
primary key (dept_no));
create table dept_emp (
emp_no int(11) not null,
dept_no char(4) not null,
from_date date not null,
to_date date not null,
primary key (emp_no,dept_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));
解析:
運用兩次left join連線巢狀
1、第一次left join連線employees表與dept_emp表,得到所有員工的last_name和first_name以及對應的dept_no,也包括暫時沒有分配部門的員工
2、第二次left join連線上表與departments表,即連線dept_no與dept_name,得到所有員工的last_name和first_name以及對應的dept_name,也包括暫時沒有分配部門的員工
結果:
select e.last_name, e.first_name, dp.dept_name from employees as e
left join dept_emp as d on e.emp_no = d.emp_no
left join departments as dp on d.dept_no = dp.dept_no;
對陣列兩次foreach的使用陷阱
對陣列兩次foreach的使用陷阱 對同乙個陣列兩次foreach備註 這個問題是做小論壇的時候碰見的 如果單純的對乙個陣列兩次foreach是沒什麼問題的 輸出 如果在第一次foreach的時候,加了引用呢?輸出 第二次的結果是 a b b,並不是陣列的值 也就是說這種情況下,foreach迴圈最...
js邏輯非同時兩次使用 null
同時使用兩個邏輯非操作符,實際上就會模擬boolean 轉型函式的行為。其中,第乙個邏輯非操作符會基於無論什麼運算元返回乙個布林值,而第二個邏輯非操作則對該布林值求反,於是就得到了這個值真正對應的布林值。當然最終結果與對這個值使用boolean 函式效果相同。所以其實個人認為,寫法就是boolean...
連續使用兩次fread 錯誤和fread返回值
今天在寫乙個 要把一幀的buffer讀入到檔案,因為有neon和opencl兩種不同的實現所以需要讀取檔案兩次,如下 1 file file 2int i 0 3 inter block size gpu rs block size 4 file fopen name,rb 5if file nul...