Data

3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL

 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog

SQL หรือ Structured Query Language (จะอ่านออกเสียงว่า S-Q-L หรือ Sequel ก็ได้) เป็นภาษาคอมพิวเตอร์ที่ใช้ในการทำงานกับฐานข้อมูล ตั้งแต่การจัดการข้อมูล (insert, delete, update, etc.) ไปจนถึงการดึงข้อมูล (query) ออกมาใช้งาน พอได้ยินว่าเป็น “ภาษา” คอมพิวเตอร์ ตอนนี้หลายๆ คนคงกำลังจะกดปิดหน้าต่างนี้ 🤚แต่เดี๋ยวก่อน! ในบทความนี้ ผมจะมาเล่าให้ฟังว่าทำไมภาษา SQL ถึงเป็นหนึ่งในทักษะที่ “ทุกคน” ควรจะมีในยุคนี้

แต่ก่อนอื่น ลองมาดูตัวอย่าง SQL Query กันสักหน่อยเพื่อให้ทุกคนเห็นภาพกันมากขึ้น สมมติเรามีตารางข้อมูลโพสต์จาก FB เพจของ Skooldio จัดเก็บอยู่ในฐานข้อมูล หน้าตาแบบนี้

3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog
Table: skooldio_page

ถ้าเราอยากดึงข้อมูลโพสต์ที่เป็นรูปภาพที่ได้ reactions เกิน 100 ก็สามารถทำได้ง่ายๆ ด้วยคำสั่ง

SELECT type, reactions, message, link
FROM skooldio_page
WHERE type = 'photo'
AND reactions > 100

ซึ่งอ่านแล้วก็จะพอเข้าใจได้ทันทีว่าคำสั่งนี้ทำอะไรบ้าง เหมือนประโยคภาษาอังกฤษทั่วๆ ไป ง่ายไม๊ล่ะ! 😉 ถึงตอนนี้หลายคนคงคิดในใจว่าจริงๆ แล้ว เราสามารถทำแบบเดียวกันด้วย MS Excel ได้ง่ายกว่าตั้งเยอะ แค่แปลงตารางข้อมูลให้เป็น Excel Tableแล้วก็กดเลือก Filter ตาม Column … งั้นเราลองมาดูกันอีกหนึ่งตัวอย่าง

คราวนี้เราอยากดูว่าโพสต์แต่ละประเภท (photo, link, video, etc.) ได้รับ reactions โดยเฉลี่ยเท่าไหร่ ก็สามารถทำได้ด้วยคำสั่ง

SELECT 
  post_type,   
  AVG(reactions)
FROM skooldio_page 
GROUP BY post_type

ซึ่งก็ยังคงเป็นประโยคภาษาอังกฤษเข้าใจง่ายๆ เหมือนเดิม แต่คราวนี้ถ้าเราอยากทำแบบเดียวกันใน MS Excel ก็จะเริ่มซับซ้อนขึ้นมาอีกนิด ต้องมีการทำ Pivot Tableอะไรว่าไป


พอจะเห็นภาพมากขึ้นแล้วว่า SQL คืออะไร แต่ว่ามันดีขนาดนั้นจริงๆ หรอ? ทำไมถึงเป็นทักษะที่จำเป็นในยุคนี้? ลองมาดู 3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL กัน

1. จำเป็น จำเป็น จำเป็น

 

เนื่องจาก SQL เป็นภาษาหลักที่ใช้ในการทำงานกับฐานข้อมูล ในยุคที่ทุกๆ องค์กรมีข้อมูลมากมายมหาศาล ทักษะการเขียน SQL จึงเป็นที่ต้องการมากๆ ในตอนนี้ หลายองค์กรอยากจะปรับตัวเองให้เป็น Data-Driven Organization แต่ทั้งองค์กรกลับมีคนแค่กลุ่มเล็กๆ ในทีม IT หรือ Analyst ที่เขียน SQL เป็นและสามารถเข้าไปดึงข้อมูลมาเพื่อตอบคำถามที่สำคัญทางธุรกิจได้

นอกจากตัวอย่างการใช้งาน SQL ง่ายๆ ที่ได้ยกตัวอย่างไปข้างต้นแล้วนั้น เรายังสามารถใช้ SQL กับการทำงานข้อมูลที่ซับซ้อนมากๆ ได้ เช่น แปลงข้อมูล (data transformation), ทำความสะอาดข้อมูล (data cleansing), ผูกสูตรคำนวณง่ายๆ (arithmetic operations) ไปจนถึงการคำนวณที่ซับซ้อนอย่าง Moving Average ก็สามารถทำได้เช่นกัน

จากผลสำรวจบุคลากรที่ทำงานด้าน Machine Learning และ Data Science ของ Kaggle พบว่าภาษา SQL มาเป็นอันดับที่ 2 ของภาษาที่ถูกใช้งานเป็นประจำ

 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog
Kaggle’s Machine Learning and Data Science Survey 2018 (23,859 responses)

ในส่วนของ developers จากการสำรวจของ StackOverflow ภาษา SQL ก็เป็นภาษาที่ได้รับความนิยมมากเป็นอันดับ 3 เลยทีเดียว

 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog
https://insights.stackoverflow.com/survey/2019#most-popular-technologies (87,354 responses)

บุคลากรในกลุ่ม Non-technical หรือ Business Users ไม่ว่าจะเป็น marketers, sales, หรือ product managers อาจจะคุ้นเคยทำงานกับข้อมูลด้วย MS Excel อยู่แล้ว แต่พอปริมาณข้อมูลเริ่มเพิ่มมากขึ้น MS Excel ก็จะเริ่มหน่วง และไม่ใช่เครื่องมือที่เหมาะสมอีกต่อไป ประโยชน์ที่สำคัญมากอีกอย่างหนึ่งของการเขียนคำสั่ง SQL แทนการคลิกๆ ใน MS Excel ก็คือการทำซ้ำ (repeatable) และนำมาใช้ใหม่ (reusable) เช่น หากเราต้องการดึงข้อมูลเพื่อมาสรุปทำรายงานแบบเดิมซ้ำๆ ทุกเดือน ก็เพียงแค่นำคำสั่ง SQL ที่เคยเขียนไว้มารันซ้ำบนข้อมูลชุดใหม่

ดังนั้นทักษะการเขียน SQL จึงจำเป็นสำหรับทุกคนที่อยากเอาข้อมูลมาตอบคำถามทางธุรกิจและตัดสินใจได้อย่างมีประสิทธิภาพ และถ้าคุณเป็นคนกลุ่มน้อยในสายงานของคุณที่สามารถเขียน SQL ได้ เตรียมเป็น #ความหวังของหมู่บ้าน ให้ทีมได้เล้ยยย!!

3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog

2. เรียนทีเดียวใช้ได้ยาวๆ

ในขณะที่ภาษาคอมพิวเตอร์หลายๆ อันล้มหายตายจากกันไป ภาษา SQL ที่ถูกสร้างขึ้นในปี 1974 ยังคงได้รับความนิยมอย่างต่อเนื่องมาจนปัจจุบัน (45 ปีแล้ว!) และยังไม่มีแววที่จะหายไปในเร็วๆ นี้ ที่สำคัญไปกว่านั้น คือ SQL เป็นมาตรฐานของ American National Standards Institute (ANSI) นั่นคือ ระบบฐานข้อมูลที่เป็นไปตามมาตรฐาน SQL ที่กำหนดไว้ ไม่ว่าจะของฟรี (เช่น MySQL) เหลือเสียตังค์ (เช่น MS SQL Server, Oracle Database) ก็สามารถใช้คำสั่ง SQL พื้นฐานเดียวกันได้เลย

 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog

จนในยุคของ Big Data ถ้าใครเขียน SQL เป็น ก็แทบจะพร้อมใช้งาน HiveQL หรือ Google BigQuery ในการจัดการกับข้อมูลขนาดใหญ่ใน Data Lake ได้เลย

หรือแม้กระทั่ง Google Sheets ตอนนี้ ก็เพิ่มความสามารถให้เราสามารถเขียน SQL Query ได้แล้วเช่นกัน!! 😲

 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog
ใน Google Sheets มีฟังก์ชัน SQL Query ให้เรียกใช้ ไม่ต้องง้อ Pivot Table อีกต่อไป
 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog

3. ประตูสู่สายงานข้อมูล

ทักษะการเขียน SQL เป็นจุดเริ่มต้นที่ดีในการก้าวเข้าสู่สายงานด้านข้อมูล การเขียน SQL Query ช่วยฝึกให้เราคิดในรูปแบบแถวและคอลัมน์ของตารางได้เป็นอย่างดี และสามารถจัดการข้อมูลได้อย่างมีประสิทธิภาพมากขึ้น หากต้องการต่อยอดไปศึกษาภาษาอื่นๆ อย่าง R หรือ Python ก็จะสามารถทำได้ง่าย

ตัวอย่างเช่น คำสั่งที่ใช้ในการสรุปว่าโพสต์แต่ละประเภทได้รับ reactions โดยเฉลี่ยเท่าไหร่

  • เขียนด้วยภาษา R (+ dplyr)
skooldio_page %>% 
  group_by(post_type) %>% 
  summarise(avg = mean(reactions))
  • เขียนด้วยภาษา Python (+ pandas)
skooldio_page.groupby(['post_type']).agg({'reactions' : np.mean})

จะเห็นได้ว่าก็จะมีเค้าโครงของการทำ GROUP BY และ aggregate/summarise ข้อมูลด้วยฟังก์ชันหาค่าเฉลี่ย เหมือนใน SQL Query อยู่

เนื่องจากคนที่ทำงานด้านข้อมูลส่วนใหญ่ สามารถเขียน SQL ได้คล่องแคล่วอยู่แล้ว จึงเริ่มมีการเพิ่มขีดความสามารถใหม่ๆ ให้กับระบบฐานข้อมูล ที่สามารถเรียกใช้ได้ผ่านภาษา SQL เช่น การประมวลผลข้อมูลทางภูมิศาสตร์ (Geographic data) เช่น ที่ตั้งร้านค้า, เขตการปกครอง, ตำแหน่งจุดสนใจต่างๆ หรือแม้กระทั่งการสร้างโมเดล Machine Learning

เชื่อหรือยังว่า การเขียน SQL เป็นพื้นฐานที่ดีในการเริ่มต้นทำงานกับข้อมูล 😉

 
3 เหตุผลที่ทุกคนควรเริ่มหัดเขียน SQL | Skooldio Blog
การสร้างโมเดล Machine Learning ด้วย SQL ผ่าน Google BigQuery

อยากเริ่มเรียนแล้ว?

อย่างที่กล่าวไปแล้วข้างต้นไปแล้ว ว่า SQL เป็นภาษาเก่าแก่ และเป็นภาษาที่จำเป็นมากๆ สำหรับทุกคน บทเรียน SQL ขั้นพื้นฐานฟรีๆ จึงมีอยู่เยอะมากบน Internet เช่น

  • DataCamp บทเรียนเป็นภาษาอังกฤษ พร้อมกับ Live Coding ให้ฝึกเขียนระหว่างเรียนไปด้วย (เนื่องด้วยช่วงนี้กำลังมีการรณรงค์ต่อต้าน DataCamp จากพฤติกรรมที่ไม่เหมาะสมของผู้บริหาร จึงขออนุญาตเอาลิงก์ออก ใครที่สนใจลองไป Google กันเองดู)
  • ใครที่อยากดูบทเรียนเป็นภาษาไทย ก็มีของเพจ Data Rockie ที่เข้าไปเรียนกันได้ฟรีๆ ช่วยให้คุณเริ่มต้นเขียนภาษา SQL แบบง่ายๆ ทาง Intro to SQL for Data Analysis

ส่วนใครที่อยากจะลงลึกในรายละเอียด ฝึกฝนเพื่อให้ใช้งานได้คล่อง และเห็นภาพการนำไปใช้ในการตอบคำถามทางธุรกิจหรือวิเคราะห์ข้อมูลมากขึ้น ลองดูหลักสูตรออนไลน์ของ Codecademy ซึ่งมี Live Coding เหมือน DataCamp และเคสให้ฝึกทำค่อนข้างเยอะ ทาง Learn SQL from Scratch | Codecademy

 

หรือ…มาเรียนด้วยกันที่ Skooldio! #ฝากร้าน 😂😂

  • SQL for Data Analytics หลักสูตรออนไลน์ที่จะสอนคำสั่งพื้นฐานที่จำเป็น โดยเน้นให้ฝึกคิดและเขียน SQL Query เพื่อตอบคำถามที่น่าสนใจจากข้อมูล เหมาะสำหรับบุคคลทั่วไป ไม่จำเป็นต้องมีพื้นฐานการเขียนโปรแกรมอะไรมาก่อน

คอร์สออนไลน์ SQL for Data Analytics | Skooldio Blog

 

  • สำหรับคนที่มีพื้นฐานที่ดีแล้ว SQL Advanced เราจะมาดูการใช้ Subqueries, การทำงานกับข้อมูลแบบ ARRAY และ STRUCT, การใช้งาน Window functions รวมไปถึงฟีเจอร์ใหม่ๆ ของ Google BigQuery อย่าง BigQuery ML และ BigQuery GIS

คอร์สออนไลน์ Advanved SQL for Data Analytics with BigQuery | Skooldio Blog

 
Ta Virot Chiraphadhanakul
Google Developer Expert in Machine Learning. A data nerd. A design geek. A changemaker.  —  Chula Intania 87, MIT Alum, Ex-Facebooker

    You may also like

    Skooldio blog 3 ข้อดี ทำไมคนเป็นหมอ ควรเขียนโค้ดเป็น | Header
    Technology

    3 ข้อดี ทำไมคนเป็นหมอ ควรเขียนโค้ดเป็น?

    แพทยศาสตร์ ยังคงเป็นหนึ่งในสายการเรียนยอดฮิตในหมู่นักเรียนสายวิทย์ในปัจจุบัน ถึงแม้ว่าเทคโนโลยี จะมาสร้างความเปลี่ยนแปลงในโลกนี้อย่างมากมาย แต่อาชีพหมอ ก็ยังเป็นอาชีพที่ขาดไม่ได้ และเป็นอาชีพที่หลายๆ คนหมายปอง เมื่อเห็นคำว่า “โปรแกรมเมอร์” หรือการ “เขียนโค้ด” น้องๆ หลายคน คงนึกถึงการเป็นวิศวกร ...
    Skooldio blog | อยากเริ่มเขียนโปรแกรม ภาษาไหนที่เหมาะกับเรา?
    Technology

    อยากเริ่มเขียนโปรแกรม ภาษาไหนที่เหมาะกับเรา?

    ในยุคที่ “Digital ไม่ใช่ทางเลือก แต่เป็นทางรอด” สกิลที่ทุกคนหันมาให้ความสนใจกันอย่างล้นหลาม คือสกิลการโค้ด หรือการเขียนโปรแกรมนั่นเอง เริ่มยังไง? เชื่อว่าหลายคนคงจะรู้สึกกังวล หรือกลัวการเขียนโปรแกรม เพราะมันเหมือนเป็นโลกใบใหม่ ที่มีภาษาต่างๆ มากมาย ดูผ่านๆ เหมือนจะคล้ายกัน ...

    More in:Data

    Data-Driven พารุ่งหรือพาร่วง? Data

    Data-Driven พารุ่งหรือพาร่วง?

    เกือบทุกเพจการตลาดในไทย(หรือในโลกก็ตาม) ต้องเคยทำคอนเทนต์เกี่ยวกับช่วงเวลาที่ดีที่สุดที่ควรโพสต์บนแต่ละ Social Media และคอนเทนต์เหล่านี้มักจะได้รับความนิยมสูงมาก เพราะใครๆ ก็พากันกดแชร์ กด Retweet กด Tag เพื่อนมาดู ด้วยความรู้สึกตื่นเต้นราวกับได้เครื่องรางของคลัง ที่จะช่วยให้โพสต์ของพวกเขาไม่กริบอีกต่อไป ผมเชื่อว่าทุกเพจมีเจตนาที่ดีที่จะนำเสนอข้อมูลที่น่าสนใจ ...
    subquery คืออะไร Data

    Subquery เทคนิคง่ายๆ ช่วย query สบายกว่าที่เคย

    SQL Subqueries Subquery คืออะไร? Subquery เหมือนกับการ Query ในภาษา SQL หรือคือการเขียน SELECT Statement เพื่อทำการดึงข้อมูลในคอลัมน์หรือค่าในคอลัมน์จากตารางหรือฐานข้อมูลที่เราต้องการ เพื่อนำไปใช้ประโยชน์ต่อไป แต่ ...
    Data

    Data Visualization คืออะไร? แล้วทำไม Google Data Studio ถึงตอบโจทย์กับธุรกิจยุคใหม่

    ในยุค Big Data ที่มีข้อมูลดิบอยู่มหาศาล องค์กรหรือบริษัทแแทบทุกที่ต่างก็อยากเก็บข้อมูลให้มากที่สุด หลายๆ คนชอบคิดว่ายิ่งเก็บข้อมูลได้เยอะเท่าไหร่ ยิ่งดีเท่านั้น เพราะน่าจะช่วยเพิ่มโอกาสในการใช้ข้อมูลตัดสินใจทางธุรกิจได้ถูกต้องและแม่นยำยิ่งขึ้น แต่จริงๆ แล้วการเก็บข้อมูลยิ่งเยอะเท่าไหร่ ไม่ได้แปลว่ายิ่งดีขึ้นเสมอไป และนอกเหนือจากการเก็บข้อมูลแล้ว คนในองค์กรหรือบริษัทยังจะต้องสามารถในการเข้าถึงข้อมูล ผ่านเครื่องมือที่เหมาะสม ...
    Data

    7 ขั้นตอนจัดระเบียบ Data ในองค์กรให้ต่อยอดง่าย ๆ สไตล์ Marie Kondo

    เชื่อหรือไม่ว่าการจัดระเบียบข้อมูลภายในองค์กรนั้น ต้องเจอปัญหาเดียวกับเจ้าของบ้านที่จัดการของในบ้านตนเอง เพียงแต่ปัญหานั้นใหญ่ และซับซ้อนกว่ากันมาก ในปัจจุบัน องค์กรเป็นจำนวมากเก็บข้อมูลที่ไร้ประโยชน์ ไม่ว่าจะเป็น Web Log, อีเมลเก่า ๆ, หรือข้อมูลลูกค้าที่ out of date ...

    Comments are closed.