不定项选择题,共6题,全部答对20分,答对部分10分,选错、选多0分;满分120分。
下列哪一对查询语句将返回完全相同的结果集?
SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-01' AND '2020-12-31' VS SELECT * FROM employees WHERE hire_date >= '2020-01-01' OR hire_date <= '2020-12-31'
SELECT * FROM employees WHERE hire_date BETWEEN '2020-01-01' AND '2020-12-31'
SELECT * FROM employees WHERE hire_date >= '2020-01-01' OR hire_date <= '2020-12-31'
SELECT * FROM employees WHERE NOT (department = 'HR' OR department = 'Finance') VS SELECT * FROM employees WHERE department != 'HR' AND department != 'Finance'
SELECT * FROM employees WHERE NOT (department = 'HR' OR department = 'Finance')
SELECT * FROM employees WHERE department != 'HR' AND department != 'Finance'
SELECT * FROM employees WHERE department = 'Sales' AND salary > 50000 VS SELECT * FROM employees WHERE salary > 50000 AND department = 'Sales'
SELECT * FROM employees WHERE department = 'Sales' AND salary > 50000
SELECT * FROM employees WHERE salary > 50000 AND department = 'Sales'
SELECT * FROM employees WHERE manager_id IS NULL VS SELECT * FROM employees WHERE manager_id = NULL
SELECT * FROM employees WHERE manager_id IS NULL
SELECT * FROM employees WHERE manager_id = NULL
以下关于DATE_ADD函数的说法错误的是?
DATE_ADD
DATE_ADD('2023-02-28', INTERVAL 1 YEAR) 返回 2024-02-29
DATE_ADD('2023-02-28', INTERVAL 1 YEAR)
2024-02-29
DATE_ADD('2023-05-15 10:00:00', INTERVAL 3 HOUR) 返回 2023-05-15 13:00:00
DATE_ADD('2023-05-15 10:00:00', INTERVAL 3 HOUR)
2023-05-15 13:00:00
DATE_ADD('2023-01-31', INTERVAL 1 MONTH) 返回 2023-02-28
DATE_ADD('2023-01-31', INTERVAL 1 MONTH)
2023-02-28
DATE_ADD('2023-12-31', INTERVAL 1 DAY) 返回 2024-01-01
DATE_ADD('2023-12-31', INTERVAL 1 DAY)
2024-01-01
以下说法正确的是:
HAVING子句可用于筛选分组后的数据,即使没有使用聚合函数也可以使用它
HAVING
CASE WHEN必须以END结尾
HAVING子句中可以使用别名作为条件
CASE WHEN中必须包含ELSE来处理其他情况
关于SQL中的LEFT JOIN操作,下列陈述哪些是正确的?
LEFT JOIN
如果左表的某一行在右表中没有匹配项,那么该行的结果将包括左表的所有列以及右表对应位置上的NULL值。
LEFT JOIN只返回两个表中完全匹配的记录。
在使用LEFT JOIN时,可以确保左表中的每一行都至少出现在一次结果集中,即便它在右表中没有对应的匹配行。
LEFT JOIN会移除左表中那些在右表找不到匹配项的行。
考虑有一个名为sales的表,包含字段employee_id, sale_amount, sale_date。为了找出每个员工每个月销售额最高的记录,并且需要确保即使有多个相同最高销售额的记录也能被选中,应该使用下列哪个窗口函数?
sales
employee_id
sale_amount
sale_date
RANK() OVER (PARTITION BY employee_id, MONTH(sale_date) ORDER BY sale_amount DESC)
DENSE_RANK() OVER (PARTITION BY MONTH(sale_date) ORDER BY sale_amount DESC)
DENSE_RANK() OVER (PARTITION BY employee_id, MONTH(sale_date) ORDER BY sale_amount DESC)
ROW_NUMBER() OVER (PARTITION BY employee_id, MONTH(sale_date) ORDER BY sale_amount DESC)
关于留存率的计算,以下说法正确的是
计算留存率需要用到“/”
留存率不可能大于100%
计算留存率需要用到mod函数
留存率不可能等于0