<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
SQL,資料分析崗的必備技能,你可以不懂Python,R,不懂視覺化,不懂機器學習。但SQL,你必須懂。要不然領導讓你跑個資料來匯......,哦不,你不懂SQL都無法入職資料分析崗,更別說領導了。
SQL難嗎?說實話,要寫好,很難很難。但要通過SQL筆試這關,並不難。相信大夥都使用過Excel,用SQL實現excel 常用操作去學,感覺會比較具體。我自身也剛入資料崗不久,本文也是為自己鞏固一下SQL。
資料是網上找到的銷售資料,命名為sale,長這樣:
vlookup是excel幾乎最常用的公式,一般用於兩個表的關聯查詢等。所以我先建立一個新表:複製sale表並篩選出地區僅為廣州的,命名為sale_guang。
create table sale_guang SELECT * from sale where city="廣州";
需求:根據訂單明細號關聯兩表,並且sale_guang只有訂單明細號與利潤兩列
SELECT * from sale a inner JOIN (SELECT ordernum,profit from sale_guang) b on a.ordernum=b.ordernum
需求:對比sale的訂單明細號與sale_guang訂單明細號的差異;
SELECT * from sale a WHERE a.ordernum not in (SELECT b.ordernum from sale_guang b);
需求:去除業務員編碼的重複值
SELECT * FROM sale where salesnum not in (SELECT salesnum from sale GROUP BY salesman HAVING COUNT(salesnum)>1)
需求:用0填充缺失值或則刪除有地區名稱缺失值的行。
--用0填充: update sale set city = 0 where city = NULL --刪除有缺失值的行: delete from sale where city = NULL;
需求:想知道業務員張愛,在北京區域賣的商品訂單金額大於等於6000的資訊。
SELECT * from sale where salesman = "張愛" and city = "北京" and orderaccount >=6000;
需求:篩選存貨名稱含有"三星"或則含有"索尼"的資訊。
SELECT * from sale where inventoryname like "%三星%" or 存貨名稱 like "%索尼%";
需求:北京區域各業務員的利潤總額。
SELECT city,sum(`profit`) from sale WHERE city = "北京" GROUP BY `city`;
需求:存貨名稱含“三星字眼”並且稅費高於1000的訂單有幾個?這些訂單的利潤總和和平均利潤是多少?
--有多少個? SELECT COUNT(*) from sale where inventoryname like "%三星%" and `tax` > 1000 ; --這些訂單的利潤總和和平均利潤是多少? SELECT `ordernum`,SUM(profit),AVG(`profit`) from sale where inventoryname like "%三星%" and `tax` > 1000 GROUP BY `ordernum`;
需求:刪除存貨名稱兩邊的空格。
SELECT trim(inventoryname) from sale;
需求:計算每個訂單號的成本並從高到低排序(成本 = 不含稅金額 - 利潤)
SELECT city,ordernum, (Nontaxamount - profit) as cost from sale order by cost DESC;
總結:結構化查詢語言(Structured Query Language)簡稱SQL,果然和它名字一樣,查詢起來得心應手,但做想做資料處理方面,能明細感受到比Python和excel吃力(也可能是我還沒學好orz)。
貼一些我在面試時遇到過的SQL筆試題吧:
Student表
Score表
(1)查詢Student表中的所有記錄的Sname、Ssex和Class列。
select sname,ssex,class from student;
(2)查詢Score表中成績在60到80之間的所有記錄。
select * from score between 60 and 80;
(3)查詢95033班和95031班的平均分。
select class,avg(degree) from Score a join student b on a.sno = b.sno GROUP BY CLASS;
總之是比較簡單的SQL筆試題了,當時很快就寫完了。實際上這不是原題,不過我有印象就是考察這幾個知識點,並且蠻簡單的。
(1)建立表Student的語句寫下來,表Student是由學號Sno,姓名Sname,性別Ssex,年齡Sage,所在系Sdept五個屬性組成,其中學號屬性不能為空,並且其值是唯一的。
create table Student_new (sno varchar(20) PRIMARY KEY, sname varchar(10),ssex char(2), sage int,sdept varchar(25));
(2)在student 表中查詢Sdept是“計算機”的學生所有資訊並按SNO列排序。
select * from student where sdept = "計算機" order by sno ;
(3)在以上三個表中查詢Ccredit為5並且Grade大於60的學生的學號、姓名和性別。
select a.sno,a.sname,a.ssex from student a join (Course b ,SC c) on a.sno=c.sno and b.cno =c.cno where Ccredit = 5 and Grade > 60;
(1)表A和表B的交集:
SELECT a.cus_id from `表a` as a INNER JOIN `表b` as b on a.cus_id=b.cus_id;
(2)表A和表B的並集:
SELECT * from `表a` UNION SELECT * from `表b`;
(3)表A和表B的對稱差:
SELECT * from `表a` where cus_id not in (SELECT * from `表b`) UNION SELECT * from `表b` where cus_id not in (SELECT * from `表a`);
(4)表A中存在但表B中不存在:
SELECT * from `表a` WHERE cus_id not in (SELECT cus_id from `表b`);
到此這篇關於SQL實現Excel的10個常用功能的範例詳解的文章就介紹到這了,更多相關SQL Excel常用功能內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45