1. 程式人生 > 其它 >經典sql面試題及答案第1期

經典sql面試題及答案第1期

題目:

  1. 編寫查詢,查詢表中的行總數。

  2. 編寫查詢,消除表結果中的重複記錄。

  3. 編寫查詢,獲取t_employee表中designation欄位前3個字元。

  4. 查詢t_employee表,合併輸出Designation和Department兩個欄位的內容。

  5. 如果使用union和union all合併4條SQL子查詢,union會有多少次被用來去除重複行?

  6. IN和BETWEEN之間的區別是什麼,在WHERE子句中如何使用?

  7. 解釋“LIKE”關鍵字在WHERE子句中如何使用?SQL有哪些萬用字元?

  8. 怎樣使用“LIKE”語句?

  9. 解釋 GROUP BY 和 HAVING 子句的用法。

  10. 在t_employee表中,department欄位可為空。編寫查詢,獲取尚未分配部門的員工。

答案:

  1. select count(*) from tblsample;

  2. Select distinct * from tblSample;

  3. Select substr(designation,1,3) from t_employee;

  4. Select Designation + ‘ ‘ + Department from t_employee;

  5. 1次。

  6. BETWEEN子句是用來獲取一個範圍值,而IN子句是從指定值列表中獲取對應資料。

  7. LIKE是用於部分字串的匹配。SQL有兩個萬用字元,“%”(匹配字串的任何字元)和“_”(匹配任意單個字元)。

  8. 在區域性搜尋中使用。例如,你需要找到lastname包含“gat”字母的所有員工,那麼你可以使用下面的查詢、匹配搜尋條件:

    Select empid, firstname, lastname from t_employee where lastname like ‘%gat%’;

    這可能會搜尋到lastname包含字元“gat”的所有僱員,像Gates、Gatsby、Gatsburg、Sogatsky...

    "%"用於表示名稱中剩餘的所有字元。這個查詢獲取在字串中包含“gat”的所有記錄。

  9. 利用group by子句分組資料,當select語句中使用到組函式和欄位一起連用時會用到group by,否則會出現錯誤。Group by 把select查詢的結果集分成幾個小組,這個group by子句可以跟在where後面且在having前面。Group by子句也會觸發排序操作,會按分組欄位排序。 b

  10. Select empid, firstname, lastname from t_employee where department is null;