Database SQL – EXCEPT Clause นอกจาก SQL UNION Clause และ SQL INTERSECT Clause สุดท้ายก็คือ SQL EXCEPT Clause ซึ่งเป็นการเอาข้อมูลใน table แรกทั้งหมด ที่ไม่มีอยู่ในข้อมูลของ table สอง ซึ่ง database บางชนิดอาจจะไม่รองรับ SQL EXCEPT เช่น MySQL รูปแบบ (Syntax) SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] EXCEPT SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] …
Database SQL – INTERSECT Clause คือ การรวมข้อมูล 2 table เฉพาะที่เหมือนกัน
Database SQL – INTERSECT Clause จากบทความที่แล้วเรื่อง SQL UNION Clause เป็นการเอาข้อมูล 2 table มารวมกันทั้งหมด ทีนี้เรามาดูว่าถ้าจะเลือกเอาเฉพาะข้อมูลบรรทัดที่มีเหมือนกันเท่านั้นใน 2 table จะใช้ SQL INTERSECT Clause แทน ซึ่ง database บางชนิดอาจจะไม่รองรับ SQL INTERSECT เช่น MySQL รูปแบบ (Syntax) SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] INTERSECT SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]…
Database SQL – UNION Clause คือ การรวมข้อมูลชนิดเดียวกันทั้ง 2 table
Database SQL – UNION Clause ในบางครั้งฐานข้อมูล หรือ database ของเรา อาจจะมี table ที่เก็บข้อมูลคล้ายๆกัน ผู้ใช้งานอาจต้องการรวมข้อมูลทั้ง 2 table ในรูปแบบ SQL JOIN statement หรือ การสร้างความสัมพันธ์ระหว่าง column แต่สำหรับข้อมูลที่มี column เหมือนกันกัน รวมถึง data type แบบเดียวกัน เราสามารถนำข้อมูลมารวมกันในเชิงบรรทัด ด้วยคำสั่ง SQL UNION statement โดยข้อมูลที่เลือกมาจำเป็นต้องมีคุณสมบัติดังนี้ จำนวน column ที่เลือกมาเท่ากัน จำนวน column expression ที่เท่ากัน มี data type ทั้งหมดชนิดเดียวกัน จัดเรียง column ในรูปแบบเดียวกัน รูปแบบ (Syntax) SELECT column1 [, column2…
Database SQL – CROSS JOIN คือ การสร้างความสัมพันธ์
Database SQL – CROSS JOIN จากบทความ เรื่อง SQL JOIN statement โดยปกติจะใช้สร้างความสัมพันธ์ของ column ระหว่าง table ที่เหมือนกัน แต่สำหนับ SQL CROSS JOIN หรือ SQL CARTESIAN JOIN จำสร้างความสัมพันธ์แบบ ALL TO ALL คือ ข้อมูลทุกบรรทัดใน table ซ้าย จะเชื่อมต่อกับ ข้อมูลทุกบรรทัดของ table ขวา เราเรียกอีกอย่างว่า “SQL CARTESIAN JOIN” จำนวนข้อมูลผลลัพธ์ = (จำนวนบรรทัดข้อมูล table ซ้าย x จำนวนบรรทัดข้อมูล table ขวา) รูปแบบ (Syntax) SELECT table1.column1, table2.column2… FROM table1, table2…
Database SQL – SELF JOIN คือ สร้างความสัมพันธ์ระหว่าง table ตัวเอง
Database SQL – SELF JOIN จากบทความ เรื่อง SQL JOIN statement โดยปกติจะใช้สร้างความสัมพันธ์ของ column ระหว่าง table ที่เหมือนกัน แต่สำหนับ SQL SELF JOIN จะสร้างความสัมพันธ์ระหว่าง table ตัวเอง โดยเปรียบเสมือนจำลอง table ออกมา rename เป็นอีกชื่อ และนำมา JOIN กัน ซึ่งรูปแบบลักษณะนี้มักจะใช้สร้างความสัมพันธ์ระหว่าง column ภายใน table เดียวกัน รูปแบบ (Syntax) SELECT a.column_name, b.column_name… FROM table1 a, table1 b WHERE a.common_field = b.common_field; ตัวอย่าง SQL FULL JOIN statement Table…
Database SQL – FULL JOIN คือ การสร้างความสัมพันธ์ 2 table โดยทั้งคู่เป็นข้อมูลหลัก
Database SQL – FULL JOIN จากบทความ เรื่อง SQL JOIN statement โดยปกติจะใช้สร้างความสัมพันธ์ของ column ระหว่าง table ที่เหมือนกัน แต่สำหนับ SQL FULL JOIN จะนำเอาข้อมูลทั้ง 2 table มาสร้างความสัมพันธ์เชื่อมกัน โดยไม่สนว่าข้อมูลจะมีเหมือนกันทั้ง 2 table หรือไม่ กรณีข้อมูลที่มีครบทั้ง 2 table ข้อมูลที่ได้จะมีลักษณะเหมือน SQL INNER JOIN และเพิ่มข้อมูลส่วนที่มีเพียง table เดียว โดยข้อมูลส่วนของอีก table จะมีค่าเป็น NULL แทน รูปแบบ (Syntax) SELECT table1.column1, table2.column2… FROM table1 FULL JOIN table2 ON table1.common_field =…
Database SQL – RIGHT JOIN คือ สร้างความสัมพันธ์ 2 table โดยใช้ table ขวาเป็นหลัก
Database SQL – RIGHT JOIN จากบทความ เรื่อง SQL JOIN statement โดยปกติจะใช้สร้างความสัมพันธ์ของ column ระหว่าง table ที่เหมือนกัน ซึ่ง SQL RIGHT JOIN ก็เช่นกัน แต่จะอาศัย table ด้านขวา หรือ table สอง เป็นข้อมูลหลัก โดยข้อมูลบรรทัดที่ table ขวามี แต่ table ซ้ายไม่มี จะถือว่าเป็นข้อมูลใหม่ได้ด้วย โดยข้อมูลใหม่ที่ว่าจะมีแค่ข้อมูลจาก table ขวาเท่านั้นส่วน column ที่เกิดจาก table ซ้าย จะมีค่าเป็น NULL เพราะไม่มีข้อมูล แต่สำหรับบรรทัดที่มีเฉพาะ table ซ้าย แต่ไม่มีใน table ขวาจะถือว่าไม่เป็นข้อมูลใหม่ ซึ่งหลักการจะสลับกับ SQL LEFT JOIN เราสามารถเรียกอีกอย่างว่า “RIGHT…
Database SQL – LEFT JOIN คือ สร้างความสัมพันธ์ 2 table โดยใช้ table ซ้ายเป็นหลัก
Database SQL – LEFT JOIN จากบทความ เรื่อง SQL JOIN statement โดยปกติจะใช้สร้างความสัมพันธ์ของ column ระหว่าง table ที่เหมือนกัน ซึ่ง SQL LEFT JOIN ก็เช่นกัน แต่จะอาศัย table ด้านซ้าย หรือ table แรก เป็นข้อมูลตั้งต้นหลัก โดยข้อมูลบรรทัดที่ table ซ้ายมี แต่ table ขวา ไม่มี จะถือว่าเป็นข้อมูลใหม่ได้ด้วย โดยข้อมูลใหม่ที่ว่าจะมีแค่ข้อมูลจาก table ซ้ายเท่านั้นส่วน column ที่เกิดจาก table ขวา จะมีค่าเป็น NULL เพราะไม่มีข้อมูล แต่สำหรับบรรทัดที่มีเฉพาะ table ขวา แต่ไม่มีใน table ซ้าย จะถือว่าไม่เป็นข้อมูลใหม่ เราสามารถเรียกอีกอย่างว่า “LEFT OUTER JOIN”…
Database SQL – INNER JOIN คือ การเชื่อมข้อมูลที่มีค่าทั้ง 2 table เหมือนกัน
Database SQL – INNER JOIN จากบทความ เรื่อง SQL JOIN statement หนึ่งในคำสั่ง JOIN ที่นิยมและเป็นค่า default คือ INNER JOIN ซึ่งคือการเชื่อมข้อมูลที่มีค่าทั้ง 2 table เหมือนกันในส่วนของ column ที่กำหนดแต่ละ table หรือ บางครั้งจะเรียกว่า EQUIJOIN สำหรับบางฐานข้อมูล หรือ database หลักการของ INNER JOIN คือ สร้างข้อมูล table ใหม่จากข้อมูลของ 2 table (table 1 และ table 2) โดยจะทำการเปรียบเทียบข้อมูลแต่ละบรรทัดของ table 1 และ table 2 เพื่อหาข้อมูล column ที่กำหนดทั้ง 2 table ที่ตรงกัน…
Database SQL – JOIN คือ การเชื่อมความสัมพันธ์ระหว่าง table ด้วย column
Database SQL – JOIN ในบางครั้งการเก็บข้อมูลบนฐานข้อมูล หรือ database อาจจะมีการกระจายของข้อมูลอยู่ในหลายๆ table ขึ้น ขึ้นอยู่กับทาง admin ที่ออกแบบการเก็บข้อมูลแต่ละชนิดของ table ในบางครั้งข้อมูลใน table อาจจะมีความสัมพันธ์ที่ในบาง column ที่ข้อมูลเหมือนกัน และทาง user เองอาจต้องการเชื่อมข้อมูลของ 2 table นั้นเข้าด้วยกัน ซึ่งสามารถทำได้ด้วยคำสั่ง SQL Join statement รูปแบบ (Syntax) SELECT table1.column1, table2.column2… FROM table1 JOIN table2 ON table1.common_field = table2.common_field; ตัวอย่าง SQL JOIN statement Table 1 – สร้าง CUSTOMERS table +—-+———-+—–+———–+———-+ | ID…