สวัสดีทุกคน. คนที่มีความมุ่งมั่นและอยากเป็นนักพัฒนา Java มารวมตัวกันที่นี่ และนี่คือตรรกะ: JavaRush ถูกสร้างขึ้นเพื่อสิ่งนี้ ในการเป็นนักพัฒนาที่เต็มเปี่ยม คุณจำเป็นต้องรู้รายการหัวข้อบางหัวข้อ ฉันได้อธิบายรายการตรวจ สอบความรู้ทั้งหมดที่จำเป็นสำหรับนักพัฒนา Java ในบทความนี้
ดังนั้น: หนึ่งในหัวข้อที่จำเป็นในรายการนี้คือความรู้เกี่ยวกับภาษา SQL และความคุ้นเคยกับฐานข้อมูลเชิงสัมพันธ์อย่างน้อยหนึ่งฐานข้อมูล ข่าวดีก็คือ คุณต้องการหนังสือเพียงเล่มเดียวเพื่อเรียนรู้ SQL ในระดับที่เพียงพอสำหรับ Java Developer! มีตัวเลือกมากมายสำหรับหนังสือที่เหมาะสำหรับการเรียนรู้ SQL เบื้องต้น แต่วันนี้ฉันอยากจะเน้นไปที่ “SQL. คอลเลกชันสูตรอาหาร” โดย Anthony Molinaro
ความพิเศษของหนังสือเล่มนี้คือ นอกเหนือจากการศึกษา SQL ในระดับพื้นฐานแล้ว คุณจะคุ้นเคยกับฐานข้อมูลหลาย ๆ ตัวในคราวเดียว และดูว่าแบบสอบถามสำหรับฐานข้อมูลเหล่านั้นแตกต่างกันอย่างไร และคุณลักษณะของฐานข้อมูลเฉพาะคืออะไร หนังสือเล่มนี้ครอบคลุมการสืบค้นฐานข้อมูลต่อไปนี้:
ก่อนอื่น หนังสือเล่มนี้จะเป็นประโยชน์สำหรับนักพัฒนามือใหม่ เช่น ในภาษา Java คุณจะต้องจัดการกับฐานข้อมูลเชิงสัมพันธ์ต่างๆ ในระดับพื้นฐาน ดังนั้นหนังสือเล่มนี้จะช่วยให้คุณได้รับความรู้ที่จำเป็นเกี่ยวกับ SQL
คุณอาจคุ้นเคยกับการสร้างคำสั่ง SQL เป็นอย่างดี แต่หนังสือเล่มนี้ก็จะทำให้คุณประหลาดใจและเสริมความรู้ของคุณ หรือ ตัวอย่างเช่น คุณย้ายไปยังโครงการที่มีฐานข้อมูลเชิงสัมพันธ์ที่ไม่คุ้นเคยสำหรับคุณ จากนั้น ด้วยความช่วยเหลือของหนังสือเล่มนี้ คุณจะสามารถดึงการเปรียบเทียบจากการสืบค้นจากฐานข้อมูลที่คุ้นเคยไปยังฐานข้อมูลใหม่ได้
คุณอาจแค่คิดที่จะเป็นนักพัฒนาฐานข้อมูล หนังสือเล่มนี้เหมาะสำหรับคุณ! คุณจะสามารถศึกษาพื้นฐานของ SQL, กล่าวถึงฐานข้อมูลต่างๆ, และเลือกฐานข้อมูล “ของคุณ” ซึ่งคุณจะได้ศึกษารายละเอียดเพิ่มเติมในอนาคต
จะทำอย่างไรหลังจากอ่านหนังสือเล่มนี้?
ตอนนี้เรามาดูเนื้อหาของหนังสือกันสักหน่อย:


- ดีบี2;
- ฐานข้อมูลออราเคิล;
- PostgreSQL;
- เซิร์ฟเวอร์ SQL;
- MySQL.
หนังสือเล่มนี้เหมาะกับใคร?
- นักพัฒนาเริ่มต้น
ก่อนอื่น หนังสือเล่มนี้จะเป็นประโยชน์สำหรับนักพัฒนามือใหม่ เช่น ในภาษา Java คุณจะต้องจัดการกับฐานข้อมูลเชิงสัมพันธ์ต่างๆ ในระดับพื้นฐาน ดังนั้นหนังสือเล่มนี้จะช่วยให้คุณได้รับความรู้ที่จำเป็นเกี่ยวกับ SQL
- นักพัฒนาที่มีประสบการณ์
คุณอาจคุ้นเคยกับการสร้างคำสั่ง SQL เป็นอย่างดี แต่หนังสือเล่มนี้ก็จะทำให้คุณประหลาดใจและเสริมความรู้ของคุณ หรือ ตัวอย่างเช่น คุณย้ายไปยังโครงการที่มีฐานข้อมูลเชิงสัมพันธ์ที่ไม่คุ้นเคยสำหรับคุณ จากนั้น ด้วยความช่วยเหลือของหนังสือเล่มนี้ คุณจะสามารถดึงการเปรียบเทียบจากการสืบค้นจากฐานข้อมูลที่คุ้นเคยไปยังฐานข้อมูลใหม่ได้
- นักพัฒนา SQL ระดับเริ่มต้น
คุณอาจแค่คิดที่จะเป็นนักพัฒนาฐานข้อมูล หนังสือเล่มนี้เหมาะสำหรับคุณ! คุณจะสามารถศึกษาพื้นฐานของ SQL, กล่าวถึงฐานข้อมูลต่างๆ, และเลือกฐานข้อมูล “ของคุณ” ซึ่งคุณจะได้ศึกษารายละเอียดเพิ่มเติมในอนาคต
หนังสือเล่มนี้เกี่ยวกับอะไร
หนังสือเล่มนี้ครอบคลุมหัวข้อ SQL พื้นฐานทีละบท ตลอดจนปัญหา SQL ต่างๆ และแนวทางแก้ไข ดังนั้นจึงสามารถใช้เป็นข้อมูลอ้างอิงได้: มีปัญหาเกิดขึ้น คุณกำลังมองหาวิธีแก้ไขที่เหมาะสม จากนั้นคุณกำลังสร้างวิธีแก้ปัญหาให้เหมาะสมกับสภาวะปัจจุบัน หน้าหนังสือเล่มนี้มีสูตรอาหารมากกว่า 150 สูตร ใช่แล้ว เป็นสูตรสำหรับสร้างคำสั่ง SQL นั่นเอง นั่นคือสาเหตุที่หนังสือเล่มนี้มีชื่อนี้
- อย่ากลัวที่จะทดลอง เพราะมีเพียงการลองผิดลองถูกเท่านั้นที่คุณจะได้รับประสบการณ์อันมีค่าเช่นนี้ ดังนั้นจงฝึกฝน ฝึกฝน และฝึกฝนอีกครั้ง!
- ทดสอบเลย สิ่งที่ฉันหมายถึงคือในขณะที่อ่านหนังสือเล่มนี้ ควรลองใช้ตัวอย่างคำถามที่ให้ไว้คู่ขนานจะดีกว่า ซึ่งด้วยเหตุนี้ คุณจะจดจำได้ดีในความทรงจำของคุณ
- การทำซ้ำเป็นบ่อเกิดของการเรียนรู้ ดังนั้นจึงแนะนำให้เขียนบันทึกที่คุณสามารถจดประเด็นสำคัญและทำซ้ำเป็นระยะๆ เพื่อให้การเขียนคำถามในอนาคตไม่ทำให้คุณเกิดปัญหาใดๆ
- คุณต้องเข้าใจว่าสิ่งใหม่ไม่ได้หมายความว่าดีกว่าเสมอไป เพียงเพราะคุณไม่ได้ใช้คุณลักษณะ SQL ล่าสุดบางอย่าง (เช่น ฟังก์ชันหน้าต่าง) ไม่ได้หมายความว่าโค้ดของคุณใช้งานไม่ได้ ท้ายที่สุดแล้ว มีตัวอย่างมากมายที่โซลูชัน SQL แบบดั้งเดิมไม่ได้แย่ไปกว่านั้น และบางครั้งก็ดีกว่าโซลูชันใหม่อีกด้วย
- อย่ากลัวที่จะทดลอง สร้างสรรค์งานของคุณ! ท้ายที่สุดแล้วยังไม่มีการคิดค้นวิธีแก้ปัญหาทั้งหมด: บางทีในสถานการณ์ของคุณแนวทางที่สร้างสรรค์อาจเป็นสิ่งที่ดีที่สุด

1. การแยกบันทึก
บทนี้จะพิจารณาคำถามแรกและง่ายที่สุด ในตัวอย่างคุณจะเห็น:- วิธี ใช้ส่วนคำสั่งWHEREเพื่อเลือกแถวในชุดผลลัพธ์ทั่วไป
- วิธีกำหนดนามแฝงให้กับคอลัมน์ผลลัพธ์
- คุณสามารถใช้แบบสอบถามย่อยเพื่อเข้าถึงคอลัมน์ด้วยนามแฝงได้อย่างไร
- วิธีจำกัดจำนวนที่ส่งคืนในแถวผลลัพธ์
- วิธีส่งคืนสตริงสุ่มและตรวจจับค่า NULL
2. การเรียงลำดับผลลัพธ์แบบสอบถาม
บทนี้จะกล่าวถึงการเรียงลำดับผลลัพธ์ของแบบสอบถาม ที่จริงแล้ว ตัว ดำเนิน การ ORDER BY ใช้สำหรับสิ่งนี้ คุณจะเห็นตัวอย่างความซับซ้อนที่แตกต่างกันไปตั้งแต่การเรียงลำดับคอลัมน์เดียว การเรียงลำดับตามสตริงย่อย ไปจนถึงการเรียงลำดับโดยใช้เงื่อนไขต่างๆ3. การทำงานกับหลายตาราง
เนื้อหาในส่วนนี้ของหนังสือจะแนะนำวิธีรวมข้อมูลจากหลายตาราง ฉันจะไม่โกหกถ้าฉันบอกว่าการรวมตารางเป็นหนึ่งในเสาหลักพื้นฐานของ SQL และเพื่อที่จะประสบความสำเร็จกับ SQL คุณต้องได้รับความรู้นี้และสามารถใช้งานได้ ที่นี่คุณจะเห็นตัวอย่างของการรวมทั้งภายในและภายนอก ผลคูณคาร์ทีเซียน การดำเนินการของเซตพื้นฐาน (การลบ การรวม อินเตอร์เซกชัน) และวิธีที่การรวมส่งผลต่อฟังก์ชันการรวม4. แทรก อัปเดต ลบ
ในส่วนนี้ คุณจะได้เรียนรู้การสืบค้น SQL เพื่อแทรก อัปเดต และลบข้อมูล นอกจากนี้ยังมีการกล่าวถึงตัวอย่างที่น่าสนใจเพิ่มเติมด้วย - การดำเนินการ เช่น การแทรกแถวจากตารางหนึ่งไปยังอีกตารางหนึ่ง หรือใช้แบบสอบถามย่อยที่เกี่ยวข้องระหว่างการอัปเดต คุณจะเข้าใจผลลัพธ์ของการมีค่า NULL เรียนรู้เกี่ยวกับการแทรกหลายตาราง คำสั่ง MERGE ฯลฯ5. การร้องขอข้อมูลเมตา
บทนี้พูดถึงการสร้างแบบสอบถามเพื่อเข้าถึงข้อมูลเมตาของฐานข้อมูลที่คุณใช้: การทราบดัชนี ข้อจำกัด และตารางสคีมาจะมีประโยชน์ ข้อความค้นหาง่ายๆ ที่เสนอที่นี่ช่วยให้คุณได้รับข้อมูลเกี่ยวกับสคีมาเอง นอกจากนี้ บทนี้ยังแสดงตัวอย่างของ "Dynamic SQL" ซึ่งก็คือ SQL ที่สร้างโดย SQL6. การทำงานกับสตริง
บทนี้แนะนำเทคนิคในการทำงานกับสตริง ไม่เคยมีใครรู้จัก SQL ในเรื่องความสามารถในการแยกวิเคราะห์สตริง แต่ความคิดสร้างสรรค์เล็กๆ น้อยๆ ที่ผสมผสานกับฟังก์ชันที่หลากหลายจากฐานข้อมูลต่างๆ ก็สามารถประสบความสำเร็จอย่างมากในเรื่องนี้ จริงๆ แล้วบทนี้เป็นจุดเริ่มต้นของความสนุก ตัวอย่างบางส่วนจะทำให้คุณประหลาดใจ ตัวอย่างเช่น:- การนับอินสแตนซ์ของอักขระในสตริง
- แปลงรายการและสตริงที่มีตัวคั่นเป็นแถวของตาราง
- การสร้างรายการที่คั่นด้วยแถวของตาราง
- การแยกข้อมูลตัวเลขและอักขระของสตริงที่ประกอบด้วยอักขระตัวอักษรและตัวเลข
7. การทำงานกับตัวเลข
หนังสือเล่มนี้ในส่วนนี้จะกล่าวถึงวิธีแก้ปัญหามาตรฐานเกี่ยวกับตัวเลข ที่นี่คุณจะพบตัวอย่างทั่วไปและเรียนรู้ว่าฟังก์ชันหน้าต่างสามารถจัดการงานการคำนวณและการรวมกลุ่มได้อย่างง่ายดายได้อย่างไร คุณจะได้เรียนรู้:- คำนวณจำนวนเงินปัจจุบัน
- ค้นหาค่าเฉลี่ย ค่ามัธยฐาน และโหมด
- คำนวณเปอร์เซ็นไทล์
- จัดการค่า NULL เมื่อดำเนินการรวม
8-9. เลขคณิตวันที่
ในสองบทนี้ คุณจะได้เรียนรู้วิธีทำงานกับวันที่ เนื่องจากเมื่อแก้ไขปัญหาในชีวิตประจำวัน สิ่งสำคัญคือต้องสามารถดำเนินการที่ง่ายที่สุดและทั่วไปที่สุดกับวันที่เหล่านั้นได้ ตัวอย่างต่างๆ ได้แก่ การค้นหาจำนวนวันทำงานระหว่างวันที่สองวัน การคำนวณความแตกต่างระหว่างวันที่สองวันในหน่วยเวลาที่ต่างกัน การส่งคืนวันทั้งหมดของปี การค้นหาปีอธิกสุรทิน การค้นหาวันแรกและวันสุดท้ายของเดือน การสร้างปฏิทิน เป็นต้น . หลังจากบทเหล่านี้ คุณจะกลัวงานใดๆ ที่เกี่ยวข้องกับวันที่ได้ยากมาก (แต่คุณสามารถทำให้คุณกลัวได้)10. การทำงานกับช่วงข้อมูล*
บทนี้จะแนะนำวิธีการค้นหาค่าในช่วงวันที่แล้ว คุณจะได้เรียนรู้วิธีสร้างลำดับสตริงโดยอัตโนมัติ แทรกค่าช่วงตัวเลขที่หายไป กำหนดจุดเริ่มต้นและจุดสิ้นสุดของช่วงค่า และระบุลำดับของค่า11. การค้นหาขั้นสูง*
ที่นี่คุณจะพบกับคุณสมบัติที่สำคัญสำหรับการทำงานกับฐานข้อมูลทุกวัน แต่บางครั้งก็ทำให้เกิดปัญหา ตัวอย่างในบทนี้ได้แก่ การค้นหาค่าโดยใช้ท่าอัศวิน การแยกชุดผลลัพธ์ออกเป็นหน้าต่างๆ การข้ามแถวของตาราง การค้นหาค่าส่วนกลับ และอื่นๆ12. การรายงานและการจัดการคลังข้อมูล**
บ่อยครั้งที่เราอาจต้องการคำถามพิเศษเพื่อสร้างรายงาน บทนี้จะช่วยให้เราทำเช่นนั้น: ที่นี่ คุณจะดูตัวอย่างการแปลงแถวเป็นคอลัมน์และในทางกลับกัน (รายงานการอ้างอิงโยง) การสร้างกลุ่มข้อมูล การสร้างฮิสโตแกรม การคำนวณผลรวมย่อยแบบง่ายและแบบเต็ม การรวมหน้าต่างแบบเลื่อนของแถว และจัดกลุ่มแถวตามช่วงเวลาที่กำหนด13. การสืบค้นแบบลำดับชั้น**
บทนี้จะบอกเราเกี่ยวกับความเป็นไปได้ในการทำงานกับข้อมูลแบบลำดับชั้น ไม่ว่าโมเดลข้อมูลจะเป็นเช่นไร วันหนึ่งจำเป็นต้องจัดรูปแบบเป็นแผนผังลำดับชั้นหรือความสัมพันธ์ระหว่างพาเรนต์->รอง ดังนั้นในบทนี้ คุณจะวิเคราะห์ปัญหาและแนวทางแก้ไขสำหรับเรื่องนี้ การสร้างชุดผลลัพธ์ที่มีโครงสร้างแบบต้นไม้เป็นเรื่องยากโดยใช้ SQL แบบดั้งเดิม ดังนั้นบทช่วยสอนนี้จะแสดงให้คุณเห็นถึงวิธีการใช้ฟังก์ชันพิเศษที่มีประโยชน์อย่างยิ่ง ในตัวอย่าง คุณจะดูรายละเอียดเกี่ยวกับความสัมพันธ์ระหว่างพาเรนต์->รอง ข้ามลำดับชั้นจากโหนดรูทไปยังโหนดปลายสุด และสะสมลำดับชั้น14. ของต่างๆ
และในที่สุดคุณจะเห็นคุณสมบัติที่เหลือทั้งหมดที่ไม่เหมาะกับบทใด ๆ ก่อนหน้านี้ แต่ในขณะเดียวกันก็น่าสนใจและมีประโยชน์ไม่น้อย บทนี้ยังแตกต่างจากบทอื่นๆ ตรงที่มีการนำเสนอโซลูชันสำหรับ DBMS ที่เฉพาะเจาะจงเท่านั้น นี่เป็นบทเดียวในหนังสือที่มีการกล่าวถึงฐานข้อมูลเดียวต่อสูตรอาหาร สิ่งนี้ทำขึ้นเพื่อแสดงความสามารถและคุณสมบัติของ DBMS เฉพาะ (เพื่อให้คุณรู้สึกถึงความแตกต่างระหว่างสิ่งเหล่านี้ได้ดีขึ้น) ข้อดีของหนังสือ:- ตัวอย่างมากมาย
- เหมาะสำหรับการดำน้ำแบบ "หลัก"
- มีการพิจารณาตัวอย่างสำหรับ DBMS ต่างๆ
- มีการแปลที่ดี.
หนังสืออะนาล็อก
- “การเรียนรู้ SQL” - Alan Bewley: หนังสือสำหรับการเรียนรู้ SQL เบื้องต้นโดยคำนึงถึง DBMS ต่างๆ แต่เน้นเป็นพิเศษที่ MySQL ข้อเสียของหนังสือคือการ "เคี้ยว" ข้อมูลใหม่ๆ ไม่เพียงพอ
- "SQL: คู่มือการเรียนรู้ภาษา" - Chris Fiaily: หนังสือที่ครอบคลุมพื้นฐานของฐานข้อมูลต่างๆ เหมาะสำหรับผู้เริ่มต้น แต่ถ้าคุณคุ้นเคยกับ SQL อยู่แล้วและต้องการเรียนรู้จุดปลีกย่อยเพิ่มเติม คุณอาจต้องมองหาที่อื่น
- “มุ่งหน้าก่อน - การเรียนรู้ SQL” - Lynn Bailey: หนังสือที่มีอุปสรรคในการเข้าต่ำมาก โดยจะถ่ายทอดประเด็นพื้นฐานหลายประการในลักษณะที่เข้าถึงได้และมีรายละเอียด (บางทีอาจง่ายเกินไปด้วยซ้ำ) ในตัวอย่างหนังสือเล่มนี้ไม่ได้พิจารณาฐานข้อมูลหลายฐานข้อมูลเช่นเดียวกับแอนะล็อกด้านบน แต่มีหนึ่งฐานข้อมูล - MySQL
GO TO FULL VERSION