บางครั้งเราอาจจะเจองานที่ต้องมีการดึงฟิลด์บางฟิลด์ของอีกตารางนึงมาใส่อีกตารางนึง เพราะจำเป็นต้องใช้ในงาน แต่หากข้อมูลปริมาณมากอาจจะไม่สามารถที่จะมานั่งกรอกด้วยมือเองเป็นแน่ดังนั้นเลยต้องใช้คำสั่ง Sql เพื่อเข้าช่วยทุ่นแรงงาน เพื่อให้เข้าใจลองมาดูตัวอย่างแบบง่ายๆกันเลยดีกว่าครับ

บางครั้งมีการ insert โดย database มีการ set unique key values เพื่อไม่ให้ข้อมูลซ้ำกัน หลายครั้งพอเริ่มคำสั่ง sql เมื่อเจอรายการที่ซ้ำ (Duplicate entry) คำสั่งก็จะหยุดทำงาน อาจจะไม่เหมาะสม ในกรณีข้อมูลเยอะแล้วต้องมาไล่ดูว่ารายการไหนซ้ำ งั้นลองเพิ่ม IGNORE หลังคำสั่ง INSERT เพื่อละเว้นการหยุดการทำงานในกรณี Duplicate entry ตัวอย่างตามด้านล่างครับ [crayon-5c91f2359f7f2080662052/]

หลายครั้งที่ต้องเขียนโปรแกรมแล้วต้องมีข้อมูลจังหวัดมาเกี่ยวข้องอาจจะมีฟอร์มกรอกและมี Selectbox หรือ Combobox ให้เลือกจังหวัด เลยทำ Database จังหวัดในประเทศไทยไว้ให้ Download ฟรีๆ กันเลย มีทั้ง Mysql,Excel และHTMLจะได้ไม่ต้องเสียเวลาหาเองด้วย

มีโจทย์อยู่ว่า Field นึงเก็บทั้งชื่อและนามสกุล แต่เราต้องการ Query มาเพื่อที่จะแสดงแยกชื่อและนามสกุลออกมาอย่างละ Column หรือดึงมาเฉพาะชื่อเท่านั้น หากเรามองดูสิ่งที่แยกชื่อกับนามสกุลก็คือช่องว่างระหว่างชื่อและนามสกุลนั่นเอง มาดูตัวอย่างกันเลยครับ

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

เอาเป็นว่าสมมติมีโจทย์ที่ต้องการดึงข้อมูลจาก"ตาราง Customer" ไปเก็บใน "ตาราง CustomerTmp" ซึ่งเลือกเฉพาะฟิลด์ที่ต้องการ และเก็บวันที่บันทึกลงไปด้วย โดยให้เงื่อนไขว่า เงินเดือนต้องมากกว่า 20,000 บาท ก็จะได้คำสั่งตามด้านล่างนี้

อธิบายไม่ถูกขอยก ตย.แล้วกันเช่น ให้ข่าวหนึ่งข่าวมีอายุการแสดงได้ 3 เดือน โดยเริ่มนับจากวันที่บันทึก(ฟิลด์ชื่อ "AddDate") ก็จะได้ sql ด้านล่างนี้