[SQL]数据分析SQL笔试题
SQL筆試題
1、請(qǐng)簡(jiǎn)單寫出left join和join的用法區(qū)別(可舉例說明);
join用于把來自兩個(gè)或多個(gè)表的行結(jié)合起來,基于這些表之間的共同字段;
left join 關(guān)鍵字從左表(table1)返回所有的行,即使右表(table2)中沒有匹配。如果右表中沒有匹配,則結(jié)果為NULL。
如下使用例子來說明:
2、求出訂單表(order_table表)中每個(gè)客戶(custid)的最近一次購買日期(要求:按custid降序排列,transdate顯示年月日格式);
?本題的考察點(diǎn)主要有max()、STR_TO_DATE()、GROUP BY、ORDER BY 和DESC函數(shù)
SELECT custid, MAX(STR_TO_DATE(a.order_date,'%Y-%m-%d')) order_date FROM order_table as a GROUP BY custid ORDER BY custid DESC;3、用一條SQL語句查出訂單表(product表)購買的每類產(chǎn)品付款都大于60元的客戶姓名;
此題的考察點(diǎn)有where 和 group by:如下的SQL語句可以查詢出每一類產(chǎn)品對(duì)應(yīng)付款都大于60元的客戶姓名:
SELECT product as 產(chǎn)品,name as 客戶 FROM order_product WHERE payment > 60 GROUP BY product,name ORDER BY product;4、請(qǐng)問‘SELECT 1/3’運(yùn)行后能否得到結(jié)果0.33,如不能請(qǐng)給出正確的代碼;
得到的結(jié)果是0.3333,正確的代碼應(yīng)該是
SELECT ROUND(1/3,2)5、根據(jù)如下訂單表,請(qǐng)使用sql語法,按購買時(shí)間統(tǒng)計(jì)出每天的新客人數(shù)和老客人數(shù);
名詞定義如下:
新客:當(dāng)天有購買,且之前沒有購買的人為新客,新客人數(shù)+1;
老客:當(dāng)天有購買,且之前也有購買的人為老客,老客人數(shù)+1;
?
6、根據(jù)如下左表具有3層關(guān)系的類目表,請(qǐng)使用sql語法,將數(shù)據(jù)展現(xiàn)成右表形式:
轉(zhuǎn)載于:https://www.cnblogs.com/lsyb-python/p/11083977.html
總結(jié)
以上是生活随笔為你收集整理的[SQL]数据分析SQL笔试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SPEL + 中的错误处理
- 下一篇: linux cmake编译源码,linu