SQL หมายถึงภาษาคิวรีที่มีโครงสร้าง เป็นภาษาเฉพาะโดเมนที่ใช้สำหรับการดึงข้อมูลที่จัดเก็บไว้ในฐานข้อมูล SQL จัดการข้อมูลที่เก็บไว้ใน ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) กล่าวคือ ข้อมูลที่เกี่ยวข้องกับความสัมพันธ์ระหว่างเอนทิตีและตัวแปร ภาษาคิวรีแบบมีโครงสร้างเข้ากันได้กับทุกวิชาเอก ระบบปฏิบัติการ .
ก่อนหน้านี้ การจัดการข้อมูลทำได้โดยใช้ ISAM (วิธีการเข้าใช้ตามลำดับที่จัดทำดัชนี) และ VSAM (วิธีการเข้าถึงที่เก็บข้อมูลเสมือน) . ภาษาคิวรีที่มีโครงสร้างมีประโยชน์มากกว่า ISAM และ VSM ด้วยการใช้คำสั่งเดียวใน SQL คุณสามารถดึงข้อมูลหลายระเบียนหรือข้อมูลได้ ข้อดีอีกประการหนึ่งคือไม่ต้องระบุวิธีเข้าถึงข้อมูล
สารบัญ
- SQL คืออะไร?
- ฐานข้อมูล RDBMS
- RDBMS คืออะไร?
- ข้อมูลพื้นฐานเกี่ยวกับ SQL
- ประเภทข้อมูล SQL
- ตัวดำเนินการ SQL
- นิพจน์ SQL
- สร้าง วาง และใช้คำสั่งฐานข้อมูลในSQL
- สร้างตาราง
- ใส่ค่าใน Table
- คำสั่ง SELECT
- WHERE ข้อ
- AND และ OR ตัวดำเนินการ
- มีข้อ
- ฟังก์ชันรวม
- อัปเดตคำสำคัญ
- ลบแบบสอบถาม
- เรียงตามข้อ
- จัดกลุ่มตามข้อ
- DISTINCT คำสำคัญ
- SQL เข้าร่วม
- บทสรุป
- บทความแนะนำ
SQL คืออะไร?
SQL เป็นภาษาสำหรับการสร้าง จัดการ และบำรุงรักษาฐานข้อมูล นอกจากนี้ยังช่วยในการแทรกข้อมูล ลบ หรือแก้ไขข้อมูล ภาษานี้ประกอบด้วยภาษาย่อยหลายภาษา เช่น ภาษากำหนดข้อมูล (DDL) , ภาษาการจัดการข้อมูล (DML) , ภาษาแบบสอบถามข้อมูล (DQL) , และ ภาษาควบคุมข้อมูล (DCL) .
SQL ประกอบด้วยการสอบถามข้อมูล ข้อกำหนดของข้อมูล การจัดการข้อมูล และการควบคุมการเข้าถึงข้อมูล แบบสอบถามข้อมูลเป็นคำสั่งที่ใช้ในการดึงข้อมูลใด ๆ จากฐานข้อมูล คำจำกัดความของข้อมูลเกี่ยวข้องกับการกำหนดสคีมาฐานข้อมูล และการจัดการข้อมูลรวมถึงการแทรก การอัพเดต และการลบข้อมูล
ในปี 1986 SQL กลายเป็น สถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) มาตรฐาน. ในปีถัดมาก็กลายเป็น องค์การระหว่างประเทศเพื่อการมาตรฐาน (ISO) มาตรฐาน. ในปี 1970 Donald D. Chamberlin และ Raymond F. Boyce พัฒนา SQL ที่ IBM
ก่อนหน้านี้รู้จักกันในชื่อ SEQUEL (Structured English Query Language) ได้รับการออกแบบมาเป็นพิเศษสำหรับการจัดเก็บและเรียกข้อมูลของ IBM มีเวอร์ชัน SQL ต่างๆ ที่เผยแพร่ในปี 1989, 1992, 1996, 1999, 2003, 2006, 2008, 2011 และ 2016
SQL เป็นภาษาหลักสำหรับระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ทั้งหมด เช่น MySQL, Oracle, Sybase, SQL Server, MS Access, Postgres และ Informix การใช้ภาษาถิ่นแบบสอบถามนี้มีประโยชน์หลายประการ SQL ช่วยให้ผู้ใช้สามารถเข้าถึงข้อมูลจากระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ใดๆ
ผู้ใช้สามารถกำหนดข้อมูล แก้ไข หรือลบข้อมูลโดยใช้ SQL คุณยังสามารถฝังภาษาถิ่นนี้ในภาษาการเขียนโปรแกรมอื่น ๆ ที่จำเป็นต้องดึงข้อมูล อนุญาตให้ผู้ใช้สร้างและตั้งค่าการอนุญาตสำหรับโพรซีเดอร์ ฟังก์ชัน และมุมมองที่เก็บไว้
ตอนนี้เรารู้เกี่ยวกับ SQL และประวัติของมันแล้ว ให้เรามุ่งเน้นไปที่ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) PL/SQL, ส่วนขยายภาษาขั้นตอนเป็นSQL , ช่วยขยาย SQL และให้ความสามารถในการดำเนินการ
ฐานข้อมูล RDBMS
เราได้เห็นแล้วว่า SQL ถูกใช้โดยฐานข้อมูล RDBMS จำนวนมาก เช่น MySQL, SQL Server, Oracle, MS Access เป็นต้น ดังนั้น ในส่วนนี้ เราจะเรียนรู้เกี่ยวกับฐานข้อมูล RDBMS บางส่วน เราจะเห็นคุณสมบัติของแต่ละฐานข้อมูล และจากนั้นเราสามารถทราบความแตกต่างระหว่างพวกเขาได้
หนึ่ง. MySQL:
บริษัทสัญชาติสวีเดนชื่อ MySQL AB ได้พัฒนา MySQL ฐานข้อมูลซึ่งใช้งานได้ฟรีและเป็นโอเพ่นซอร์ส MySQL เข้ากันได้กับระบบหลักทั้งหมด เช่น Microsoft Windows ลินุกซ์ , ระบบปฏิบัติการ Unix และ macOS คุณสามารถใช้เวอร์ชันเชิงพาณิชย์หรือไม่ใช่เชิงพาณิชย์ได้ ตามเวอร์ชันต่างๆ คุณจะได้รับคุณสมบัติต่างๆ ประกอบด้วยเซิร์ฟเวอร์ฐานข้อมูลที่ทนทาน เร็วขึ้น มัลติเธรด และผู้ใช้หลายคน
ในปี 1994 Micheal Widenius และ David Axmark ได้พัฒนา MySQL และออกเสียงในบริบทของ 'my ess-que-ell' ในวันที่ 23 พฤษภาคม 1995 ฐานข้อมูล MySQL รุ่นแรกเปิดตัว ฐานข้อมูลนี้เข้ากันได้กับระบบ Windows เมื่อวันที่ 8 มกราคม 1998 ได้รับการเผยแพร่ครั้งแรกสำหรับ Windows 95 และ NT
ดิ MySQL เวอร์ชัน 3.23: เบต้าเปิดตัวระหว่างมิถุนายน 2543 ถึงมกราคม 2544 เวอร์ชันถัดไป 4.0: เบต้า เปิดตัวระหว่างเดือนสิงหาคม 2545 ถึงมีนาคม 2546 ตั้งแต่มิถุนายน 2547 ถึงตุลาคม 2547 เวอร์ชัน 4.1: เบต้าได้รับการเผยแพร่ เวอร์ชันต่อไปนี้ 5.1: เบต้า ผลิตขึ้นตั้งแต่เดือนมีนาคม 2548 ถึงตุลาคม 2548 ต่อมาในปี 2551 Sun Microsystems ได้ซื้อ MySQL และเวอร์ชันล่าสุด 5.2: เบต้าเปิดตัว
คุณสมบัติ:
MySQL นำเสนอประสิทธิภาพสูง ความพร้อมใช้งานสูง และความยืดหยุ่นในการรันทุกอย่าง นอกจากนี้ยังสนับสนุนการทำธุรกรรมที่มีประสิทธิภาพในการดำเนินการ ข้อมูลทั้งหมดในฐานข้อมูล MySQL ได้รับการปกป้องและมีความปลอดภัยสูง สามารถใช้ได้ฟรีและโอเพ่นซอร์ส
สอง. ออราเคิล:
Oracle เป็นหนึ่งในฐานข้อมูลเชิงสัมพันธ์ที่ใช้กันอย่างแพร่หลายซึ่งมีผู้ใช้หลายคนและระบบการจัดการขนาดใหญ่ Oracle Corporation เปิดตัวฐานข้อมูลเชิงสัมพันธ์ของ Oracle DBMS นี้เหมาะที่สุดสำหรับการทำงานของไคลเอนต์/เซิร์ฟเวอร์ ลูกค้าหลายรายสามารถเข้าถึงและส่งข้อมูลผ่านเครือข่ายได้ Oracle เข้ากันได้กับระบบไคลเอ็นต์และเซิร์ฟเวอร์ เช่น UNIX, UnixWare, OS/2, NetWare และ MSDOS
Larry Ellison, Ed Oates และ Bob Miner พัฒนาฐานข้อมูล Oracle ในปี 1977 และก่อตั้ง Software Development Laboratories ในปี 1979 เวอร์ชัน 2.0 Oracle ได้เปิดตัวในอีกสองปีข้างหน้า ซึ่งเป็นเวอร์ชัน Oracle เชิงพาณิชย์รุ่นแรก พวกเขาเปลี่ยนชื่อ Software Development Laboratories เป็น Relational Software Inc. (RSI) องค์กรนี้ภายหลังได้รับการตั้งชื่อว่า Oracle Corporation ในปี 1982 เวอร์ชันถัดไป 3.0 เปิดตัวในปี 1983 ในภาษา C Oracle เวอร์ชัน 4.0 ซึ่งพัฒนาขึ้นในปี 1984 มีคุณลักษณะขั้นสูงเพิ่มเติม เช่น ความสอดคล้องในการอ่านหลายเวอร์ชัน การควบคุมพร้อมกัน ฯลฯ Oracle 11g ซึ่งเป็นเวอร์ชันล่าสุดเปิดตัวในปี 2550
ฐานข้อมูลเชิงสัมพันธ์ของ Oracle เกี่ยวข้องกับคุณสมบัติขั้นสูง เช่น การทำงานพร้อมกัน กลไกการล็อก SQL Plus ตัวจัดการทรัพยากร การทำเหมืองข้อมูล การแบ่งพาร์ติชัน คลังข้อมูล การดำเนินการแบบขนาน ฯลฯ
3. เซิร์ฟเวอร์ MS SQL:
ฐานข้อมูลเชิงสัมพันธ์จาก Microsoft คือ MS SQL Server . วัตถุประสงค์หลักของฐานข้อมูลนี้คือการจัดเก็บและดึงข้อมูลในฐานข้อมูล เข้ากันได้กับ Microsoft Windows, Linux และ Windows Server ระบบปฏิบัติการ. MS SQL Server อนุญาตให้แอปพลิเคชันซอฟต์แวร์ใดๆ ที่มีอยู่ในคอมพิวเตอร์เครื่องเดียวกันหรือคนละเครื่อง หรือข้ามเครือข่าย เพื่อดึงข้อมูล ใช้ภาษาฐานข้อมูล ANSI SQL และ T-SQL
เริ่มแรกในปี 1987 SQL Server ได้รับการพัฒนาสำหรับระบบ UNIX โดย Sybase ในปีถัดมา Microsoft, Aston-Tate และ Sybase ได้ออก SQL Server 1.0 สำหรับ OS/2 สำหรับผู้ใช้ Windows 3.0 เวอร์ชัน 1.1 ของ SQL Server เปิดตัวในปี 1990 ต่อมา Aston-Tate ออกจากองค์กร และ Micorosft เปิดตัว SQL Server 2000 ในปี 2000 ในปีหน้า XML สำหรับฐานข้อมูลนี้ได้รับการพัฒนา SQLXML 2.0 ที่พัฒนาขึ้นในปี 2002 และต่อมาได้ปล่อย SQLXML 3.0 เวอร์ชันล่าสุด SQL Server 2005 ได้รับการพัฒนาเมื่อวันที่ 7 พฤศจิกายน พ.ศ. 2548
MS SQL Server มีคุณสมบัติการมิเรอร์ฐานข้อมูล, ทริกเกอร์ DDL, การรวม XML ที่ราบรื่น, เมลฐานข้อมูล, ประสิทธิภาพสูง และความพร้อมใช้งานสูง
สี่. การเข้าถึง MS:
ฐานข้อมูลเชิงสัมพันธ์ยอดนิยมอีกฐานข้อมูลหนึ่งคือ MS Access เช่นเดียวกับฐานข้อมูลข้างต้น MS Access ก็เป็นผลิตภัณฑ์ของ Microsoft เช่นกัน DBMS นี้ใช้สำหรับธุรกิจขนาดเล็กและมีราคาไม่แพงเป็นพิเศษ ประกอบด้วยเอ็นจิ้นฐานข้อมูล Jet เอ็นจิ้นนี้เรียกอีกอย่างว่า Jet SQL เนื่องจากใช้ภาษา SQL
ในปี 1992 MS Access เวอร์ชัน 1.0 แรกได้รับการพัฒนา ในปีหน้า ได้มีการพัฒนาด้วยภาษาการเขียนโปรแกรม Access Basic เพื่อปรับปรุงความเข้ากันได้ ต่อมาเปิดตัว Access 2007 ซึ่งใช้รูปแบบ ACCDB เวอร์ชัน MS Access นี้เป็นเวอร์ชันขั้นสูงและมีประเภทข้อมูลที่ซับซ้อนและฟิลด์ที่มีหลายค่า
MS Access ใช้มาโครสำหรับตาราง แบบฟอร์ม รายงาน และคิวรีที่เชื่อมต่อ เมื่อใช้ระบบนี้ คุณสามารถส่งออกและนำเข้าข้อมูลของคุณในรูปแบบต่างๆ เช่น ASCII, Oracle, ODBC, SQL Server เป็นต้น รูปแบบ Jet จะเก็บแอปพลิเคชันและข้อมูลไว้ด้วยกันในไฟล์เดียว ดังนั้นการแบ่งปันแอปพลิเคชันใด ๆ ก็ทำได้ง่าย ไม่รองรับการทริกเกอร์ฐานข้อมูล กระบวนงานที่เก็บไว้ และการบันทึกธุรกรรม เนื่องจากเป็นระบบที่ใช้ไฟล์เซิร์ฟเวอร์
RDBMS คืออะไร?
ระบบฐานข้อมูลปัจจุบันเกือบทั้งหมด เช่น SQL, Oracle, MySQL, Microsoft Access เป็นต้น ใช้ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ระบบฐานข้อมูลนี้ใช้โมเดลเชิงสัมพันธ์ E.F. Codd เสนอระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ มีองค์ประกอบบางอย่างใน RDBMS ที่คุณต้องรู้ก่อนที่เราจะย้ายไปยัง SQL ให้เราพูดถึงแต่ละด้านด้านล่าง
หนึ่ง. ตาราง:
ใน RDBMS ข้อมูลจะถูกจัดเก็บในรูปแบบของตาราง ตารางนี้เรียกว่าวัตถุ เรียกอีกอย่างว่า ความสัมพันธ์ . ตารางใน RDBMS มีแถวและคอลัมน์ แต่ละตารางใน RDBMS มีชื่อตารางเฉพาะ ตารางถือเป็นรูปแบบการจัดเก็บข้อมูลที่ง่ายที่สุด
ให้เราพิจารณาตารางที่มีชื่อตารางว่า 'นักเรียน' เราจะจัดเก็บข้อมูลของนักเรียนในตารางนักเรียน เช่น ชื่อ อายุ รหัสนักเรียน และเมือง
ชื่อ | อายุ | รหัสนักศึกษา | เมือง |
---|---|---|---|
สตีฟ | 23 | 1092 | นิวยอร์ก |
โอลิเวอร์ | 24 | 1093 | นางฟ้า |
โรเบิร์ต | ยี่สิบเอ็ด | 1094 | ชิคาโก |
แมรี่ | 25 | 1095 | แคลิฟอร์เนีย |
เจนนิเฟอร์ | 23 | 1096 | นิวยอร์ก |
เจมส์ | 22 | 1097 | วอชิงตันดีซี |
จอห์น | ยี่สิบเอ็ด | 1098 | แคลิฟอร์เนีย |
จอห์นนี่ | 24 | 1099 | ชิคาโก |
ตารางด้านบนให้ข้อมูลเกี่ยวกับนักเรียน
สอง. สนาม:
องค์ประกอบ RDBMS ถัดไปคือฟิลด์ ฟิลด์คือเอนทิตีที่เล็กกว่าของตาราง ตัวอย่างเช่น ในตารางด้านบน 'Student,' Name, Age, Student_ID และ City เป็นฟิลด์ ดังนั้น แต่ละคอลัมน์ในตารางจึงเป็นเขตข้อมูล ซึ่งเก็บข้อมูลหรือบันทึกเฉพาะ
3. แถว:
แถวยังเรียกว่าระเบียน เรกคอร์ดหรือแถวมีข้อมูลเกี่ยวกับเอนทิตีเฉพาะ ในตารางด้านบน 'นักเรียน' มีแถวหรือระเบียนที่แตกต่างกันแปดแถว กล่าวอีกนัยหนึ่ง ตารางข้างต้นเก็บข้อมูลของนักเรียนแปดคนที่แตกต่างกัน เอนทิตีแนวนอนเดียวคือแถวหรือเรกคอร์ด ต่อไปนี้เป็นแถวหรือบันทึกจากตาราง 'นักเรียน'
|_+_|สี่. คอลัมน์:
เราได้เห็นว่าแถวเป็นเอนทิตีแนวนอน คอลัมน์เป็นเอนทิตีแนวตั้งไม่เหมือนกับแถว คอลัมน์เก็บข้อมูลทั้งหมดที่เกี่ยวข้องกับฟิลด์ ในตาราง 'นักเรียน' ชื่อ อายุ รหัสนักเรียน และเมืองคือฟิลด์ ดังนั้น คอลัมน์ที่มีช่อง 'ชื่อ' จึงมีชื่อของนักเรียน คอลัมน์นี้แสดงดังนี้:
|_+_|5. โมฆะ:
เมื่อไม่มีข้อมูลในฟิลด์ใดฟิลด์หนึ่งหรือมีพื้นที่ว่างในฟิลด์ ค่าดังกล่าวจะเป็นค่า NULL ค่า NULL ไม่เหมือนกับค่าศูนย์ เว้นว่างไว้ขณะสร้างเรกคอร์ด
ข้อมูลพื้นฐานเกี่ยวกับ SQL
เราจะเรียนรู้พื้นฐานของ SQL ทั้งหมดในส่วนนี้ เช่น ไวยากรณ์ การประมวลผลแบบสอบถาม ข้อจำกัด คำสั่ง และการปรับฐานข้อมูลให้เป็นมาตรฐาน
ไวยากรณ์ SQL
แบบสอบถาม SQL มีองค์ประกอบหลายอย่างสำหรับการดึงข้อมูลจากฐานข้อมูล ด้านล่างนี้เป็นส่วนประกอบที่เกี่ยวข้องกับการสืบค้น
- อัพเดทอายุ;
- อายุ SET = อายุ+2;
- WHERE emp_name = 'จอห์น';
- NOT NULL Constraint: ทำให้แน่ใจว่าไม่มีค่า NULL ในตารางหรือคอลัมน์
- UNIQUE Constraint: กฎนี้ระบุว่าคอลัมน์ในตารางจะมีค่าที่ไม่ซ้ำกัน จะไม่มีค่าในคอลัมน์ซ้ำ
- คีย์หลัก: เมื่อคุณใช้ข้อจำกัดนี้กับคอลัมน์ใดๆ ของตาราง คอลัมน์นั้นจะระบุแต่ละแถวหรือทูเพิลในตารางโดยไม่ซ้ำกัน
- คีย์ต่างประเทศ: จะระบุแถวหรือทูเพิลของตารางอื่นโดยไม่ซ้ำกัน คีย์หลักของตารางหนึ่งควรแสดงเป็นแอตทริบิวต์ในอีกตารางหนึ่ง คุณลักษณะดังกล่าวเรียกว่าคีย์ต่างประเทศ
- ข้อจำกัดเริ่มต้น: กำหนดค่าเริ่มต้นให้กับคอลัมน์เมื่อไม่ได้ระบุค่าเฉพาะ
- ตรวจสอบข้อจำกัด: เมื่อคุณต้องการตรวจสอบว่าค่าคอลัมน์ทั้งหมดเป็นไปตามเงื่อนไขที่ระบุ คุณสามารถใช้ข้อจำกัด CHECK ได้
- การลบข้อมูลซ้ำออกจากฐานข้อมูล
- ตรวจสอบให้แน่ใจว่าการพึ่งพาข้อมูลทั้งหมดนั้นถูกต้องและสมเหตุสมผล
- ฟอร์มปกติครั้งแรก
- แบบฟอร์มปกติที่สอง
- แบบฟอร์มปกติที่สาม
- บอยซ์ ค็อดด์ ฟอร์มปกติ
- แบบฟอร์มปกติที่สี่
- แบบฟอร์มปกติที่ห้า
- AND: AND ใช้สำหรับรวมเงื่อนไขต่างๆ ไว้ในคำสั่ง SQL คำสั่งเดียว
- BETWEEN: ตัวดำเนินการนี้ใช้สำหรับระบุช่วงค่า คุณสามารถตั้งค่าต่ำสุดและสูงสุดได้โดยใช้คีย์เวิร์ด BETWEEN
- IN: เมื่อคุณใช้คีย์เวิร์ด IN จะเปรียบเทียบค่าเดียวกับค่าตามตัวอักษรอื่นๆ ทั้งหมดที่มีอยู่ในรายการที่ระบุ
- ไม่: โอเปอเรเตอร์นี้ใช้กับโอเปอเรเตอร์ตรรกะอื่นๆ เช่น EXISTS, BETWEEN ตัวอย่างเช่น คุณสามารถใช้ NOT EXISTS, NOT BETWEEN, NOT IN เป็นต้น
- IS NULL: เมื่อต้องการเปรียบเทียบค่าใดๆ กับค่า NULL คุณสามารถใช้ IS NULL
- ทั้งหมด: ตัวดำเนินการนี้ใช้สำหรับเปรียบเทียบค่าในชุดหนึ่งกับค่าอื่นทั้งหมดในชุดอื่น
- อะไรก็ได้: เปรียบเทียบค่ากับค่าที่ใช้ได้จริงในรายการ
- มีอยู่: จะตรวจสอบว่ามีแถวใดอยู่ในตารางหรือไม่
- ชอบ: เมื่อคุณต้องการเปรียบเทียบค่าที่มีค่าใกล้เคียงกัน ให้ใช้คำหลัก LIKE
- OR: เช่นเดียวกับ AND, OR ยังรวมเงื่อนไขต่างๆ ไว้ในส่วนคำสั่ง WHERE
- UNIQUE: คีย์เวิร์ดนี้ตรวจสอบความเป็นเอกลักษณ์ของแต่ละแถวในตาราง
ประโยคเป็นส่วนเสริมของแบบสอบถาม พวกเขาเป็นองค์ประกอบของแบบสอบถาม ตัวอย่างเช่น UPDATE, SET, WHERE เป็นต้น เป็นอนุประโยค
นิพจน์ในคิวรีส่งผลให้ข้อมูลในรูปแบบของตารางที่มีแถวและคอลัมน์ แถวเรียกว่า 'ทูเพิล' และคอลัมน์ถูกเรียกว่า 'แอตทริบิวต์'
เพรดิเคตคือเงื่อนไขซึ่งสร้างตรรกะสามค่า (จริง/ เท็จ/ ไม่ทราบ)
แบบสอบถามดึงข้อมูลที่จำเป็นจากฐานข้อมูลโดยใช้เงื่อนไข
คำสั่งควบคุมการไหลของโปรแกรม ธุรกรรม การเชื่อมต่อ ฯลฯ นอกจากนี้ยังอาจเกี่ยวข้องกับอัฒภาค ';.'
ช่องว่างที่ไม่ต้องการจะไม่ถูกพิจารณาในแบบสอบถาม SQL ทำให้เข้าใจและอ่านง่ายขึ้น
เราจะมาดูตัวอย่างเล็กๆ น้อยๆ โดยใช้สามส่วน อัปเดต ตั้งค่า และตำแหน่ง
ข้อความค้นหาด้านบนจะอัปเดตแอตทริบิวต์อายุ
ข้างต้นเกี่ยวข้องกับนิพจน์ 'อายุ+2' ซึ่งเพิ่มอายุขึ้นสอง และผลลัพธ์จะถูกกำหนดให้กับอายุ
ในที่นี้ 'emp_name = 'John' คือภาคแสดง และ 'John' คือนิพจน์
การประมวลผลคำค้นหา
คิวรีใน SQL จะได้รับการประมวลผลเพื่อแปลงเป็นนิพจน์ระดับต่ำ ซึ่งคอมพิวเตอร์สามารถเข้าใจได้ การประมวลผลการสืบค้นรวมถึงองค์ประกอบหลายอย่าง เช่น parser, translator, evolution engine, ฐานข้อมูล ฯลฯ การสืบค้นระดับสูงจะถูกแปลงเป็นนิพจน์ที่เข้ากันได้กับระดับทางกายภาพของระบบไฟล์ ด้านล่างนี้คือไดอะแกรมที่แสดงวิธีประมวลผลคิวรีและปรับให้เหมาะสมเพื่อนำไปใช้ในระดับจริง

ประการแรก แบบสอบถามระดับสูงจะถูกแปลงเป็นนิพจน์ที่เข้าใจได้ เช่น นิพจน์พีชคณิต ในระหว่างการแปลงนี้ แบบสอบถามจะผ่านหลายขั้นตอน ดังที่แสดงในไดอะแกรมด้านบน ในขั้นแรก parser จะตรวจสอบไวยากรณ์ของการสืบค้นและสังเกตว่าความสัมพันธ์และแอตทริบิวต์ที่เกี่ยวข้องนั้นถูกต้องหรือไม่ นักแปลแปลงแบบสอบถามเป็นการเป็นตัวแทนภายใน ซึ่งมอบให้กับเครื่องมือเพิ่มประสิทธิภาพ
เครื่องมือเพิ่มประสิทธิภาพคิวรีจะแปลงการแสดงข้อมูลภายในของคิวรีเป็นนิพจน์ ซึ่งสามารถดำเนินการได้ นิพจน์เหล่านี้จะดำเนินการโดยกลไกจัดการ DBMS หรือเครื่องมือประเมินผลการสืบค้น ผลลัพธ์ของเอ็นจิ้น DBMS ถูกกำหนดให้กับระดับทางกายภาพของฐานข้อมูล
SQL Clauses
ส่วนคำสั่งใน SQL เป็นส่วนประกอบของแบบสอบถาม มีหลายประโยคใน SQL ให้เราดูแต่ละข้อในรายละเอียดด้วยไวยากรณ์ด้านล่าง
เมื่อคุณต้องการดึงข้อมูลจากคอลัมน์หรือแถวที่ระบุ คุณสามารถใช้ส่วนคำสั่ง SELECT นอกจากนี้ยังสามารถดึงข้อมูลจากแถวของหลายตารางหรือหลายมุมมอง ชุดผลลัพธ์ของคำสั่ง select ก็เป็นตารางเช่นกัน
ไวยากรณ์:
|_+_|คำสั่ง DISTINCT ใช้กับส่วนคำสั่ง SELECT ส่งกลับค่าที่ไม่ซ้ำกันและแตกต่างกัน ไม่มีค่าที่ซ้ำกันอยู่ในชุดผลลัพธ์
ไวยากรณ์:
|_+_|คำสั่ง Where ใช้เพื่อระบุเงื่อนไขในการดึงข้อมูล จะแสดงเฉพาะแถวที่ระบุโดยเงื่อนไข
ไวยากรณ์:
|_+_|ส่วนคำสั่งนี้จัดกลุ่มแถวที่มีค่าใกล้เคียงกันเป็นชุดผลลัพธ์ชุดเดียว GROUP BY clause มักใช้ในแบบสอบถามที่มีฟังก์ชันเช่น SUM, MAX, MIN, COUNT และ AVG
ไวยากรณ์:
|_+_|เมื่อมีความจำเป็นในการเรียงลำดับผลลัพธ์จากน้อยไปมากหรือมากไปหาน้อย คุณสามารถใช้คำสั่ง ORDER BY โดยค่าเริ่มต้น คำสั่งนี้จะเรียงลำดับผลลัพธ์จากน้อยไปหามาก หากคุณต้องการจัดเรียงชุดผลลัพธ์จากมากไปหาน้อย คุณสามารถระบุ 'desc' ในแบบสอบถามได้
ไวยากรณ์:
|_+_|วัตถุประสงค์หลักของคีย์เวิร์ด HAVING คือใช้กับฟังก์ชันการรวมเท่านั้น เช่น SUM, MIN, MAX, COUNT และ AVG คีย์เวิร์ด WHERE เข้ากันไม่ได้กับฟังก์ชันการรวม
ไวยากรณ์:
|_+_|คำสั่งในSQL
คำสั่ง SQL แบ่งออกเป็น 5 ประเภท ได้แก่ DDL, DML, DQL, TCL และ DCL เราจะทราบรายละเอียดแต่ละประเภททั้งสามนี้โดยละเอียดด้านล่าง
ภาษาการกำหนดข้อมูลประกอบด้วยคำสั่ง SQL สี่คำสั่ง สร้าง แก้ไข ตัดทอน และปล่อย คำสั่งเหล่านี้ใช้สำหรับเปลี่ยนโครงสร้างตาราง ทั้งหมดจะถูกคอมมิตอัตโนมัติ กล่าวคือ การเปลี่ยนแปลงที่ทำในโครงสร้างตารางจะถูกบันทึกอย่างถาวร
คำสั่ง create table ถูกใช้เพื่อสร้างตารางใหม่ มุมมองของตาราง หรืออ็อบเจกต์อื่นๆ ในฐานข้อมูล
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|คำสั่งอื่น alter ใช้เพื่อแก้ไขหรือเปลี่ยนแปลงในมุมมองหรือตารางที่มีอยู่ การใช้คำสั่ง alter คุณสามารถเพิ่มคอลัมน์ใหม่ลงในตารางหรือเปลี่ยนคอลัมน์ที่มีอยู่ของตารางใดตารางหนึ่งได้
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|คำสั่ง truncate DDL จะลบแถวทั้งหมดออกจากตาราง โปรดทราบว่าจะไม่ลบตาราง
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|สุดท้าย คำสั่ง drop จะลบตารางหรือมุมมอง มันลบโครงสร้างตารางและข้อมูลที่จัดเก็บไว้ในตารางอย่างสมบูรณ์
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|ภาษาการจัดการข้อมูลประกอบด้วยคำสั่งสามคำสั่ง แทรก ลบ และอัปเดต คำสั่งเหล่านี้แก้ไขข้อมูลตาราง ไม่เหมือนกับคำสั่ง DDL คำสั่ง DML จะไม่คอมมิตอัตโนมัติ เมื่อคุณใช้คำสั่งใดคำสั่งหนึ่งจากสามคำสั่ง คุณต้องใช้คีย์เวิร์ด 'commit' เพื่อบันทึกการเปลี่ยนแปลงอย่างถาวร
คำสั่ง INSERT แทรกข้อมูลลงในตาราง เมื่อใดก็ตามที่มีการเพิ่มข้อมูลใหม่ลงในตาราง จำนวนสิ่งอันดับจะเพิ่มขึ้น
ไวยากรณ์:
|_+_|หรือ
|_+_|ตัวอย่าง:
|_+_|ต่อไปเป็นคำสั่งอัพเดท คำสั่งนี้จะปรับปรุงหรือแก้ไขค่าที่มีอยู่ของแอตทริบิวต์เดียว
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|สุดท้าย คำสั่ง delete จะลบแถวที่ระบุออกจากตาราง
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|ใน SQL เรากำหนดอำนาจหรือสิทธิ์บางอย่างให้กับบุคคลเพื่อจัดการ เข้าถึง หรือลบข้อมูลออกจากฐานข้อมูล เราสามารถให้สิทธิ์และนำอำนาจกลับคืนมาได้โดยใช้คำสั่ง GRANT และ REVOKE
คำสั่ง GRANT ใช้เพื่อให้สิทธิ์ในการเข้าถึงฐานข้อมูล ผู้ใช้สามารถเข้าถึงฐานข้อมูลได้หากได้รับอนุญาต
ไวยากรณ์:
|_+_|คำสั่ง REVOKE อยู่ตรงข้ามกับคำสั่ง GRANT มันเอาสิทธิพิเศษทั้งหมดจากผู้ใช้ไป เข้าถึงฐานข้อมูล .
|_+_|มีเพียงคำสั่งเดียวในภาษาการสืบค้นข้อมูล SELECT คำสั่งนี้ใช้เพื่อเลือกแอตทริบิวต์เฉพาะจากตาราง จะเลือกแอตทริบิวต์ขึ้นอยู่กับเงื่อนไขที่ระบุ WHERE
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|ภาษาควบคุมทรานแซกชันเกี่ยวข้องกับสามคำสั่ง คอมมิต ย้อนกลับ และเซฟพอยต์ คุณสามารถใช้คำสั่ง TCL กับคำสั่ง DML เท่านั้น ไม่สามารถใช้กับคำสั่ง DDL ได้ เนื่องจากจะบันทึกการเปลี่ยนแปลงอย่างถาวรในฐานข้อมูลโดยอัตโนมัติ
คำสั่งยืนยันจะบันทึกการเปลี่ยนแปลงทั้งหมดที่ทำกับตารางในฐานข้อมูลอย่างถาวร
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|เมื่อคุณต้องการเลิกทำธุรกรรมใดๆ ก่อนหน้านี้ที่ไม่ได้คอมมิตในฐานข้อมูล คุณสามารถดำเนินการคำสั่งย้อนกลับได้
ไวยากรณ์:
|_+_|ตัวอย่าง:
|_+_|สุดท้าย คำสั่ง SAVEPOINT จะทำการย้อนกลับธุรกรรมอย่างมีประสิทธิภาพ โดยจะย้อนกลับธุรกรรมเฉพาะไปยังจุดที่ต้องการ โดยไม่จำเป็นต้องย้อนกลับธุรกรรมทั้งหมด
ไวยากรณ์:
|_+_|ความสมบูรณ์ของข้อมูล
ความสมบูรณ์ของข้อมูลในฐานข้อมูลแสดงถึงความถูกต้องและความซ้ำซ้อน ข้อมูลที่มีอยู่ในฐานข้อมูลควรถูกต้องและไม่ซ้ำกัน สำหรับวัตถุประสงค์เหล่านี้ เราใช้ข้อจำกัด โดยทั่วไป ข้อจำกัดหมายถึงข้อจำกัดหรือข้อจำกัด ใน SQL ข้อ จำกัด หมายถึงกฎเกณฑ์หรือกฎในคอลัมน์ของตาราง กล่าวอีกนัยหนึ่ง ข้อจำกัดจะระบุข้อมูลที่ควรเพิ่มลงในตาราง การใช้ข้อจำกัดกับคอลัมน์ข้อมูลทำให้มั่นใจได้ว่า ความน่าเชื่อถือ และความถูกต้องของข้อมูล

ไดอะแกรมด้านบนแสดงข้อจำกัดต่างๆ ที่แบ่งออกเป็นสามประเภท ได้แก่ ความสมบูรณ์ของเอนทิตี ความสมบูรณ์ของการอ้างอิง และความสมบูรณ์ของโดเมน
คุณสามารถใช้ข้อจำกัดกับคอลัมน์ของตารางหรือกับตารางโดยตรง หากคุณต้องการใช้ข้อจำกัดกับคอลัมน์ จะเรียกว่าข้อจำกัดระดับคอลัมน์ คุณสามารถใช้ข้อจำกัดระดับคอลัมน์กับหนึ่งหรือสองคอลัมน์ และการใช้ข้อจำกัดกับทั้งตารางจะเรียกว่าข้อจำกัดระดับตาราง เมื่อคุณนำข้อจำกัดระดับตารางไปใช้ ข้อจำกัดดังกล่าวจะมีผลกับทุกคอลัมน์ของตาราง
แจ้งให้เราทราบถึงหมวดหมู่ความสมบูรณ์ของข้อมูลทั้งสามด้านบนนี้
ในความสมบูรณ์ของเอนทิตี ทูเพิลแต่ละตัวของตารางจะถูกระบุโดยไม่ซ้ำกันโดยใช้ข้อจำกัดสามประการด้านล่าง:
เมื่อคุณต้องการเชื่อมโยงสองตารางที่แตกต่างกันในฐานข้อมูล คุณสามารถใช้ Referential Integrity
ความสมบูรณ์ของโดเมนถูกใช้เพื่อให้แน่ใจว่าค่าทั้งหมดในตารางเป็นไปตามกฎที่กำหนดไว้
INDEX: เมื่อคุณต้องการดึงหรือสร้างข้อมูลของฐานข้อมูล คุณสามารถใช้ INDEX
การปรับฐานข้อมูลให้เป็นมาตรฐาน
การทำให้เป็นมาตรฐานของฐานข้อมูลเป็นกระบวนการจัดระเบียบข้อมูลในฐานข้อมูลในรูปแบบที่มีโครงสร้างที่ดี มีรูปแบบปกติที่แตกต่างกันใน การปรับฐานข้อมูลให้เป็นมาตรฐาน ซึ่งช่วยขจัดความซ้ำซ้อนและเพิ่มความสมบูรณ์ของข้อมูล E.F. Codd เสนอแนวคิดการปรับฐานข้อมูลให้เป็นมาตรฐาน มีสองสาเหตุหลักในการทำให้ฐานข้อมูลเป็นมาตรฐาน
การลบข้อมูลที่ซ้ำซ้อนจะช่วยเพิ่มพื้นที่ว่างในดิสก์ การใช้การทำให้เป็นมาตรฐานของฐานข้อมูล คุณสามารถสร้างฐานข้อมูลที่ดีและจัดเก็บข้อมูลในฐานข้อมูลอย่างมีเหตุผล มีรูปแบบปกติที่แตกต่างกันในการทำให้ฐานข้อมูลเป็นมาตรฐาน ซึ่งช่วยให้คุณสร้างฐานข้อมูลที่มีโครงสร้างดี แบบฟอร์มปกติเหล่านี้ได้รับด้านล่าง:
ประเภทข้อมูล SQL
ชนิดข้อมูล SQL กำหนดประเภทของข้อมูลที่ใช้ ประเภทข้อมูลใน SQL มีหกประเภท: ตัวเลข วันที่และเวลา อักขระและสตริง อักขระ Unicode ไบนารี และเบ็ดเตล็ด ชนิดข้อมูลเหล่านี้ถูกใช้ในขณะที่สร้างตารางในฐานข้อมูล แต่ละคอลัมน์ถูกกำหนดให้กับชนิดข้อมูลและควรมีข้อมูลของประเภทที่ระบุเท่านั้น
ฐานข้อมูลเชิงสัมพันธ์ทุกฐานข้อมูลไม่รองรับประเภทข้อมูล SQL ทั้งหมด ฐานข้อมูลเชิงสัมพันธ์ของ Oracle ไม่รองรับประเภทข้อมูล DATETIME และฐานข้อมูล MySQL ไม่รองรับประเภทข้อมูล CLOB มีฐานข้อมูลเฉพาะซึ่งมีประเภทข้อมูลแยกต่างหากเพิ่มเติม ใน Microsoft SQL Server ประเภทข้อมูลอื่นๆ ได้แก่ 'เงิน' และ 'เงินขนาดเล็ก' ให้เราพูดถึงแต่ละประเภทข้อมูลด้านล่าง
หนึ่ง. ประเภทข้อมูลตัวเลข
มีประเภทข้อมูลตัวเลขที่แตกต่างกัน 11 ชนิดใน SQL ซึ่งแบ่งออกเป็นสองกลุ่ม กลุ่มแรกมีประเภทข้อมูลตัวเลขที่แน่นอน และกลุ่มที่สองมีประเภทข้อมูลตัวเลขโดยประมาณ ชนิดข้อมูลตัวเลขที่แน่นอน ได้แก่ bigint, int, smallint, tinyint, decimal, money, numeric, smallmoney และ bit และประเภทข้อมูลตัวเลขโดยประมาณนั้นเกี่ยวข้องกับทศนิยมและของจริง ตารางด้านล่างจะแสดงค่าต่างๆ ของประเภทข้อมูลที่แน่นอนและโดยประมาณ
ประเภทข้อมูลที่แน่นอน
ประเภทข้อมูล | จาก | ถึง | พื้นที่จัดเก็บ |
นิดหน่อย | 0 | หนึ่ง | |
bigint | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | 8 ไบต์ |
Tinyint | 0 | 255 | 1 ไบต์ |
เงินเล็ก | -214,748.3648 | +214.748.3647 | 4 ไบต์ |
เงิน | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 | 8 ไบต์ |
smallint | -32,768 | 32,767 | 2 ไบต์ |
int | -2,147,483,648 | 2,147,483,647 | 4 ไบต์ |
ตัวเลข | -10^38 +1 | 10^38-1 | 5 – 17 ไบต์ |
ทศนิยม | -10^38 +1 | 10^38-1 | 5 – 17 ไบต์ |
ประเภทข้อมูลโดยประมาณ
ประเภทข้อมูล | จาก | ถึง | พื้นที่จัดเก็บ |
จริง | -3.40E + 38 | 3.40E + 38 | 4 หรือ 8 ไบต์ |
ลอย | -1.79E + 308 | 1.79E + 308 | 4 ไบต์ |
สอง. วันและเวลา
ชนิดข้อมูลวันที่และเวลามีสี่ประเภทข้อมูลที่แตกต่างกัน datetime วันที่ เวลา และ smalldatetime แจ้งให้เราทราบถึงค่าต่างๆ ของแต่ละประเภทข้อมูลวันที่และเวลา
ประเภทข้อมูล | จาก | ถึง | พื้นที่จัดเก็บ |
เล็กวันที่เวลา | 1 ม.ค. 1900 | 6 มิ.ย. 2079 | 4 ไบต์ |
วันเวลา | 1 ม.ค. 1753 | 31 ธ.ค. 9999 | 8 ไบต์ |
datetime2 | 1 ม.ค. 0001 | 31 ธ.ค. 9999 | 6 – 8 ไบต์ |
วันที่ | ชนิดข้อมูลนี้เก็บวันที่ในรูปแบบของวันที่ 30 มิถุนายน 1991 | 3 ไบต์ |
เวลา | ข้อมูลประเภทนี้เก็บเวลาในรูปแบบ 12.30 น. | 3 – 5 ไบต์ |
3. ตัวละครและสตริง
ชนิดข้อมูลอักขระและสตริงใช้เพื่อแทรกตัวอักษรและคำ มีประเภทข้อมูลอักขระและสตริงที่แตกต่างกันสี่ประเภทดังนี้:
ชนิดข้อมูลถ่านมีความยาวคงที่และมีขนาดสูงสุดไม่เกิน 8,000 อักขระ
ชนิดข้อมูลนี้มีความยาวผันแปรได้ โดยมีขนาดสูงสุดไม่เกิน 8,000 อักขระ
ชนิดข้อมูลข้อความมีความยาวผันแปรได้ และขนาดสูงสุดไม่เกิน 2,147,483,647 อักขระ
ชนิดข้อมูลนี้ยังมีความยาวผันแปรได้ โดยมีขีดจำกัดขนาดสูงสุดที่ 2E + 31
ชนิดข้อมูลทั้งหมดข้างต้นไม่ใช่ Unicode
สี่. ไบนารี่:
มีสี่ประเภทข้อมูลไบนารีใน SQL: ไบนารี varbinary varbinary (สูงสุด) และภาพ ด้านล่างนี้เป็นคำอธิบายสั้นๆ ของข้อมูลแต่ละประเภทเหล่านี้
ชนิดข้อมูลนี้มีความยาวคงที่ จำกัดความยาวสูงสุด 8,000 ไบต์
varbinary เป็นข้อมูลไบนารีอีกประเภทหนึ่งซึ่งมีความยาวผันแปรได้ มีขีดจำกัดขนาดสูงสุด 8,000 ไบต์
เช่นเดียวกับ varbinary varbinary(max) ยังเป็นชนิดข้อมูลที่มีความยาวผันแปรได้ โดยมีขีดจำกัดขนาดสูงสุดที่ 2E + 31 ไบต์ ใช้ใน SQL Server 2005 เท่านั้น
รูปภาพยังเป็นข้อมูลไบนารีที่มีความยาวผันแปรได้โดยมีขีดจำกัดสูงสุด 2,147,483,647 ไบต์
5. ประเภทข้อมูล Unicode
กลุ่มนี้ยังมีประเภทข้อมูลที่แตกต่างกันสี่ประเภท: nchar, nvarchar, nvarchar(สูงสุด) และ ntext
nchar เป็นชนิดข้อมูล Unicode ที่มีความยาวคงที่ โดยมีความยาวสูงสุด 4,000 ไบต์
ไม่เหมือนกับ nchar เพราะ nvarchar เป็น Unicode ที่มีความยาวผันแปรได้ โดยจำกัดขนาดสูงสุดไว้ที่ 4,000 ไบต์
nvarchar(max) เข้ากันได้กับฐานข้อมูล SQL Server 2005 เท่านั้น มีขนาดจำกัดสูงสุด 2E + 31 และมีความยาวผันแปรได้
ntext เป็น Unicode ที่มีความยาวผันแปรได้ โดยมีความยาวสูงสุด 1,073,741,823 ไบต์
6. เบ็ดเตล็ด
ต่อไปนี้เป็นชนิดข้อมูลที่อยู่ภายใต้กลุ่มเบ็ดเตล็ด
ตัวดำเนินการ SQL
ตัวดำเนินการคือคำหรืออักขระที่สงวนไว้ มีไว้สำหรับการดำเนินการเฉพาะ โดยปกติ ตัวดำเนินการจะใช้ในส่วนคำสั่ง WHERE เพื่อระบุเงื่อนไข ตัวดำเนินการอาจเป็นเลขคณิต ตรรกะ หรือเชิงเปรียบเทียบ คุณยังสามารถใช้ตัวดำเนินการเพื่อรวมสองเงื่อนไขในคำสั่งเดียวกันได้ ใน SQL มีตัวดำเนินการที่แตกต่างกันสามประเภท ได้แก่ ตัวดำเนินการทางคณิตศาสตร์ การเปรียบเทียบ และตัวดำเนินการทางตรรกะ
หนึ่ง. ตัวดำเนินการเลขคณิต
ตัวดำเนินการเลขคณิตสามารถดำเนินการเลขคณิตได้ เช่น การบวก การลบ การคูณ โมดูลัส และการหาร ให้เราใช้ 'a มีค่า 15' เป็นตัวแปรตัวหนึ่ง และ 'b มีค่า 30' เป็นตัวแปรอื่น เราจะมาดูตัวอย่างของตัวดำเนินการเลขคณิตแต่ละตัวด้านล่าง
โอเปอเรเตอร์ | คำอธิบาย | ตัวอย่าง |
---|---|---|
+ | ตัวดำเนินการ '+' ดำเนินการเพิ่มตัวแปรสองตัว | a+b=15+30=45 |
– | ตัวดำเนินการ '-' ลบตัวแปรที่ถูกต้องออกจากตัวแปรด้านซ้าย | ab =15-30=-15 |
% | '%' สร้างส่วนที่เหลือตามผลลัพธ์เมื่อตัวแปรด้านซ้ายหารด้วยตัวแปรด้านขวา | b/a=30%15=0 |
/ | '/' ทำการหาร ค่าตัวแปรด้านซ้ายหารด้วยค่าตัวแปรด้านขวา | b/a =30/15=2 |
* | '*' คูณสองตัวแปร | a*b=15*30=450 |
สอง. ตัวดำเนินการเชิงตรรกะ
ที่นี่ เราจะเห็นตัวดำเนินการเชิงตรรกะทั้งหมดที่ใช้ใน SQL พร้อมคำอธิบายสั้น ๆ
3. ตัวดำเนินการเปรียบเทียบ
สำหรับการยอมรับตัวดำเนินการเปรียบเทียบ เราจะใช้ตัวแปรสองตัวคือ a และ b ให้ 'a' เป็น 15 'b' เป็น 20
โอเปอเรเตอร์ | คำอธิบาย | ตัวอย่าง |
---|---|---|
จะตรวจสอบว่าค่าของตัวแปรทั้งสองมีค่าเท่ากันหรือไม่ หากไม่เท่ากัน จะส่งกลับจริง มิฉะนั้นจะไม่เป็นจริง | (ab) =(1530)=จริง | |
== | เช่นเดียวกับ == ยังตรวจสอบตัวแปรทั้งสองสำหรับค่าที่เท่ากัน ถ้าค่าเท่ากัน ก็จะคืนค่า true | (a==b)=(15==30)=ไม่จริง |
!= | '!=' คล้ายกับ '.' นอกจากนี้ยังให้ค่าเป็นจริงหากค่าตัวแปรทั้งสองไม่เท่ากัน | (ab) =(1530)=จริง |
> | หากค่าของตัวแปรด้านซ้ายมากกว่าตัวแปรด้านขวา '>' จะส่งคืนค่า จริง | (a>b)=(15>30)= ไม่จริง |
!> | '!>' อยู่ตรงข้ามกับตัวดำเนินการ '>' คืนค่า จริง หากค่าตัวแปรด้านซ้ายไม่มากกว่าค่าตัวแปรด้านขวา | (a!>b)=(15!>30)= true |
>= | ถ้าตัวถูกดำเนินการทางซ้ายมากกว่าหรือเท่ากับตัวถูกดำเนินการทางขวา เงื่อนไขจะกลายเป็นจริง | (a=30)=ไม่จริง |
< | หากค่าตัวแปรด้านซ้ายน้อยกว่าค่าตัวแปรด้านขวา '<’ returns true. | (ถึง |
!< | '!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. | (ถึง |
<= | ถ้าตัวถูกดำเนินการทางซ้ายมีค่าน้อยกว่าหรือเท่ากับตัวถูกดำเนินการทางขวา เงื่อนไขจะกลายเป็นจริง | (ถึง<=b)=(15<=30)= true |
นิพจน์ SQL
ใน SQL นิพจน์ประกอบด้วยตัวดำเนินการ ค่าอย่างน้อยหนึ่งค่า และฟังก์ชัน SQL มีการระบุไว้ในอนุประโยค WHERE เสมอ ด้านล่างนี้คือไวยากรณ์ที่แสดงการใช้นิพจน์ในการสืบค้นฐานข้อมูล
ไวยากรณ์:
|_+_|นิพจน์ที่ใช้ใน SQL มีสามประเภท บูลีน ตัวเลข และวันที่
หนึ่ง. นิพจน์บูลีน
นิพจน์บูลีนดึงข้อมูลที่ตรงกับค่าเดียว มันดึงแถวที่ตรงกับค่าที่ระบุใน EXPRESSION
ไวยากรณ์:
|_+_|ก่อนหน้านี้ เราได้สร้างตารางซึ่งมีชื่อตารางว่า 'นักเรียน' เราจะดึงข้อมูลของตารางโดยใช้คำสั่ง SELECT
|_+_|เอาท์พุท:
|_+_|ตอนนี้เราจะดึงข้อมูลที่ตรงกับค่า Student_ID = 1098 จะแสดงเพียงแถวเดียวดังนี้
|_+_|ผลลัพธ์:
|_+_|สอง. นิพจน์ตัวเลข
นิพจน์ตัวเลขเป็นการดำเนินการทางคณิตศาสตร์ แสดงออกดังนี้
ไวยากรณ์:
|_+_|คุณสามารถดำเนินการทางคณิตศาสตร์ใดๆ โดยใช้นิพจน์ตัวเลข นี่คือตัวอย่างหนึ่งที่แสดงการดำเนินการทางคณิตศาสตร์โดยใช้นิพจน์ตัวเลข
|_+_|เอาท์พุท:
|_+_|คุณยังสามารถรวมฟังก์ชันการรวมในนิพจน์ตัวเลข: avg(), max(), count(), min() และ sum() ตอนนี้ เราจะนับจำนวนเรคคอร์ดหรือแถวในตาราง 'นักเรียน'
|_+_|เอาท์พุท:
|_+_|3. นิพจน์วันที่
นิพจน์วันที่เป็นนิพจน์ที่ต้องการมากที่สุดใน SQL ซึ่งให้วันที่และเวลาปัจจุบันของระบบ ให้เราดูแบบสอบถามสำหรับแสดงวันที่และเวลาปัจจุบันของระบบ
|_+_|เอาท์พุท:
|_+_|สร้าง วาง และใช้คำสั่งฐานข้อมูลในSQL
หนึ่ง. สร้างฐานข้อมูล
ก่อนที่เราจะสร้างตาราง เราต้องสร้างฐานข้อมูลก่อน ขั้นแรก สร้างฐานข้อมูลที่คุณต้องการใช้งาน ตอนนี้เราจะดูวิธีการสร้างฐานข้อมูล
ไวยากรณ์:
|_+_|คุณต้องตรวจสอบให้แน่ใจว่าชื่อฐานข้อมูลควรไม่ซ้ำกันและแตกต่างกัน ไม่ควรใช้ก่อน
ให้เราสร้างฐานข้อมูลที่มีชื่อ
|_+_|ในการสร้างฐานข้อมูลใด ๆ คุณต้องมีสิทธิ์ของผู้ดูแลระบบ คุณสามารถดูฐานข้อมูลทั้งหมดที่สร้างขึ้นโดยใช้คำสั่ง 'SHOW DATABASES' เราได้สร้างฐานข้อมูลหลายฐานข้อมูลก่อนหน้านี้: school_info, softwaretesttips, test, company, และ origin
|_+_|ผลลัพธ์:
|_+_|ผลลัพธ์ด้านบนแสดงรายการฐานข้อมูลที่สร้าง
สอง. วางฐานข้อมูล
สมมติว่าเราต้องการลบฐานข้อมูลข้างต้นอย่างใดอย่างหนึ่ง เพื่อจุดประสงค์นี้ จะใช้คำสั่ง 'DROP DATABASE'
ไวยากรณ์:
|_+_|พิจารณาว่าเราต้องการลบฐานข้อมูล 'ทดสอบ' ออกจาก SQL Schema เมื่อคุณลบฐานข้อมูลใด ๆ ข้อมูลทั้งหมดที่อยู่ในนั้นจะถูกลบออก คุณต้องมีสิทธิ์ของผู้ดูแลระบบในการลบฐานข้อมูลด้วย
|_+_|เราได้ลบฐานข้อมูล 'ทดสอบ' แล้ว ให้เราดูรายการฐานข้อมูลที่มีอยู่ในสคีมา
|_+_|เอาท์พุท:
|_+_|3. ใช้และเลือกฐานข้อมูล
ในสคีมาของเรา มีหลายฐานข้อมูล สมมติว่าเราต้องการทำงานกับฐานข้อมูลเฉพาะเพียงฐานข้อมูลเดียวเท่านั้น คุณต้องเลือกฐานข้อมูลจากฐานข้อมูลทั้งหมด หลังจากเลือกหนึ่งฐานข้อมูลแล้ว คุณสามารถดำเนินการ DDL ทั้งหมดในฐานข้อมูลนั้นได้ สำหรับการเลือกฐานข้อมูล มีคำสั่ง USE
ไวยากรณ์:
|_+_|เราจะเลือก 'softwaretesttips' ฐานข้อมูลหนึ่งฐานข้อมูลจากรายการฐานข้อมูลของเรา ซึ่งเราจะดำเนินการกับฐานข้อมูลทั้งหมด
|_+_|ทุกสิ่งที่คุณสร้าง ตารางหรือมุมมอง จะปรากฏในฐานข้อมูล 'softwaretesttips'
นี่คือบทแนะนำสั้นๆ เกี่ยวกับ SQL ตอนนี้เราจะสร้างตารางหนึ่งตารางในฐานข้อมูล 'softwaretesttips' และดำเนินการ SQL ทั้งหมดบนตารางนั้น
สร้างตาราง
เราได้เห็นการสร้างไวยากรณ์ของตารางและตัวอย่างแล้ว ข้อความนี้เขียนไว้ดังนี้
|_+_|ในคำสั่ง create table เราระบุชื่อตาราง คุณลักษณะ และชนิดข้อมูล เรายังสามารถใช้ข้อจำกัดกับแอตทริบิวต์โดยใช้คำสั่ง create table ตรวจสอบให้แน่ใจว่าชื่อตารางไม่ซ้ำกันและไม่เคยใช้มาก่อน
ตอนนี้เราจะสร้างตารางโดยใช้คำสั่ง 'สร้างตาราง' ให้เราสร้างตาราง 'EMPLOYEE' ซึ่งเก็บข้อมูลของพนักงาน เราจะสร้างแอตทริบิวต์ห้ารายการสำหรับตารางนี้ ได้แก่ Emp_ID ชื่อ อายุ เมือง และเงินเดือน
|_+_|เราได้สร้างตาราง 'EMPLOYEE' โดยมี EMP_ID, NAME, AGE, CITY และ SALARY เป็นแอตทริบิวต์ คีย์หลักของตาราง 'EMPLOYEE' คือ EMP_ID ซึ่งไม่ควรเป็น NULL นอกจากนี้ แอตทริบิวต์ NAME และ AGE ไม่ควรเป็น NULL
หลังจากเขียนคำสั่ง create table ด้านบนแล้ว คุณจะเห็นข้อความ 'table createdเรียบร้อยแล้ว' บนหน้าจอ เมื่อคุณต้องการดูแอตทริบิวต์ของตารางหรือสคีมาของตาราง ให้พิมพ์คำสั่งด้านล่าง:
|_+_|เอาท์พุท:
|_+_|เราสามารถวางตาราง 'EMPLOYEE' โดยใช้คำสั่ง DROP
|_+_|
หลังจากวางตารางแล้ว จะถูกลบออกจากฐานข้อมูล หากคุณพยายามเรียกใช้คำสั่ง 'DESC' จะทำให้เกิดข้อผิดพลาดดังต่อไปนี้:
ใส่ค่าใน Table
เราได้เรียนรู้วิธีสร้างตารางในฐานข้อมูลเฉพาะแล้วปล่อยออกจากฐานข้อมูล ตอนนี้เราจะเน้นที่การแทรกข้อมูลลงในตาราง ในตอนต้นของบทความนี้ เราได้เห็นวิธีการเขียนคำสั่งแทรกแล้ว ที่นี่ เราจะเรียนรู้การเขียนคำสั่งแทรกโดยใช้ตัวอย่าง
เราจะนำตารางด้านบน 'EMPLOYEE' และแทรกข้อมูลพนักงานลงในตารางโดยใช้คำสำคัญแทรก มีสองวิธีในการแทรกข้อมูลลงในตาราง
|_+_|อีกรูปแบบที่ง่ายที่สุดในการเขียนคำสั่ง INSERT คือ:
|_+_|ในรูปแบบแรก เราได้ระบุคอลัมน์และค่าต่างๆ เราได้ระบุเฉพาะค่าในรูปแบบที่สอง ขณะใช้รูปแบบที่สอง ตรวจสอบให้แน่ใจว่าคุณใส่ค่าในลำดับที่ถูกต้องตามที่คุณระบุแอตทริบิวต์ในระหว่างการสร้างตาราง
ให้เราแทรกข้อมูลของพนักงานในตาราง EMPLOYEE
|_+_|เราได้แทรกข้อมูลของพนักงานหกคนโดยใช้รูปแบบแรก ให้เราแทรกข้อมูลของพนักงานโดยใช้รูปแบบที่สอง
|_+_|ขณะนี้ มีเจ็ดระเบียนหรือแถวในตาราง EMPLOYEE สำหรับการแสดงข้อมูลในตาราง EMPLOYEE จะใช้คำสั่ง SELECT ให้เรามุ่งเน้นไปที่คำสั่ง SELECT
คำสั่ง SELECT
คำสั่ง SELECT ใช้สำหรับดึงข้อมูลจากตารางเฉพาะ เมื่อเราดึงข้อมูลโดยใช้คำสั่ง SELECT จะส่งคืนข้อมูลในรูปแบบตาราง ก่อนหน้านี้ เรามีวิธีการเขียนคำสั่ง SELECT
|_+_|คำสั่งด้านบนจะแสดงเฉพาะคอลัมน์1และคอลัมน์2จากตารางที่ระบุ หากคุณต้องการแสดงข้อมูลทั้งหมดของตารางเฉพาะ จะใช้ '*' แทนการระบุคอลัมน์ทั้งหมด
|_+_|เราจะแสดงข้อมูลทั้งหมดจากตาราง EMPLOYEE
|_+_|เอาท์พุท:
|_+_|สมมติว่าคุณต้องการดึงเฉพาะชื่อและรหัสของพนักงาน คุณสามารถระบุ EMP_ID และ NAME ในคำสั่ง SELECT
|_+_|เอาท์พุท:
|_+_|WHERE ข้อ
ส่วนคำสั่ง WHERE ใช้เพื่อกำหนดเงื่อนไขในการดึงข้อมูล นอกจากนี้ยังใช้เพื่อรวมสองตารางที่แตกต่างกัน เมื่อคุณใช้เงื่อนไขเฉพาะในส่วนคำสั่ง WHERE ข้อมูลจะถูกดึงเฉพาะเมื่อเงื่อนไขเป็นจริงเท่านั้น คำหลัก WHERE มักใช้เมื่อผู้ใช้ต้องการข้อมูลเฉพาะ คีย์เวิร์ดนี้ใช้ในคำสั่ง DELETE และ UPDATE
|_+_|ในเงื่อนไขนี้ เราสามารถใช้ตัวดำเนินการเชิงตรรกะและการเปรียบเทียบได้ พิจารณาตาราง EMPLOYEE ให้เราเรียกค้น ID พนักงาน ชื่อ และเงินเดือนทั้งหมดที่มีเงินเดือนมากกว่าหรือเท่ากับ 40,000 ดังนั้นเราจะระบุเงื่อนไขเป็นเงินเดือน >= 40,000 ในส่วนคำสั่ง WHERE
|_+_|เอาท์พุท:
|_+_|ชุดผลลัพธ์ประกอบด้วยรหัสพนักงาน ชื่อ และเงินเดือนทั้งหมดที่มีเงินเดือนมากกว่าหรือเท่ากับ 40,000
หากเงื่อนไขของคุณในคำสั่ง WHERE มีสตริง ให้เขียนในเครื่องหมายคำพูดเดี่ยว (‘‘) ให้เราเรียกค้นชื่อ ID และอายุของพนักงานที่มีชื่อแมรี่
|_+_|เอาท์พุท:
|_+_|AND และ OR ตัวดำเนินการ
ตัวดำเนินการ AND และ OR รวมเงื่อนไขที่แตกต่างกันตั้งแต่สองเงื่อนไขขึ้นไป เมื่อคุณต้องการข้อมูลที่แม่นยำและกระชับจากตาราง คุณสามารถรวมเงื่อนไขต่างๆ โดยใช้ตัวดำเนินการ AND หรือ OR
เมื่อคุณรวมเงื่อนไขโดยใช้ตัวดำเนินการ AND จะส่งกลับผลลัพธ์ก็ต่อเมื่อตรงตามเงื่อนไขทั้งหมด จะไม่ส่งคืนข้อมูลหากเป็นไปตามเงื่อนไขใด ๆ เรารู้ว่ามีการใช้ตัวดำเนินการในคำหลัก WHERE มันเขียนดังนี้:
|_+_|คุณสามารถระบุเงื่อนไขได้หลายแบบ พิจารณาตาราง EMPLOYEE ให้เราเรียกค้นชื่อ รหัส อายุ และเงินเดือนของพนักงานที่มีอายุมากกว่า 40 ปี และเงินเดือนที่มากกว่าหรือเท่ากับ 35,000
|_+_|เอาท์พุท:
|_+_|ข้อมูลพนักงานจะถูกดึงเมื่อทั้งสองเงื่อนไขถือ
ตัวดำเนินการ OR ยังรวมสองเงื่อนไขขึ้นไปด้วย ไม่เหมือนกับคีย์เวิร์ด AND ไม่จำเป็นต้องให้เงื่อนไขทั้งหมดเป็นจริงตามที่ระบุไว้ในคีย์เวิร์ด WHERE โดยใช้คำสั่ง OR แม้ว่าเงื่อนไขเดียวจะเป็นจริง แต่จะเขียนข้อมูลในชุดผลลัพธ์ คุณสามารถระบุเงื่อนไขได้หลายแบบโดยใช้คีย์เวิร์ด OR ตามที่ระบุด้านล่าง:
|_+_|จากตาราง EMPLOYEE เราจะเรียกค้นชื่อ เมือง และเงินเดือน ซึ่งเมืองคือแคลิฟอร์เนีย หรือเงินเดือน 30,000
|_+_|เอาท์พุท:
|_+_|ชุดผลลัพธ์ข้างต้นประกอบด้วยชื่อพนักงานทั้งหมดที่อาศัยอยู่ในแคลิฟอร์เนียหรือมีเงินเดือน 30,000
มีข้อ
เมื่อคุณต้องการกรองผลลัพธ์ของคุณเป็นข้อมูลที่เฉพาะเจาะจงมากขึ้น ประโยค HAVING จะถูกใช้ คุณสามารถใช้ได้เฉพาะฟังก์ชันการรวมในคีย์เวิร์ด HAVING ซึ่งจะระบุเงื่อนไขสำหรับการดึงข้อมูล ต่อไปนี้เป็นรูปแบบการเขียนคำสำคัญ HAVING:
|_+_|เราจะเอาโต๊ะที่มีชื่อโต๊ะว่า EMPLOYEE2. ตารางมีดังนี้:
|_+_| |_+_|เอาท์พุท:
|_+_|ฟังก์ชันรวม
ฟังก์ชันรวมใน การจัดการฐานข้อมูล ระบบจะดึงข้อมูลหลายรายการจากบันทึกและคืนค่าเดียวหลังการคำนวณ มีห้าฟังก์ชันการรวมที่แตกต่างกัน: sum(), avg(), count(), min() และ max() ฟังก์ชันทั้งหมดนี้สามารถใช้ได้กับข้อมูลตัวเลขเท่านั้น ยกเว้นฟังก์ชัน count() ให้เราพูดถึงแต่ละฟังก์ชั่นโดยละเอียดด้านล่าง เราจะใช้ตาราง EMPLOYEE เพื่อทำความเข้าใจฟังก์ชันรวมพร้อมตัวอย่าง
|_+_|ผลลัพธ์:
|_+_|ผลลัพธ์:
|_+_|เอาท์พุท:
|_+_|เอาท์พุท:
|_+_|เอาท์พุท:
|_+_|ฟังก์ชัน count() คืนค่าจำนวนประเภทในตาราง EMPLOYEE
|_+_|เอาท์พุท:
|_+_|ที่นี่ เราใช้คีย์เวิร์ด DISTINCT ที่มีฟังก์ชัน count() ในคอลัมน์ CITY มันส่งคืนการนับชื่อเมืองที่แตกต่างกัน คุณยังสามารถเพิ่มวลี WHERE ด้วยฟังก์ชัน count()
|_+_|เอาท์พุท:
|_+_|เรามีพนักงานจำนวนหนึ่งที่มีอายุมากกว่า 40 ปี
อัปเดตคำสำคัญ
คุณสามารถใช้คีย์เวิร์ดอัปเดตได้หากต้องการแก้ไขข้อมูลที่มีอยู่ในตาราง ด้วยการปรับปรุงคำหลัก คุณสามารถเพิ่มคำหลัก WHERE ได้ การใช้คำสำคัญ WHERE คุณสามารถอัปเดตได้เฉพาะระเบียนที่คุณต้องการแก้ไขเท่านั้น ถ้าคุณไม่เพิ่มคำสำคัญ WHERE ระเบียนทั้งหมดจะได้รับการอัปเดต คุณสามารถเขียนแบบสอบถามการปรับปรุงด้วยวิธีต่อไปนี้:
|_+_|ถ้าคุณต้องการนำการเปลี่ยนแปลงไปใช้กับเรกคอร์ดตั้งแต่สองรายการขึ้นไป คุณสามารถใช้ตัวดำเนินการ AND และ OR ใช้ตาราง EMPLOYEE เราจะอัปเดตอายุของพนักงานซึ่งมีรหัส 405 เราจะกำหนดอายุที่ 37 เป็น 40
|_+_|เมื่อคุณอัปเดตอายุของพนักงานซึ่งมี ID 405 การเปลี่ยนแปลงนี้จะแสดงในตาราง เราจะรู้ว่าตาราง EMPLOYEE จะมีลักษณะอย่างไรหลังจากปรับเปลี่ยน
เอาท์พุท:
|_+_|ตอนนี้ สมมติว่าคุณต้องการเปลี่ยนเงินเดือนและอายุของพนักงานที่มี ID 407 เราจะกำหนดเงินเดือนเป็น 55,000 และอายุเป็น 35
|_+_|เอาท์พุท:
|_+_|ตารางด้านบนมีข้อมูลที่อัปเดต
ลบแบบสอบถาม
เมื่อคุณต้องการลบระเบียนใด ๆ ออกจากตาราง คำหลักที่ใช้ลบจะถูกใช้ หากคุณต้องการลบทูเพิลหรือแถวที่เจาะจง ให้เพิ่มคีย์เวิร์ด WHERE เพื่อระบุเงื่อนไข รวมหลายเงื่อนไขโดยใช้ตัวดำเนินการ AND หรือ OR คุณสามารถเขียนแบบสอบถามการลบตามที่ระบุด้านล่าง:
|_+_|ตัวอย่างเช่น ใช้ตาราง EMPLOYEE เราจะลบบันทึกพนักงานที่มีรหัสพนักงาน 405
|_+_|ตารางจะไม่รวมบันทึกพนักงานที่มีรหัสพนักงาน 405 หลังจากดำเนินการสืบค้นข้อมูลข้างต้น
เอาท์พุท:
|_+_|หากคุณต้องการลบแถวทั้งหมดออกจากตาราง ให้ใช้แบบสอบถามด้านล่าง
|_+_|หลังจากดำเนินการค้นหานี้ ระบบจะลบเฉพาะข้อมูลเท่านั้น ไม่ใช่สคีมาของตาราง
เรียงตามข้อ
คุณสามารถเรียงลำดับข้อมูลคอลัมน์ของคุณในลำดับจากน้อยไปมากหรือจากมากไปน้อยโดยใช้วลี ORDER BY ตามค่าเริ่มต้น ข้อมูลคอลัมน์จะเรียงลำดับจากน้อยไปมาก ทำตามรูปแบบด้านล่างสำหรับการเขียนวลี ORDER BY
|_+_|รายการคอลัมน์ควรมีคอลัมน์ทั้งหมดที่คุณต้องการจัดเรียงหรือจัดเรียงตามลำดับ ใช้ตาราง EMPLOYEE เดียวกันเพื่อทำความเข้าใจวลีนี้ด้วยตัวอย่างง่ายๆ เราจะเพิ่มชื่อคอลัมน์ NAME และเงินเดือนลงในรายการคอลัมน์
|_+_|ตารางจะถูกจัดเรียงตามชื่อจากน้อยไปมาก
เอาท์พุท:
|_+_|ตอนนี้ เราจะสร้างตารางจากมากไปหาน้อยโดยใช้คอลัมน์ NAME
|_+_|เอาท์พุท:
|_+_|จัดกลุ่มตามข้อ
สำหรับการจัดกลุ่มข้อมูลที่เหมือนกัน จะใช้ GROUP BY clause คีย์เวิร์ด WHERE ตามด้วย GROUP BY clause เสมอ และวลี GROUP BY ตามด้วย ORDER BY clause โดยจะจัดกลุ่มข้อมูลที่คล้ายคลึงกันออกเป็นกลุ่มที่ระบุโดยเงื่อนไขในส่วนคำสั่ง WHERE ประโยค GROUP BY เขียนดังนี้:
|_+_|เราจะใช้วลี GROUP BY กับอีกตารางหนึ่ง พิจารณาตารางด้านล่าง EMPLOYEE1
|_+_|ที่นี่ Steve ทำงานในชิคาโกและแคลิฟอร์เนีย ดังนั้นเราจึงจัดกลุ่มข้อมูลของสตีฟได้โดยใช้วลี GROUP BY ซึ่งจะแสดงชื่อและเงินเดือนโดยรวมของเขา
|_+_|เอาท์พุท:
|_+_|DISTINCT คำสำคัญ
คีย์เวิร์ด DISTINCT ลบค่าที่ซ้ำกันทั้งหมดออกจากตาราง ตารางจำนวนมากอาจมีข้อมูลที่ซ้ำซ้อนหรือซ้ำซ้อน ในสถานการณ์เช่นนี้ การใช้คีย์เวิร์ด DISTINCT จะช่วยดึงข้อมูลที่ไม่ซ้ำ คุณสามารถระบุคอลัมน์ที่คุณต้องการดึงข้อมูลที่ไม่ซ้ำ ต่อไปนี้เป็นรูปแบบการเขียนคีย์เวิร์ด DISTINCT:
|_+_|เพื่อทำความเข้าใจว่าคีย์เวิร์ด DISTINCT ทำงานอย่างไร ให้เราใช้ตาราง EMPLOYEE อันดับแรก เราจะจัดตารางจากน้อยไปมากตามเงินเดือน
|_+_|เอาท์พุท:
|_+_|ในชุดผลลัพธ์ข้างต้น มีข้อมูลที่ซ้ำกัน กล่าวคือ มี 30,000 อยู่ในสองแถวที่ต่างกัน เมื่อเราใช้คีย์เวิร์ด DISTINCT ผลลัพธ์จะไม่มีข้อมูลที่ซ้ำกัน
|_+_|เอาท์พุท:
|_+_|SQL เข้าร่วม
ใน SQL การรวมจะรวมระเบียนจากตารางตั้งแต่สองตารางขึ้นไปเป็นตารางเดียว เข้าร่วมเป็นแหล่งรวมตารางโดยใช้คอลัมน์ทั่วไปในตาราง เราจะมาดูตัวอย่างการยอมรับวิธีการเข้าร่วม
เราจะเอาสองตารางมารวมกันทั้งสองตารางตามแอตทริบิวต์ร่วมกันระหว่างตารางทั้งสอง ใช้ตาราง EMPLOYEE เราจะสร้างตารางอื่น DEPARTMENT
|_+_|ตอนนี้เรามีสองโต๊ะ เราจะเข้าร่วมสองตารางนี้และแสดงชุดผลลัพธ์ มีแอตทริบิวต์ทั่วไปในทั้งสองตาราง EMP_ID
|_+_|ผลลัพธ์จะเป็นดังนี้:
|_+_|ในส่วนคำสั่ง WHERE เราสามารถรวมตารางหรือความสัมพันธ์โดยใช้ตัวดำเนินการหลายตัว: , =, BETWEEN, !, NOT เป็นต้น การเข้าร่วมสามารถแบ่งออกเป็นหลายประเภท INNER เข้าร่วมตารางและส่งคืนผลลัพธ์ของข้อมูลที่ตรงกันระหว่างสองความสัมพันธ์ การรวมอื่นคือการเข้าร่วม LEFT ซึ่งส่งคืนข้อมูลทั้งหมดจากตารางด้านซ้าย หากไม่มีการจับคู่สำหรับตารางด้านซ้ายกับตารางด้านขวา จะมีการเขียน NULL การรวม RIGHT สร้างข้อมูลทั้งหมดจากตารางที่ถูกต้อง สำหรับตารางที่ถูกต้องซึ่งไม่สามารถจับคู่ได้ ให้เขียน NULL
เข้าร่วมซ้าย
การรวมด้านซ้ายเป็นการรวมความสัมพันธ์สองความสัมพันธ์ที่มีคุณลักษณะร่วมกันไว้ด้วยกัน คุณสามารถระบุคอลัมน์ที่จะแสดงจากความสัมพันธ์ทั้งสอง ข้อมูลทั้งหมดจากตารางด้านซ้ายมีอยู่ในชุดผลลัพธ์ สำหรับข้อมูลตารางด้านขวาที่ไม่ตรงกับข้อมูลตารางด้านซ้าย จะมีการเขียน NULL เราจะดูตัวอย่างของการเข้าร่วมด้านซ้ายโดยใช้ EMPLOYEE และ DEPARTMENT
|_+_|แผนก
|_+_|ตอนนี้เราจะเขียนแบบสอบถามสำหรับการเข้าร่วมทั้งสองความสัมพันธ์โดยใช้คำหลัก LEFT JOIN
|_+_|ผลลัพธ์:
|_+_|เข้าร่วมขวา
เข้าร่วมด้านขวายังรวมสองตาราง เมื่อเราใช้การรวมด้านขวากับความสัมพันธ์สองรายการ จะแสดงข้อมูลทั้งหมดของตารางด้านขวาที่ตรงกับตารางด้านซ้าย สำหรับตารางด้านซ้ายที่ไม่ตรงกับข้อมูลตารางด้านขวา จะมีการเขียน NULL เราจะใช้ความสัมพันธ์สองอย่างเดียวกันคือ EMPLOYEE และ DEPARTMENT เพื่อทำความเข้าใจคีย์เวิร์ดที่เข้าร่วมด้านขวา
|_+_|เอาท์พุท:
|_+_|บทสรุป
ภาษาคิวรีที่มีโครงสร้าง (SQL) ถูกใช้โดยฐานข้อมูลหลักทั้งหมด: MySQL, MS Access, Oracle ฯลฯ ภาษานี้ช่วยให้ผู้ใช้สามารถสร้างตารางในฐานข้อมูลและจัดการโดยใช้ส่วนคำสั่ง ตัวดำเนินการ คำสั่งต่างๆ บทความนี้เป็นข้อมูลอ้างอิงด่วนของ SQL สำหรับผู้เริ่มต้น ผู้ใช้มือใหม่สามารถเรียนรู้พื้นฐาน SQL ทั้งหมดจากบทช่วยสอนนี้
โพสต์นี้เป็นข้อมูลอ้างอิงด่วนของ SQL ซึ่งจะให้ความรู้พื้นฐานเกี่ยวกับการจัดการข้อมูลในฐานข้อมูล เราได้เห็นรูปแบบพื้นฐานของคำสั่ง DML, DDL, TCL, DQL, DCL แล้ว ต่อมา เราได้เรียนรู้ส่วนคำสั่งต่างๆ ความสมบูรณ์ของข้อมูล ประเภทข้อมูล ตัวดำเนินการ และนิพจน์ต่างๆ ในตอนหลัง เราได้ดูตัวอย่างสำหรับการสร้าง จัดการ และปล่อยข้อมูลในฐานข้อมูล