練習(xí)SQL利器,??途W(wǎng)SQL實(shí)戰(zhàn)題庫,57~61題

57.使用含有關(guān)鍵字exists查找未分配具體部門的員工的所有信息

SELECT *
FROM employees
WHERE NOT EXISTS(SELECT emp_no
                FROM dept_emp
                WHERE emp_no = employees.emp_no)

58.獲取employees中的行數(shù)據(jù),且這些行也存在于emp_v中

SELECT em.*
FROM employees AS em, emp_v AS ev
WHERE em.emp_no = ev.emp_no

59.獲取有獎金的員工相關(guān)信息

SELECT em.emp_no, em.first_name, em.last_name, eb.btype, sal.salary, 
(CASE eb.btype 
 WHEN 1 THEN sal.salary * 0.1
 WHEN 2 THEN sal.salary * 0.2
 ELSE sal.salary * 0.3 END) AS bonus
FROM employees AS em INNER JOIN emp_bonus AS eb
ON em.emp_no = eb.emp_no
INNER JOIN salaries AS sal
ON em.emp_no = sal.emp_no
AND sal.to_date = '9999-01-01'

注:最好自己做一個連接圖表示表與表之間的聯(lián)系,這道題很明顯沒用到dept_emp表。

60.統(tǒng)計(jì)salary的累計(jì)和running_total

SELECT s1.emp_no, s1.salary, 
(SELECT SUM(s2.salary)
FROM salaries AS s2 
WHERE s2.emp_no <= s1.emp_no
AND s2.to_date = '9999-01-01') AS running_total
FROM salaries AS s1
WHERE s1.to_date = '9999-01-01'
ORDER BY s1.emp_no;

61.對于employees表中,給出奇數(shù)行first_name

SELECT first_name FROM ( 
    SELECT e2.first_name,
    (SELECT COUNT(*) 
     FROM employees e1
     WHERE e1.first_name <= e2.first_name ) AS rownum 
    FROM employees e2 
    WHERE rownum % 2 =1 
);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 不愿意在看那些虛幻的東西 讓自己沉浸到不真實(shí)之中 虛幻 夢境 迷幻 讓人沉淪的越來越深 我只想逃離那虛偽的世界 依...
    鬼暗閱讀 142評論 6 4
  • 歡迎收看《反式雞湯 Rubber Soul Soup》第035期。下面給大家介紹一下三位卡司: 你好,我是為了原創(chuàng)...
    網(wǎng)易王三三閱讀 464評論 0 1
  • 你的職業(yè)生涯規(guī)劃經(jīng)歷中最大一次挫折是怎樣的?是剛剛上完課拿身邊的朋友練手么?那個時候不管三七二十一把各種工具一起拽...
    白大炮閱讀 491評論 0 1
  • 準(zhǔn)備了解一下JVM,就在這里記錄一下下
    snotJam閱讀 305評論 0 0

友情鏈接更多精彩內(nèi)容