วันอังคารที่ 30 มกราคม พ.ศ. 2561

Week 3

What have you done/learned

  • คำสั่ง Select ใช้สำหรับเลือกข้อมูลจาก column ที่เราสนใจใน table นั้น โดยสามารถเลือกแบบเฉพาะ column หรือทั้งหมดได้

การเลือกเฉพาะ column




การเลือกทุกข้อมูลใน table
  • คำสั่ง Select Distinct ให้ในการเลือกข้อมูลที่ไม่ซ้ำกันมาแสดง


    กรณีใช้ Select ปกติ



    กรณีใช้ Select Distinct
  • คำสั่ง Where ใช้สำหรับกำหนดเงื่อนไขการแสดงของข้อมูลในกรณีที่เราต้องการดูทุก column ซึ่งต่างจาก Select ที่จะทำได้แค่เลือกบาง column หรือทั้งหมด

    การแสดงข้อมูลเมื่อใช้ Where คู่กับ Select
  • คำสั่ง And, Or หรือ Not จะให้ควบคู่กับ Where เพื่อลดขอบเขตของข้อมูลที่ต้องการจะนำมาแสดงโดยที่ And เงื่อนไขต้องถูกต้องทั้ง 2 กรณีหรือมากกว่าถึงจะนำข้อมูลมาแสดง, Or เงื่อนไขต้องถูกอย่างน้อย1ตัวถึงนำข้อมูลมาแสดง และ Not เงื่อนไขต้องไม่ใช่ตามที่กำหนดไว้ถึงจะนำข้อมูลมาแสดง

    ตัวอย่างการใช้เงื่อนไข And
  • คำสั่ง Order By ใช้ร่วมกับ Select โดยจะทำการเรียงลำดับ column ตามที่เรากำหนดโดย ASC คือการไล่จากน้อยไปมาก และ DESC คือการไล่จากมากไปน้อย

    การลำดับข้อมูลจากลำดับตัวอักษรของ Country
  • คำสั่ง Insert Into เป็นคำสั่งในการเพิ่มข้อมูลเข้าไปใน table ที่เราต้องการโดยสามารถระบุ column ที่เราต้องการใส่ค่าได้

    การเพิ่มข้อมูลลงใน table โดยใช้ Insert Into
  • คำสั่ง Is Null และ Is Not Null จะใช้ร่วมกับ Where เพื่อเลือกข้อมูลตามเงื่อนไขเช่น Is Null คือ column นั้นต้องไม่มีข้อมูลถึงจะเอาไปใช้ และ Is Not Null คือ column นั้นต้องมีข้อมูลถึงจะนำมาแสดง

    ตัวอย่างการใช้ Is Null เพื่อแสดงข้อมูลที่มี column ที่ไม่มีข้อมูลหรือเป็น Null อยู่
  • คำสั่ง Update จะใช้ร่วมกับ Where เพื่อใช้แก้ไขข้อมูลใน row นั้นๆ ตามตำแหน่งที่กำหนด

    การใช้คำสั่ง Update ในการแก้ไขข้อมูลใน row
  • คำสั่ง Delete ใช้ในการลบข้อมูลใน row ที่เราต้องการออกไปจาก table

    การใช้ Delete ลบข้อมูลของ Alfreds Futtekiste ออกจาก table
  • คำสั่ง Select Top ใช้ในการจำกัดผลการแสดงข้อมูลให้เป็นตามที่เรากำหนดเล่น Top 3 คือเอาข้อมูลของ 3 คนแรกสุด หรือใช้ Limit ก็มีผลเช่นเดียวกัน โดยสามารถใช้ร่วมกับ Where เพื่อจำกัดขอบเขตการค้นหาและแสดงข้อมูลได้

    การแสดงผลข้อมูล 3 คนแรกสุดโดยใช้ Top
  • คำสั่ง Min/Max จะใช้ในการเลือกข้อมูลตัวที่น้อยที่สุดหรือมากที่สุดมาแสดงโดยใช้ As และตามด้วยชื่อของ column ที่จะใช้เก็บข้อมูล โดยผลที่ได้จะแสดงใน column ที่เราตั้งชื่อไว้

    การหาข้อมูลราคาที่น้อยที่สุดโดยใช้ Min
  • คำสั่ง Count, Avg และ Sum เป็นคำสั่งสำหรับใช้เพื่อคำนวณโดย Count จะใช้นับข้อมูลที่สนใจ Avg จะใช้หาค่าเฉลี่ยของข้อมูลที่เราสนใจ และ Sum จะใช้หาผลรวมของข้อมูลที่เราสนใจ โดยทั้ง3คำสั่งจะใช้ร่วมกับ Where

    ตัวอย่างการใช้ Count นับรหัสสินค้า
  • คำสั่ง Like ใช้ร่วมกับ Where ในการเพิ่มเงื่อนไขสำหรับหาข้อมูลโดยมีทั้งการหาตัวอักษรที่อยู่ขึ้นหน้า, อยู่ตรงกลาง หรืออยู่ท้ายของข้อมูล เป็นต้น

    รูปแบบการใช้ Like ต่างๆ


    ตัวอย่างการใช้ Like ในการหาชื่อลูกค้าที่ชื่อขึ้นต้นด้วย a
  • Wild Card จะเป็นการใช้ลักษณะเดียวกับ Like แต่เพิ่มลูกเล่นมากขึ้นเช่น ข้อมูลที่มีตัวอักษร _ed โดยที่ตัวอักษรตัวหน้าจะเป็นอะไรก็ได้หากมี ed ตามหลัง ก็จะดึงมาใช้เป็นต้น

    ตัวอย่างการใช้ Wild Card เพื่อหาชื่อเมืองที่ขึ้นต้นด้วย ber
  • คำสั่ง In ใช้ร่วมกับ Where เพื่อจำกัดการแสดงข้อมูลโดยสามารถเลือกได้มากกว่า 1 ตัว

    ตัวอย่างการเลือกข้อมูลมาแสดงโดยที่จำกัดประเทศเป็น UK, Germany และ France
  • คำสั่ง Between ใช้สำหรับจำกัดขอบเขตของข้อมูลที่จะแสดงให้อยู่ในช่วงที่เรากำหนดเท่านั้น

    การใช้ Between เลือกข้อมูลที่มีค่าของราคาอยู่ระหว่าง 10 ถึง 20
  • Aliases เป็นการเก็บค่าที่ต้องการจะแสดงใน column ที่เราตั้งชื่อขึ้นผ่าน As

    การใช้ As เพื่อสร้าง column สำหรับแสดงผลข้อมูลใหม่
  • คำสั่ง Inner Join ใช้สำหรับเลือกข้อมูลจาก 2 ตารางที่มีข้อมูลเหมือนกันมาแสดงผลเหมือนการ Intersection ของ Set

    ใช้ Inner Join เพื่อแสดงข้อมูล OrderID และชื่อของลูกค้าที่มีรหัสลูกค้าตรงกันทั้ง 2 tables
  • คำสั่ง Left Join ใช้สำหรับเลือกข้อมูลที่อยู่ใน table 1 ทั้งหมดและข้อมูลที่ table 1 มีตรงกันใน table 2

    การใช้ Left Join เพื่อนำข้อมูลที่อยู่ใน Customers table และที่มีตรงกับ Orders table มาแสดง โดยสามารถแสดงข้อมูลของ Customers table ได้ถึงแม้จะไม่มีข้อมูลที่ตรงกับ Orders table ก็ตาม
  • คำสั่ง Right Join ใช้สำหรับเลือกข้อมูลที่อยู่ใน table 2 ทั้งหมดและข้อมูลที่ table 2 มีตรงกันใน table 1

    การใช้ Right Join เพื่อนำข้อมูลที่อยู่ใน Employees table และที่มีตรงกับ Orders table มาแสดง โดยสามารถแสดงข้อมูลของ Employees table ได้ถึงแม้จะไม่มีข้อมูลที่ตรงกับ Orders table ก็ตาม

  • คำสั่ง Full Outer Join คือการแสดงข้อมูลของทั้ง 2 ตารางไม่ว่าจะมีเหมือนกันหรือไม่

    การแสดงผลโดยใช้ Full Outer Join รวมทั้ง 2 tables
  • Self Join ใช้หนึ่งในวิธี Join table เช่นเดียวกัน แต่เป็นการ join กับตัวเองแทนที่จะไป join กับ table อื่นๆ

    ทำการ join กับตัวเองโดยเรียก table ซ้ำ 2 ครั้งผ่านชื่อตัวแปรที่ต่างกัน
  • คำสั่ง Union ใช้สำหรับนำ table ที่มี column เหมือนกันมารวมกันและแสดงผล โดยหากทั้ง 2 tables มีค่าเหมือนกัน Union จะแสดงแค่ตัวแต่เดียว แต่ Union All จะแสดงทั้งหมดไม่ว่าจะซ้ำกันกี่ตัว

    ใช้ Union ในการรวมข้อมูลจาก column ของ table Customers และ Suppliers
  • คำสั่ง Group By มักใช้ร่วมกับคำสั่งคำนวณต่างๆเช่น Count, Sum เป็นต้น โดยจะทำการรวมกลุ่มข้อมูลที่ต้องการมาแสดงผล

    ใช้ Group By เพื่อรวบ Country ที่ซ้ำมาแสดงผลเป็นอันเดียว
  • คำสั่ง Having มีการทำงานเหมือน Where คือกำหนดเงื่อนไข แต่สามารถเพิ่มการคำนวณลงในเงื่อนไขซึ่ง Where ไม่สามารถทำได้

    ใช้ Having ในการหาข้อมูลที่มีเงื่อนไขคือ ผลรวมของรหัสลูกค้าในประเทศต้องมากกว่า 5

  • คำสั่ง Exists จะใช้ร่วมกับ Where เพื่อแสดงข้อมูลที่ตรงตามเงื่อนไขคือ ต้องมีข้อมูลตรงตามที่ Exists กำหนดไว้เท่านั้น


    แสดงข้อมูล SupplierName เมื่อ มี ProductName ที่มี SupplierID ตรงกันทั้ง 2 tables และมีราคามากกว่า 20


  • คำสั่ง Any/All จะใช้ร่วมกับ Where หรือ Having โดย Any จะแสดงข้อมูลหากมีข้อมูลตัวใดตัวหนึ่งตรงตามที่เงื่อนไขต้องการ และ All จะแสดงข้อมูลเมื่อมีข้อมูลตรงตามที่ต้องการในเงื่อนไขทุกตัว

    ตัวอย่างการใช้ Any แสดงข้อมูลชื่อผลิตภัณฑ์หากมีรหัสผลิตภัณฑ์ตัวใดตัวหนึ่งที่มีค่าเท่ากับ 10

  • คำสั่ง Select Into ใช้สำหรับย้ายข้อมูลจากตารางหนึ่งไปอีกตารางหนึ่ง


    ใช้ Select Into ย้ายข้อมูลจาก Customers ไปที่ CustomersBackup2017


  • คำสั่ง Insert Into Select เป็นคำสั่งสำหรับคัดลอกข้อมูลที่เราต้องการไป Insert ใน table ที่เราต้องการโดยต้องมีรูปแบบที่ตรงกันถึงจะ Insert ได้


    ใช้คำสั่ง Insert Into Select ในการคัดลอกข้อมูลใน Suppliers ไปเพิ่มใน Customers


  • Null Function เป็นฟังค์ชันสำหรับใช้แก้ปัญหาข้อมูลที่เป็น Null หรือไม่มีข้อมูล

    ตัวอย่างใช้ Ifnull() โดยหากค่าในฟังค์ชันเป็น Null จะแทนที่ด้วย 0
  • การ Comment เป็นการบอกรายละเอียดหรือการทำงานของโค้ดส่วนนั้นๆเพื่อให้ง่ายต่อการแก้ไขหรือนำไปพัฒนาต่อ


ตัวอย่างการใช้ Comment

การใช้ DBMS

ตัวอย่างและวิธีการใช้งานของ MySQL Workbench สามารถดูได้ตามลิ้งค์ข้างต้น

https://docs.google.com/presentation/d/1wEolP6tf4BUR7281C-cBUWFAd23dXeVwt1_x7xMqRWc/edit#slide=id.g305d3c9174_1_125

Problem/Solution

  • การใช้งาน DBMS ของ MySQL บน Mac มีปัญหาการเปิด Server เนื่องจาก Version ไม่รองรับ แก้ไขโดยเลือกลง Version ที่ Support Mac โดยศึกษาเพิ่มเติมได้จากลิ้งค์ด้านบน

Decision

  • เลือกการทำงานของ DBMS เป็นการ import csv file ผ่านโปรแกรมโดยตรงแทนการเขียนโปรแกรมจากภายนอกเพื่อทำการ insert จากภายนอกเพื่อลดเวลาการทำงาน

Related Info/Link/Reference

  • SQL Tutorial : https://www.w3schools.com/sql/

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Database Project

ผลงานทั้งหมดจากกลุ่มที่ 3 ลิ้งวิดิโออธิบายส่วน ER-Diagram https://www.youtube.com/watch?v=N3VQIO56_kM ลิ้งวิดิโอส่วน web applica...