13 คำสั่ง SQL ที่สำคัญที่สุดที่โปรแกรมเมอร์ควรรู้

13 คำสั่ง SQL ที่สำคัญที่สุดที่โปรแกรมเมอร์ควรรู้

ฐานข้อมูลขับเคลื่อนเว็บสมัยใหม่ เว็บไซต์ขนาดใหญ่หรือไดนามิกทุกแห่งใช้ฐานข้อมูลในทางใดทางหนึ่ง และเมื่อรวมกับ ภาษาคิวรีที่มีโครงสร้าง (SQL) ความเป็นไปได้ในการจัดการข้อมูลนั้นไม่มีที่สิ้นสุดจริงๆ หากคุณรู้จัก SQL อยู่แล้ว อย่าลืมตรวจสอบทักษะการเขียนโปรแกรมเหล่านี้ที่นักพัฒนาเว็บไซต์ทุกคนควรรู้





วันนี้จะมานำเสนอบางส่วนของ คำสั่ง SQL หลัก คุณจำเป็นต้องรู้ในฐานะโปรแกรมเมอร์





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





คำนำ

ตัวอย่างทั้งหมดในวันนี้จะอิงตามตารางสมมติสี่ตาราง NS ลูกค้า ตารางประกอบด้วยชื่อและอายุของลูกค้า:

NS ความสูง ตารางมีชื่อและความสูงของบุคคลใด ๆ :



NS พนักงาน ตารางมีชื่อและอายุของพนักงาน - เหมือนกับตารางลูกค้า:

ตารางสุดท้ายเรียกว่า ผู้คน มีชื่อและอายุของคน เช่นเดียวกับตารางลูกค้าและพนักงาน:





1. เลือก

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

ตามชื่อของมัน เลือก ถูกใช้เพื่อ เลือก ข้อมูลจากฐานข้อมูล นี่คือการใช้งานที่ง่ายที่สุด:





SELECT * FROM table;

มีสองส่วนนี้ ส่วนแรก ( เลือก * ) ระบุคอลัมน์ที่คุณต้องการเลือก เครื่องหมายดอกจันแสดงว่าคุณต้องการเลือกคอลัมน์ทั้งหมดในตาราง ส่วนที่สอง ( จากตาราง ) บอกกลไกฐานข้อมูลของคุณว่าคุณต้องการดึงข้อมูลนี้จากที่ใด แทนที่ 'table' ด้วยชื่อของตารางฐานข้อมูลของคุณ

การเลือกนี้เรียกว่า 'เลือกดาว' การใช้เครื่องหมายดอกจันเป็นวิธีที่ดีในการค้นหาว่าข้อมูลใดอยู่ในตาราง แต่ฉันไม่แนะนำให้คุณใช้มันสำหรับรหัสการผลิตใดๆ เมื่อใช้ Select Star จะขึ้นอยู่กับกลไกจัดการฐานข้อมูลในการนำเสนอข้อมูลที่คุณต้องการ คุณไม่สามารถควบคุมลำดับของข้อมูลที่ส่งคืนได้ ดังนั้นหากมีใครเพิ่มคอลัมน์ใหม่ลงในตาราง คุณอาจพบว่าตัวแปรในภาษาการเขียนโปรแกรมของคุณไม่ได้แสดงถึงข้อมูลที่ถูกต้องอีกต่อไป โชคดีที่มีวิธีแก้ปัญหา

คุณสามารถระบุได้อย่างชัดเจนว่าคอลัมน์ใดที่คุณต้องการดึงข้อมูลดังนี้:

SELECT age, name FROM people;

แบบสอบถามนี้ดึงคอลัมน์ 'อายุ' และ 'ชื่อ' จากตาราง 'ผู้คน' การแสดงความชัดเจนนี้อาจเป็นเรื่องที่น่าเบื่อเล็กน้อยหากคุณมีข้อมูลจำนวนมาก แต่การทำเช่นนี้จะช่วยลดปัญหาในอนาคต ควบคู่ไปกับการทำให้โปรแกรมเมอร์ในอนาคตเข้าใจ SQL ของคุณได้ง่ายขึ้น

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

SELECT age, '1234' FROM people;

สตริงใดๆ ภายในเครื่องหมายคำพูดเดี่ยวจะถูกส่งกลับแทนที่จะจับคู่ชื่อคอลัมน์

2. ที่ไหน

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

SELECT age, name FROM people WHERE age > 10;

ขณะนี้ แบบสอบถามนี้จำกัดเฉพาะผู้ที่มีอายุมากกว่า 10 ปี คุณสามารถรวมหลายเงื่อนไขโดยใช้คำสั่ง และ โอเปอเรเตอร์:

SELECT age, name FROM people WHERE age > 10 AND age <20;

NS และ คำสั่งทำงานเหมือนกับในภาษาอังกฤษ: ใช้เงื่อนไขอื่นกับคำสั่ง ในตัวอย่างนี้ ข้อมูลที่ส่งคืนจะเป็นบันทึกใดๆ ที่มีอายุระหว่าง 10 ถึง 20 ปี เนื่องจากไม่มีผลลัพธ์ที่ตรงกัน จึงไม่มีการส่งคืนข้อมูล

windows ตรวจไม่พบการตั้งค่าพร็อกซีของเครือข่ายนี้โดยอัตโนมัติ windows 10

คำสั่งอื่นที่สามารถใช้ร่วมกับคำสั่งนี้คือ หรือ . นี่คือตัวอย่าง:

SELECT age, name FROM people WHERE age > 10 OR name = 'Joe';

แบบสอบถามนี้ส่งกลับระเบียนที่อายุมากกว่า 10 หรือชื่อเท่ากับ 'Joe' สังเกตว่ามีเครื่องหมายเท่ากับเพียงตัวเดียวได้อย่างไร? ภาษาโปรแกรมส่วนใหญ่ใช้ double equals (==) เพื่อตรวจสอบความเท่าเทียมกัน สิ่งนี้ไม่จำเป็นสำหรับเอ็นจิ้นฐานข้อมูลส่วนใหญ่ (แต่สามารถทำได้ตามสภาพแวดล้อม ดังนั้นให้ตรวจสอบอีกครั้งก่อน)

3. สั่งซื้อ

NS คำสั่ง คำสั่งใช้เพื่อจัดเรียงผลลัพธ์ที่ส่งคืน เป็นอีกอันที่ใช้งานง่าย เพียงต่อท้ายใบแจ้งยอดของคุณ:

SELECT name, age FROM people ORDER BY age DESC;

คุณต้องระบุคอลัมน์และลำดับซึ่งสามารถ ASC สำหรับขึ้นหรือ รายละเอียด สำหรับการลง คุณสามารถสั่งซื้อได้หลายคอลัมน์ดังนี้:

SELECT name, age FROM people ORDER BY name ASC, age DESC

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

4. เข้าร่วม

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

แอพฟิตเนสที่ดีที่สุดสำหรับ apple watch 2
SELECT age, name, height FROM people LEFT JOIN heights USING (name);

มีบางสิ่งเกิดขึ้นที่นี่ คุณต้องเริ่มต้นด้วยไวยากรณ์ 'LEFT JOIN' ซึ่งระบุว่าคุณต้องการเข้าร่วมตารางโดยใช้การรวมประเภทด้านซ้าย ถัดไป ระบุตารางที่คุณต้องการเข้าร่วม (ความสูง) NS การใช้ (ชื่อ) ไวยากรณ์ระบุว่าคอลัมน์ 'ชื่อ' สามารถพบได้ในทั้งสองตาราง และควรใช้เป็นคีย์ในการรวมตารางเข้าด้วยกัน

อย่ากังวลหากคอลัมน์ของคุณมีชื่อต่างกันในแต่ละตาราง คุณสามารถใช้ 'ON' แทน 'USING':

SELECT age, name, height FROM people LEFT JOIN heights ON (namea = nameb);

คำสั่ง on ระบุอย่างชัดเจนว่าควรใส่คอลัมน์ใด การเข้าร่วมมีหลายประเภท และใช้เวลานานในการลงรายละเอียดสำหรับแต่ละประเภท ดังนั้นนี่คือข้อมูลสรุปโดยย่อของการใช้งาน:

  • (ด้านใน) เข้าร่วม -- ส่งกลับแถวที่มีการจับคู่ในทั้งสองตาราง
  • ซ้าย (นอก) เข้าร่วม -- ส่งกลับแถวทั้งหมดจากตารางด้านซ้าย โดยมีรายการที่ตรงกันจากตารางด้านขวา หากไม่มีรายการที่ตรงกัน ระเบียนตารางด้านซ้ายจะถูกส่งกลับ
  • ขวา (ด้านนอก) เข้าร่วม -- นี่คือสิ่งที่ตรงกันข้ามกับการรวมกันทางซ้าย: แถวทั้งหมดจากตารางด้านขวาจะถูกส่งคืน พร้อมกับรายการที่ตรงกันในตารางด้านซ้าย
  • เต็ม (นอก) เข้าร่วม -- ส่งกลับระเบียนใด ๆ ที่มีการจับคู่ในตารางใดตารางหนึ่ง

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

5. นามแฝง

ตอนนี้คุณรู้พื้นฐานแล้ว มาดูที่ นามแฝง สั่งการ. ใช้เพื่อเปลี่ยนชื่อตารางชั่วคราว ซึ่งเป็นชื่อเล่นมากกว่าอย่างอื่น เนื่องจากชื่อใหม่นี้มีอยู่ในธุรกรรมแต่ละรายการที่คุณกำลังเรียกใช้เท่านั้น วิธีใช้งานมีดังนี้

SELECT A.age FROM people A;

คุณสามารถใช้ชื่อที่ถูกต้องตามต้องการ แต่ฉันชอบใช้ตัวอักษรของตัวอักษร ก่อนชื่อคอลัมน์แต่ละชื่อ นามแฝงจะถูกนำหน้า นามแฝงนี้ถูกกำหนดให้กับตารางทันทีหลังจากมีการประกาศ สิ่งนี้เหมือนกับการทำสิ่งนี้:

SELECT people.age FROM people;

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

SELECT staff.age, staff.name, customers.age, customers.name FROM staff, customers;

และนี่คือข้อความค้นหาเดียวกันกับที่ใช้นามแฝง:

SELECT A.age, A.name, B.age, B.name FROM staff A, customers B;

ตารางพนักงานมีนามแฝงของ 'A' และตารางลูกค้าจะได้รับนามแฝงของ 'B' ตารางนามแฝงช่วยให้โค้ดของคุณเข้าใจง่ายขึ้นจริงๆ และลดจำนวนการพิมพ์ที่คุณต้องทำ

คุณยังสามารถเปลี่ยนชื่อคอลัมน์ด้วยนามแฝงโดยใช้คำสั่ง 'AS':

SELECT age AS person_age FROM people;

เมื่อเรียกใช้แบบสอบถามนี้ คอลัมน์จะเรียกว่า 'person_age' แทนที่จะเป็น 'age'

6. ยูเนี่ยน

ยูเนี่ยน เป็นคำสั่งที่ดี ช่วยให้คุณสามารถผนวกแถวเข้าด้วยกัน ไม่เหมือนการรวมที่ผนวกคอลัมน์ที่ตรงกัน union สามารถผนวกแถวที่ไม่เกี่ยวข้องได้หากมีหมายเลขและชื่อของคอลัมน์เหมือนกัน วิธีใช้งานมีดังนี้

SELECT age, name FROM customers
UNION
SELECT age, name FROM staff;

คุณสามารถนึกถึงการรวมเป็นวิธีการรวมผลลัพธ์ของแบบสอบถามสองรายการ ยูเนี่ยนจะส่งกลับเฉพาะผลลัพธ์ที่มีแถวที่ไม่ซ้ำระหว่างสองคิวรี คุณสามารถใช้ไวยากรณ์ 'UNION ALL' เพื่อส่งคืนข้อมูลทั้งหมด โดยไม่คำนึงถึงข้อมูลที่ซ้ำกัน:

SELECT age, name FROM customers
UNION ALL
SELECT age, name FROM staff;

สังเกตว่าลำดับของแถวเปลี่ยนไปอย่างไร? ยูเนี่ยนดำเนินการอย่างมีประสิทธิภาพสูงสุด ดังนั้นข้อมูลที่ส่งคืนอาจแตกต่างกันไปตามลำดับ

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

7. แทรก

ตอนนี้คุณรู้ทุกอย่างเกี่ยวกับการดึงข้อมูลจากฐานข้อมูลแล้ว แต่การแทรกข้อมูลล่ะ นี่คือที่ที่ แทรก คำสั่งเข้ามา นี่คือตัวอย่าง:

INSERT INTO people(name, age) VALUES('Joe', 102);

คุณต้องระบุชื่อตาราง (คน) และคอลัมน์ที่คุณต้องการใช้ (ชื่อและอายุ) ไวยากรณ์ 'VALUES' จะถูกนำมาใช้เพื่อระบุค่าที่จะแทรก ต้องอยู่ในลำดับเดียวกับคอลัมน์ที่ระบุไว้ก่อนหน้านี้

คุณไม่สามารถระบุส่วนคำสั่ง where สำหรับการแทรก และคุณต้องแน่ใจว่าคุณปฏิบัติตามข้อจำกัดของตารางที่จำเป็นที่มีอยู่

8. อัพเดท

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

UPDATE people SET name = 'Joe', age = 101;

คุณต้องระบุตารางที่คุณต้องการเปลี่ยนแปลง จากนั้นใช้ไวยากรณ์ 'SET' เพื่อระบุคอลัมน์และค่าใหม่ ตัวอย่างนี้เป็นสิ่งที่ดี แต่จะอัปเดตทุกระเบียน ซึ่งเป็นสิ่งที่ไม่พึงปรารถนาเสมอไป!

เพื่อให้มีความเฉพาะเจาะจงมากขึ้น คุณสามารถใช้ส่วนคำสั่ง 'WHERE' ได้เหมือนกับเมื่อทำการเลือก:

UPDATE people SET name = 'Joe', age = 101 WHERE name = 'James';

คุณยังสามารถระบุหลายเงื่อนไขโดยใช้ 'AND' และ 'OR':

UPDATE people SET name = 'Joe', age = 101 WHERE (name = 'James' AND age = 100) OR name = 'Ryan';

สังเกตว่าวงเล็บถูกใช้เพื่อจำกัดเงื่อนไขอย่างไร

โฆษณาป๊อปอัปบนหน้าจอหลักของ Android

9. อัพเสิร์ท

อ๊ะ เป็นคำที่ฟังดูแปลกๆ แต่เป็นคำสั่งที่มีประโยชน์อย่างเหลือเชื่อ สมมติว่าคุณมีข้อจำกัดในตาราง และคุณได้ระบุว่าคุณต้องการเฉพาะระเบียนที่มีชื่อไม่ซ้ำกันเท่านั้น เช่น คุณไม่ต้องการเก็บสองแถวที่มีชื่อเดียวกัน เป็นต้น หากคุณพยายามแทรกค่า 'Joe' หลายค่า กลไกฐานข้อมูลของคุณจะส่งข้อผิดพลาดและปฏิเสธที่จะทำ (ค่อนข้างถูกต้อง) UPSERT ช่วยให้คุณอัปเดตบันทึกได้หากมีอยู่แล้ว สิ่งนี้มีประโยชน์อย่างเหลือเชื่อ! หากไม่มีคำสั่งนี้ คุณจะต้องเขียนตรรกะจำนวนมากเพื่อตรวจสอบก่อนว่ามีระเบียนหรือไม่ ให้แทรกหากไม่มี หรือดึงคีย์หลักที่ถูกต้องแล้วจึงอัปเดต

น่าเสียดายที่ upserts ถูกนำมาใช้แตกต่างกันในกลไกฐานข้อมูลที่แตกต่างกัน PostgreSQL เพิ่งได้รับความสามารถนี้ในขณะที่ MySQL มีมาระยะหนึ่งแล้ว นี่คือไวยากรณ์ MySQL สำหรับการอ้างอิง:

INSERT INTO people(name, age)
VALUES('Joe', 101)
ON DUPLICATE KEY UPDATE age = 101;

สังเกตว่านี่คือการปรับปรุงและคำสั่งแทรก ซึ่งสามารถสรุปได้ว่าเป็น 'อัปเดตหากการแทรกล้มเหลว'

10. ลบ

ลบ ใช้เพื่อลบบันทึกทั้งหมด - อาจสร้างความเสียหายได้หากถูกละเมิด! ไวยากรณ์พื้นฐานใช้งานง่ายมาก:

DELETE FROM people;

เช่นเดียวกับคำสั่งอื่นๆ ส่วนใหญ่จะลบ ทุกอย่าง ! คุณต้องใช้ตำแหน่งที่จะ จำกัด จำนวนแถวที่เหมาะสมกว่าเล็กน้อย - อย่างใดอย่างหนึ่ง:

DELETE FROM people WHERE name = 'Joe';

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

11. สร้างตาราง

NS สร้างตาราง คำสั่งใช้สร้างตาราง เป็นอีกสิ่งหนึ่งที่ง่ายมาก:

CREATE TABLE people (
name TEXT,
age, INTEGER,
PRIMARY KEY(name)
);

สังเกตว่าชื่อคอลัมน์และข้อจำกัดอยู่ภายในวงเล็บอย่างไร และคอลัมน์จะได้รับประเภทข้อมูลที่เหมาะสม มีการระบุคีย์หลัก ตามความจำเป็นในการออกแบบฐานข้อมูลที่ดี

12. เปลี่ยนตาราง

NS เปลี่ยนตาราง คำสั่งใช้เพื่อแก้ไขโครงสร้างของตาราง ซึ่งมีข้อ จำกัด เล็กน้อย เนื่องจากฐานข้อมูลของคุณจะไม่อนุญาตให้คุณแก้ไขตารางหากข้อมูลที่มีอยู่จะทำให้เกิดข้อขัดแย้ง เช่น การเปลี่ยนสตริงเป็นจำนวนเต็ม เป็นต้น ในกรณีดังกล่าว ให้แก้ไขข้อมูลก่อน แล้วจึงแก้ไขตาราง นี่คือตัวอย่าง:

ALTER TABLE people ADD height integer;

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

13. วางตาราง

คำสั่งสุดท้ายคือ วางโต๊ะ . คิดว่านี่เป็นการลบ แต่แทนที่จะลบระเบียนเดียว มันจะลบทุกระเบียนเดียวพร้อมกับตาราง! วิธีใช้งานมีดังนี้

DROP TABLE people;

เป็นคำสั่งที่ค่อนข้างรุนแรง และไม่มีเหตุผลที่จะต้องตั้งโปรแกรมไว้ในระบบของคุณ ควรดำเนินการด้วยตนเองในกรณีส่วนใหญ่เท่านั้น และสามารถทำได้ มาก ทำลายล้าง

นั่นคือทั้งหมดสำหรับวันนี้ ฉันหวังว่าคุณจะได้เรียนรู้เคล็ดลับที่เป็นประโยชน์! คุณสามารถเรียนรู้วิธีการ ทำเว็บไซต์ จากนั้นใช้ทักษะที่คุณเพิ่งค้นพบเพื่อทำให้เป็นไดนามิก เพียงให้แน่ใจว่าคุณไม่ได้ทำผิดพลาดเหล่านี้หรือปล่อยให้เสี่ยงต่อการฉีด SQL หากคุณไม่แน่ใจว่าจำเป็นต้องเรียนรู้ SQL คุณได้พิจารณาตัวสร้างไซต์แบบคงที่หรือไม่

ทำไมไม่แสดงความคิดเห็นด้านล่างด้วยเคล็ดลับและลูกเล่น SQL ที่คุณชื่นชอบ?

เครดิตรูปภาพ: HYS_NP/Shutterstock

แบ่งปัน แบ่งปัน ทวีต อีเมล การอัพเกรดเป็น Windows 11 คุ้มค่าหรือไม่?

Windows ได้รับการออกแบบใหม่ แต่นั่นเพียงพอที่จะโน้มน้าวให้คุณเปลี่ยนจาก Windows 10 เป็น Windows 11 หรือไม่

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • การเขียนโปรแกรม
  • การเขียนโปรแกรม
  • SQL
เกี่ยวกับผู้เขียน โจ โคเบิร์น(136 บทความที่ตีพิมพ์)

โจสำเร็จการศึกษาด้านวิทยาการคอมพิวเตอร์จากมหาวิทยาลัยลินคอล์น ประเทศอังกฤษ เขาเป็นนักพัฒนาซอฟต์แวร์มืออาชีพ และเมื่อเขาไม่ได้ขับโดรนหรือเขียนเพลง เขามักจะถูกมองว่าถ่ายภาพหรือผลิตวิดีโอ

เพิ่มเติมจาก Joe Coburn

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก