不定项选择题,共6题,全部答对20分,答对部分10分,选错、选多0分;满分120分。
假设表products有一个字段price表示产品的价格,以下哪个查询能正确地找到价格范围在10到50之间(包含边界)的产品?
products
price
SELECT * FROM products WHERE price IN (10, 50)
SELECT * FROM products WHERE price >= 10 AND price <= 50
SELECT * FROM products WHERE price BETWEEN 10 AND 50
SELECT * FROM products WHERE price > 10 AND price < 50
关于SQL中LEFT()、SUBSTR()(或SUBSTRING()),和RIGHT()函数,下列陈述哪些是正确的?
LEFT()
SUBSTR()
SUBSTRING()
RIGHT()
RIGHT()函数用于从字符串的右边开始提取指定数量的字符。
SUBSTR()函数只能从字符串的中间部分提取子串,不能从字符串的开头或结尾提取。
SUBSTR()可以接受三个参数:字符串、起始位置和长度;而LEFT()和RIGHT()只接受两个参数:字符串和长度。
LEFT()函数用于从字符串的左边开始提取指定数量的字符。
对于同一张表,select count() from table,找出以下所有可能成立的不等式。
count(1) > count(distinct column1)
count(distinct column1) > count(1)
count(1) > count(*)
count(1) > count(column1)
关于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
ROW_NUMBER() 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)
RANK() OVER (PARTITION BY employee_id, MONTH(sale_date) ORDER BY sale_amount DESC)
关于留存率的计算,以下说法正确的是
计算留存率需要用到“/”
留存率不可能大于100%
计算留存率需要用到mod函数
留存率不可能等于0