Database SQL – Sub Query Subquery หรือ Inner query หรือ Nested query เป็นการดึงข้อมูลใน table จาก ผลลัพธ์ของการทำ SQL Select query ก่อนหน้านี้อีกทีอีกที ซึ่งการทำ subquery สามารถใช้งาน Where Clause ไม่ว่าจะเป็น main query หรือ ส่วนของ subquery ส่วนมากแล้วมักถูกใช้ในเงือนไขที่ main query ไม่สามารถดึงข้อมูลได้ตามเงือนไขปกติที่สามารถทำได้ หรือ ติดข้อจำกัดภายใต้กฎของ SQL โดย subquery เองสามารถถูกใช้ภายใต้ SQL Select, SQL Insert, SQL Update และ SQL Delete ที่เป็น statement และ SQL Operator ต่างๆ กฎการใช้งาน Subquery Subquery ต้องอยู่ภายใต้…
Database SQL – Date Function คือ ฟังก์ชันการใช้งานข้อมูลวันที่และเวลา
Database SQL – Date Function การใช้งาน Date function จะมีด้วยกันหลายรูปแบบ ผู้ใช้งานสามารถเลือกใช้ function ที่เหมือนสมกับความต้องการได้ โดยส่วนมาก database แบบ RDBMS จะรองรับ function date ตามข้อมูลดังนี้ Date Function Expression Detail ADDDATE() ADDDATE(expr,days) เพิ่มจำนวนวัน ADDTIME() ADDTIME(expr1,expr2) เพิ่มจำนวนเวลา CONVERT_TZ() CONVERT_TZ(dt,from_tz,to_tz) เปลี่ยน timezone (GMT) CURDATE() CURDATE() แสดงวันปัจจุบัน CURRENT_DATE() CURRENT_DATE() แสดงวันปัจจุบัน…
Database SQL – Wildcard Operator คือการแทนค่าอักษรอะไรก็ได้
Database SQL – Wildcard Operator จากบทความเรื่อง SQL LIKE Clause เราจะเห็นว่านอกจาก operator LIKE แล้วยังมีส่วนที่ต้องระบุเงือนไขค่าคงที่ ที่จะนำมาเปรียบเทียบด้วย ซึ่งเกือบทั้งหมดจะต้องมีการใช้งาน SQL Wildcard Operator รวมอยู่ในค่าคงที่นั้น เพื่อเติมเต็มเงือนไขให้สมบูรณ์ภายใต้ SQL Where Clause สัญลักษณ์ของ Wildcard 1. Percent (%) แทนค่าเท่ากับตัวอักษรตั้งแต่ 0 ตัว จนถึงกี่ตัวก็ได้ ถ้าเทียบกับใน Linux หรือ Unix operating system ก็จะมีค่าเหมือนกับสัญลักษณ์ (*) 2. Underscore (_) แทนค่าเท่ากับตัวอักษรเพียง 1 ตัว ถ้าเทียบกับใน Linux หรือ Unix operating system ก็จะมีค่าเหมือนกับสัญลักษณ์ (?) รูปแบบ (Syntax) SELECT FROM table_name WHERE…
Database SQL – Transaction คือ หน่วยของข้อมูลที่เปลี่ยนแปลงบนฐานข้อมูล
Database SQL – Transaction อย่างที่เราทราบกันว่าฐานข้อมูล หรือ database นอกจากใช้สำหรับ query หรือ ทำ SQL Select statement เพื่อดึงข้อมูลจาก table ได้แล้ว เราสามารถทำ SQL DML เพื่อเพิ่ม ลด หรือ ปรับเปลี่ยนข้อมูลภายในตารางได้ด้วย ซึ่งการเปลี่ยนข้อมูลภายใน table นี้แหละที่เราเรียกว่า transaction โดย database ต้องมีการควบคุม transaction เหล่านี้ให้ทำงานตามลำดับที่ user กำหนด เช่นการทำ SQL Insert statement ก่อน SQL Update statement แล้วค่อย SQL Delete statement ต้องทำงานตามลำดับเพื่อป้องกัน ไม่ให้คำสั่ง error และข้อมูลสุดท้ายมีความถูกต้อง ซึ่งในบางครั้งเราอาจจะทำการ grouping คำสั่งเหล่าเข้ามาเป็นส่วนหนึ่งใน transaction เดียวกันเพื่อให้ทำงานทีเดียว คุณสมบัติของ…
Database SQL – Having Clause คือ กำหนดเงื่อนไขแสดงผลของ GROUP BY
Database SQL – Having Clause จาการใช้งาน SQL Select statement เราสามารถกำหนดเงื่อนไขในการเลือกข้อมูลด้วย SQL Where Clause นอกจากนี้ยังสามารถจัดกลุ่มข้อมูลด้วย SQL GROUP BY ได้ ซึ่งหลังจากจัดกลุ่มแล้วเราไม่สามารถทำเงือนไขเพื่อเลือกข้อมูลจาก SQL Where Clause ได้อีกรอบแล้ว เราต้องใช้คำสั่ง SQL HAVING Clause แทน ในการเลือกข้อมูลด้วยเงือนไขที่ต้องการ หลังจากมีการจัดกลุ่ม หรือ ทำ SQL GROUP BY รูปแบบ (Syntax) SQL Having Clause SELECT FROM WHERE GROUP BY HAVING ORDER BY จะเห็นว่าการใช้งานตำแหน่งของ Where, Group by, Having และ Order by จะมีการเรียงลำดับการใช้งานแบบนี้เสมอ SELECT column1, column2 FROM table1, table2…
Database SQL – VIEW คือ กำหนดการแสดงผลจากรูปแบบ query statement
Database SQL – VIEW จาการใช้งาน SQL Select statement จะเห็นว่า ในบางครั้งเรามักจะมี Select statement ที่ต้องใช้งานประจำเพื่อดึงข้อมูลออกมาในรูปแบบที่ต้องการ เราสามารถใช้ SQL View นี้ช่วยได้ โดย SQL View จะทำการเก็บรูปแบบการ query หรือ SQL Select statement ที่เราตั้งไว้ใน SQL View ซึ่งสามารถทำได้ตั้งแต่ query ข้อมูลทั้งหมดของ table รวมถึงการทำ SQL Join, SQL Union, SQL Intersect และ SQL Except ที่ผลลัพธุ์ออกมาในรูปแบบตาราง หรือ table คุณสมบัติของ VIEW สร้างโครงสร้างของข้อมูลในรูปแบบที่ user ใช้งานปกติจาก table ปรับเปลี่ยนข้อมูลภายใน table ให้แสดงออกมาในรูปแบบที่ต้องการ โดยไม่กระทบกับข้อมูลหลัก สรุปข้อมูลจาก…
Database SQL – TRUNCATE TABLE คือ การลบข้อมูลภายใน table ทั้งหมด
Database SQL – TRUNCATE TABLE หลักจากเราทำ SQL Create table แล้วรวมถึง SQL Insert table เพื่อใส่ข้อมูลลงไปใน table การจะลบข้อมูลทั้งหมดของ table ทำได้ 2 วิธีคือ SQL Drop table และ SQL Truncate table ซึ่งทั้ง 2 คำสั่งต่างกันอย่างไร อย่างที่ได้เคยอธิบายไปแล้ว SQL Drop table จะทำการลบข้อมูลภายใน table ทั้งหมด รวมถึงโครงสร้างของ table ด้วย การใช้งานใหม่จำเป็นต้อง create table ใหม่อีกครั้ง ต่างจาก truncate table ที่ทำแค่การลบข้อมูลภายใน table ทั้งหมด แต่โครงสร้าง table ยังอยู่เหมือนเดิม และสามารถเริ่มต้อน insert ข้อมูลกลับลงมาให้ได้ทันที …
Database SQL – ALTER TABLE คือ คำสั่งเปลี่ยนแปลงข้อมูล column ใน table
Database SQL – ALTER TABLE หลังจากที่เราได้สร้าง table จากคำสั่ง SQL Create table เรียบร้อยแล้ว บางครั้งเราอาจะต้องการปรับเปลี่ยนโครงสร้างของ table เช่น เพิ่ม ลบ หรือ แก้ไขข้อมูล column บน table ที่ได้สร้างไปแล้ว เราจะใช้คำสั่ง SQL ALTER TABLE ในการแก้ไขโครงสร้าง รวมถึงการเพิ่ม หรือ ลบ Constraint บน table ที่ใช้งานอยู่ปัจจุบัน รูปแบบ (Syntax) 1. เพิ่ม column (Add Column) ALTER TABLE table_name ADD column_name datatype; 2. ลบ column (Drop Column) ALTER TABLE…
Database SQL – Index คือ ระบบดรรชนีค้นหาที่ระบุตำแหน่งข้อมูลให้รวดเร็ว
Database SQL – Index SQL Index คือ เครื่องมือค้นหาข้อมูลใน table ที่ช่วยให้ฐานข้อมูล หรือ database สามารถค้นหาข้อมูลได้รวดเร็วกว่าปกติ เพราะ index จะมีฐานข้อมูลที่จะระบุตำแหน่งของข้อมูลที่ต้องการ เปรียบเหมือนสารบัญที่ระบุเลขหน้าของหนังสือที่ค้นหา การนำเอา index มาใช้งานช่วยให้ SQL Select ที่ดึงข้อมูลด้วย Where Clause สามารถทำได้รวดเร็วขึ้น แต่ก็จะทำให้ SQL Update และ SQL Insert ช้าลง เพราะทุกครั้งที่ทำการแก้ไข หรือเพื่อข้อมูล ระบบจำต้องทำการสร้าง index ให้ใหม่ด้วย การจะสร้าง index ให้กับ table จะใช้คำสั่ง SQL CREATE INDEX statement ซึ่งเราสามารถตั้งชื่อของ index รวมถึงระบุ table และ column ที่จะใช้ทำ index ได้ โดยสามารถกำหนดได้ว่าจะมีคุณสมบัติ unique…
Database SQL – Alias Syntax คือ การตั้งนามแฝงให้กับ table หรือ column
Database SQL – Alias Syntax การดึงข้อมูลด้วย SQL Select หลายครั้งที่พบว่าชื่อ column หรือ table ที่มีความคล้ายกันอาจะทำให้สับสนได้ การใช้ SQL Alias เราสามารถเปลี่ยนชื่อเรียก table หรือ column เป็นชื่ออื่นที่เราต้องการได้ชั่วคราว โดยไปกระทบกับ user คนอื่นที่ใช้งานฐานข้อมูล หรือ database เดียวกัน รูปแบบ (Syntax) เราใช้ keyword “AS” ในการกำหนด Alias Alias table SELECT column1, column2…. FROM table_name AS alias_name WHERE [condition]; Alias column SELECT column_name AS alias_name FROM table_name WHERE [condition];…