WEBVTT
Kind: captions
Language: th

00:00:12.796 --> 00:00:16.548
(อาจารย์เกวลี) โอเคค่ะ เดี๋ยว เริ่มเลยแล้วกันนะคะ

00:00:17.611 --> 00:00:22.579
ล่ามได้ยินไหมคะ (ล่าม) ได้ยินค่ะ (อาจารย์เกวลี) โอเคค่ะ

00:00:23.066 --> 00:00:32.122
ก็อาทิตย์นี้ นะคะ จะเป็นการแนะนำ ตัวโปรแกรมที่เราจะใช้เขียน

00:00:35.487 --> 00:00:42.067
ระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นโปรแกรมเอาอย่างง่ายก่อนแล้วกันนะคะ

00:00:42.067 --> 00:00:47.697
เพราะว่าไอ้ตัวภาษา SQL นี่มันก็จะมีโปรแกรมที่ใช้งานร่วมกับมันได้

00:00:47.697 --> 00:00:50.096
หลายโปรแกรมมากนะคะ

00:00:50.893 --> 00:00:57.006
อาจจะเป็น My SQL หรือเป็น Oracle แต่มันก็จะใช้ภาษาเดียวกันก็คือภาษา SQL

00:00:57.006 --> 00:01:03.153
ซึ่งโปรแกรมในเครื่องเรา ถ้าไม่ได้ติดตั้งเพิ่มเติมก็จะมีอยู่แล้วนะคะ ก็คือโปรแกรม

00:01:03.153 --> 00:01:09.024
Microsoft Access นะคะ มันก็จะมีความสามารถที่จะพิมพ์

00:01:09.024 --> 00:01:15.761
คำสั่งภาษา SQL ลงไปได้ด้วย แล้วก็ในส่วนของตัวโปรแกรมนี้นี่

00:01:15.761 --> 00:01:19.338
หน้าตาการทำงานมันจะคล้าย ๆ กับโปรแกรม Excel

00:01:19.338 --> 00:01:24.609
ที่เราเคยใช้งานกันอยู่แล้วนะคะ เก็บข้อมูลในรูปแบบที่เป็นตารางเหมือนกัน

00:01:24.609 --> 00:01:28.814
เราก็จะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ

00:01:30.496 --> 00:01:35.584
โดยตัว Microsoft Access นี่นะคะ ในรูปตัวโปรแกรมมันจะเป็นสีส้ม ๆ นะ

00:01:35.584 --> 00:01:39.273
มันจะเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์นะคะ

00:01:39.273 --> 00:01:45.063
อย่างที่เราเคยได้วาดรูปไปแล้วว่าแต่ละตารางมันควรจะสัมพันธ์กันอย่างไรนะคะ

00:01:45.240 --> 00:01:48.759
โดยที่โปรแกรมนี้นี่ มันก็จะมีความสามารถทั้ง

00:01:48.759 --> 00:01:53.344
การจัดการฐานข้อมูล แล้วก็สร้างโปรแกรมได้ในตัวเดียวกัน

00:01:53.344 --> 00:01:56.459
ก็คือเป็นโปรแกรมที่ค่อนข้างครบสำหรับการทำงาน

00:01:56.459 --> 00:02:02.029
ในฐานข้อมูลเบื้องต้นนะคะ มันเลยเหมาะกับที่จะให้นักศึกษานี่

00:02:02.029 --> 00:02:05.548
เรียนรู้แล้วก็พัฒนาโปรแกรมไว้ใช้งานนะคะ

00:02:05.548 --> 00:02:10.402
รวมถึงคนที่อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักนี่

00:02:10.402 --> 00:02:14.342
เขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ

00:02:14.342 --> 00:02:20.847
เพราะว่ามันก็วิธีการใช้งานก็ค่อนข้างสะดวก แล้วก็ตัวโปรแกรมก็ใช้งานง่าย

00:02:21.732 --> 00:02:24.863
คำสั่งนี่คือซับซ้อนวุ่นวายมากนะคะ

00:02:26.058 --> 00:02:29.750
หน้าตาตอนสร้างฐานข้อมูลมันก็จะเริ่มต้นประมาณนี้นะคะ

00:02:29.750 --> 00:02:32.074
แต่เดี๋ยวเราค่อยมาดูในตัวโปรแกรมกัน

00:02:32.384 --> 00:02:36.937
มันจะมีส่วนของการทำงานหลัก ๆ อยู่ด้านบนนะคะ เราจะเรียกว่าเป็น Ribbon

00:02:36.937 --> 00:02:45.050
ข้างบนนะคะ ในรูปนี่ มันก็จะเป็นเกี่ยวกับการกำหนดโครงสร้างของตารางนะคะ

00:02:45.050 --> 00:02:51.832
แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูลหรือแสดงข้อมูลเราก็สามารถทำได้

00:02:52.319 --> 00:02:57.482
การสร้างรายงานนะคะ เช่น สมมุติมีรายชื่ออยู่ 10,000 รายชื่อ

00:02:57.482 --> 00:03:01.257
เราอยากให้มันออกมาเป็นรายงานเฉพาะชื่อที่เป็นผู้หญิง

00:03:01.257 --> 00:03:04.752
เราก็สามารถสร้างรายงานออกมาได้เหมือนกัน

00:03:04.973 --> 00:03:09.618
รวมถึงการสืบค้น การเรียกดูข้อมูลอื่น ๆ ตามเงื่อนไข เราก็สามารถทำได้

00:03:09.618 --> 00:03:13.581
ในส่วนของการสืบค้นเรียกดูข้อมูลนี่ เราจะใช้คำสั่ง SQL

00:03:13.581 --> 00:03:16.951
เราจะพิมพ์ด้วยตัวเองนะคะ เราจะไม่ใช้

00:03:17.438 --> 00:03:22.165
โปรแกรมสำเร็จรูปทุกอย่าง เราจะได้รู้ด้วยว่า เวลาที่เราใช้ภาษา SQL นี่

00:03:22.165 --> 00:03:24.219
มันทำงานอย่างไรนะคะ

00:03:25.990 --> 00:03:32.687
โดยตารางที่อยู่ในโปรแกรม Access นะคะ รูปแบบของตารางนี่

00:03:33.794 --> 00:03:38.354
ซึ่งมันเป็นมาตรฐานของการจัดเก็บข้อมูลในรูปแบบฐานข้อมูลอยู่แล้วนะคะ

00:03:38.354 --> 00:03:46.114
ถ้าเราต้องการจะบันทึกหรือเก็บข้อมูลนี่ เราก็จะต้องสร้างตารางขึ้นมาก่อน ถึงจะใช้งานได้

00:03:46.114 --> 00:03:50.620
เหมือนอาทิตย์ก่อน ๆ ที่อาจารย์ให้นักศึกษาลองเปิดโปรแกรมดูนี่

00:03:50.620 --> 00:03:56.844
บางคนจะยังพิมพ์อะไรลงไปไม่ได้เลย เพราะว่าเรายังไม่มีตารางนะคะ

00:03:56.844 --> 00:04:02.085
มันจะดูเหมือนกดอะไรไม่ได้เพราะเรายังไม่ได้เริ่มสร้างตารางเลยนะคะ

00:04:02.085 --> 00:04:08.108
การสร้างตารางในที่นี้นี่ มันก็คือการตั้งชื่อแล้วก็กำหนดโครงสร้างของตารางด้วย

00:04:08.639 --> 00:04:14.081
นั่นก็คือเราก็จะมีถ้าเราใน Excel มันจะเป็นคอลัมน์ ๆ ใช่ไหมคะ

00:04:14.081 --> 00:04:19.507
ใน Access ก็เหมือนกันเราก็จะกำหนดว่าหัวคอลัมน์แต่ละคอลัมน์นี่

00:04:19.507 --> 00:04:23.221
ก็คือฟิลด์นี่แหละนะคะ มันจะมีชื่อว่าอะไรบ้าง

00:04:23.221 --> 00:04:31.027
แล้วก็ คุณสมบัติของข้อมูลที่ต้องบรรจุลงไปในนั้นนี่ มีอะไรนะคะ

00:04:31.027 --> 00:04:35.683
เช่น เป็นตัวหนังสือเท่านั้นหรือเป็นตัวเลขผสมกับตัวหนังสือ

00:04:35.683 --> 00:04:40.593
หรือรับเฉพาะค่าตัวเลข ค่าตัวเลขจะต้องไม่เกิน 10 ตัว

00:04:41.257 --> 00:04:45.635
อะไรก็ว่าไป รวมถึงต้องกำหนดคีย์หลักนะคะ

00:04:45.635 --> 00:04:50.563
การกำหนดคีย์หลักในโปรแกรม Access นี่ก็ง่าย กดปุ่มเดียวก็เสร็จเลยนะคะ

00:04:50.563 --> 00:04:57.861
แล้วก็ต้องกำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป ว่ามันจะเชื่อมต่อกันอย่างไรนะคะ

00:05:00.517 --> 00:05:05.040
ตัวอย่างโครงสร้างของฐานข้อมูลอันนี้ เราทบทวนกันอีกรอบนะคะ

00:05:05.040 --> 00:05:08.686
ที่โชว์อยู่ในหน้าจอตอนนี้ก็คือเราจะเรียกว่าตารางนะ

00:05:09.306 --> 00:05:13.111
นะคะ มีแถวมีคอลัมน์นะคะ

00:05:13.554 --> 00:05:18.275
แนวตั้ง เราจะเรียกว่าคอลัมน์ ถ้าศัพท์ในระบบจัดการฐานข้อมูลก็คือ Field

00:05:19.116 --> 00:05:23.859
อย่างในตารางนี้จะมีอยู่ 4 Field ก็คือ 4 คอลัมน์นะคะ

00:05:23.859 --> 00:05:27.380
มี 3 Records ก็คือ 3 แถวข้อมูลนะคะ

00:05:27.380 --> 00:05:37.220
อันนี้เป็นตัวอย่างข้อมูลผู้ป่วยนะคะ ไอ้ตัว HN นี่ มันย่อมาจากรหัสผู้ป่วยนะคะ

00:05:37.220 --> 00:05:41.195
Hospital Number แล้วก็จะมีชื่อ มีนามสกุลมีที่อยู่อันนี้เป็น

00:05:41.195 --> 00:05:47.383
ตัวอย่างการเก็บข้อมูลอย่างง่ายนะคะ ตัวอย่างอย่างง่าย ส่วนในตัวโปรแกรม

00:05:48.844 --> 00:05:54.291
เราจะสร้างตารางนะคะ โดยที่การเราจะมากำหนดคุณสมบัติ

00:05:54.822 --> 00:05:57.924
ของคอลัมน์แบบเมื่อกี้นี้นะคะ

00:05:57.924 --> 00:06:01.810
เราจะมากดกำหนดตรงที่ในส่วนของการ Design ก็คือการออกแบบ

00:06:02.341 --> 00:06:06.755
มันก็จะถามว่าอย่างในส่วนตรงนี้ อันนี้มันเป็นภาษาอังกฤษน่ะนะคะ

00:06:08.083 --> 00:06:12.880
ว่าชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร

00:06:14.385 --> 00:06:19.978
บางทีตัว ID นี่ ถ้าเราไม่ได้กำหนดค่า มันจะเป็น Auto

00:06:20.642 --> 00:06:24.331
มันจะเพิ่มไปเรื่อย ๆ ตามจำนวนที่เราเพิ่มเข้ามา

00:06:24.331 --> 00:06:31.111
แต่เราสามารถระบุเองก็ได้ค่ะ บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อย ๆ นี่

00:06:31.111 --> 00:06:37.542
บางทีก็มันอาจจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ มันอาจจะต้องมีตัวหนังสือ

00:06:37.542 --> 00:06:42.005
ที่มันมีมาผสมกับตัวเลข อย่างรหัสนักศึกษาเรานี่

00:06:42.005 --> 00:06:45.721
เข้ามาใหม่เราจะ 1 2 3 4 5 ไปเลยไม่ได้นะคะ

00:06:45.721 --> 00:06:51.737
มันจะต้องกำหนดเฉพาะเช่นขึ้นต้นด้วยปีการศึกษา ตามมาด้วยรหัสคณะ

00:06:51.737 --> 00:06:59.162
ตามมาด้วยรหัสหลักสูตร แล้วค่อยเป็นถึงเลขที่ของเราว่าเราเลขที่อะไรนะคะ ตัวอย่าง

00:07:01.641 --> 00:07:06.361
ถ้าเป็นการทำงานในการจัดการตารางจริง ๆ นี่ มันจะไม่ได้มีข้อมูลแค่

00:07:06.361 --> 00:07:12.378
นิดเดียวอย่างที่เราเคยเห็น อย่างด้านซ้ายนะคะ ก็จะเป็นตัวอย่างของ

00:07:12.644 --> 00:07:19.511
ตารางทั้งหมดที่มันเอามาเชื่อมโยงกัน มีไม่ต่ำกว่า 20 ตารางนะคะ

00:07:19.511 --> 00:07:21.375
ถ้ามันเป็นระบบงานใหญ่ ๆ

00:07:21.375 --> 00:07:27.642
รวมถึงการกำหนดด้วยว่าข้อมูลแต่ละชนิดที่เข้ามานี่ อย่างเช่น ID

00:07:27.642 --> 00:07:35.642
เขากำหนดให้เป็นตัวเลขให้มันเพิ่มขึ้นไปเรื่อย ๆ อัตโนมัติ ส่วนเลขประจำตัวผู้ป่วย

00:07:35.996 --> 00:07:43.321
เขาจะให้กรอกนะคะ แล้วก็จะมีคำอธิบายด้วยว่าไอ้คำ... คำย่อหรือหัวตารางนี่

00:07:44.389 --> 00:07:51.495
ถ้าเป็นภาษาไทยคืออะไรนะคะ อย่าง Old HN ก็คือเลขบัตรเดิม

00:07:51.495 --> 00:07:56.962
ต้องพิมพ์อย่างไร หรือไม่จำเป็นต้องพิมพ์ไหม ชื่อแรกจำเป็นต้องพิมพ์ นามสกุล

00:07:56.962 --> 00:08:04.588
เราจะกำหนดตรงนี้ด้วยในคำอธิบายนะคะ ถ้าในส่วนของฐานข้อมูล

00:08:04.898 --> 00:08:10.949
เราจะเรียกว่าเป็นพจนานุกรมข้อมูลหรือ Data Dictionary ก็คือสิ่งที่เราต้องบอก

00:08:10.949 --> 00:08:15.560
อย่างสมมุติว่าคุณอาจจะเป็นโปรแกรมเมอร์คนใหม่มาทำงานนะคะ

00:08:15.560 --> 00:08:21.223
เห็นคำย่อ ptMarry คืออะไร

00:08:21.728 --> 00:08:26.843
สมมติเรามาทำงานต่อจากเขา แล้วเขาไม่เขียนอธิบายไปว่า ไอ้คำศัพท์คำนี้

00:08:27.596 --> 00:08:31.554
มันคือข้อมูลอะไรที่ต้องกรอกนะคะ

00:08:31.554 --> 00:08:37.248
นั่นคือสถานภาพสมรส สมมุติเขาไม่ได้บอกเราไว้ เราก็ต้องมา

00:08:37.248 --> 00:08:42.118
กว่าจะทำความเข้าใจได้ว่า เอ๊ะ สรุปข้อมูลนี้เขาต้องการข้อมูลอะไรกันแน่

00:08:42.118 --> 00:08:44.605
เพราะฉะนั้นการเขียนคำอธิบาย

00:08:44.605 --> 00:08:48.310
ก็ค่อนข้างจำเป็นเหมือนกันสำหรับการจัดการฐานข้อมูลนะคะ

00:08:50.479 --> 00:08:52.282
อ้อ ส่วนด้านล่าง

00:08:53.300 --> 00:08:59.816
จะเป็นการบอกขนาดของข้อมูลนะคะ เช่นจำนวนเงินเดือน

00:09:00.524 --> 00:09:03.377
เงินเดือนน่าจะไม่มีแค่ 2 หลัก

00:09:03.997 --> 00:09:08.130
บางคนเงินเดือนเยอะ บางคนเงินเดือนน้อยเราก็สามารถกำหนดได้ว่า

00:09:08.130 --> 00:09:11.462
ตัวเลขที่สามารถกรอกเข้าไปได้นี่ มากขนาดไหน

00:09:11.462 --> 00:09:17.352
เงินเดือนอาจจะยังไม่เห็นภาพ ถ้าสมมุติว่ามันเป็นคอลัมน์ที่เกี่ยวกับงบประมาณประเทศ

00:09:18.060 --> 00:09:21.281
ที่ต้องกรอกตัวเลขเยอะ ๆ นะคะ

00:09:21.281 --> 00:09:24.448
เลข 6-7 หลักมันไม่พอแน่นอนนะคะ

00:09:24.448 --> 00:09:30.303
เราก็ต้องมากำหนดตรงนี้ด้วยว่า ข้อมูลที่ใส่ได้ ควรจะเป็นข้อมูลขนาดไหน

00:09:30.701 --> 00:09:35.228
หรือบัตรประชาชนเรามากำหนดเลยว่าให้กรอกได้แค่ 13 หลัก

00:09:35.228 --> 00:09:39.460
เราก็จะมากำหนดตรง Properties ข้างล่างตรงนี้นะคะ

00:09:42.471 --> 00:09:49.292
การสร้างตารางโดยใช้มุมมองการออกแบบนะคะ มันก็จะมีการกำหนดไว้ว่า

00:09:49.292 --> 00:09:53.158
ชื่อของฟิลด์ก็คือชื่อแต่ละคอลัมน์ ควรตั้งชื่ออะไร

00:09:53.689 --> 00:09:57.108
ควรจะตั้งให้มีความหมายแล้วก็ไม่ยาวจนเกินไป

00:09:57.949 --> 00:10:02.467
แล้วก็ห้ามใช้สัญลักษณ์พิเศษ พวกเครื่องหมายคำถาม

00:10:03.087 --> 00:10:11.417
เครื่องหมาย # อะไรพวกนี้นะคะ หรือ … _ ขีดเส้นใต้ เราจะไม่ใส่

00:10:13.719 --> 00:10:16.714
รวมถึงประเภทของข้อมูลนะคะ

00:10:16.714 --> 00:10:23.277
ก็คือชนิดของข้อมูลที่จะเก็บในคอลัมน์หรือฟิลด์นั้น ๆ เช่น รหัสสินค้า

00:10:23.764 --> 00:10:26.971
มันควรจะเป็นได้ทั้งตัวเลขแล้วก็ตัวอักษรผสมกัน

00:10:27.458 --> 00:10:32.301
ส่วนราคานะคะ ควรจะเป็นตัวเลขอย่างเดียว

00:10:32.921 --> 00:10:39.668
เราไม่พิมพ์ เราจะไม่พิมพ์ 500 แล้วก็ใส่ ก ไก่ อีก 2 ตัวแทนเลข 0 มันไม่ใช่นะคะ

00:10:39.668 --> 00:10:46.626
เพราะฉะนั้น 500 ก็คือเป็นตัวเลขอย่างเดียว กับถ้าสมมุติข้อมูลนั้น ๆ จะต้องนำไปคำนวณ

00:10:48.707 --> 00:10:54.994
ควรจะเป็นข้อมูลชนิดอะไร เช่น อายุ นะคะ คือเอาวันเดือนปีเกิดไปคำนวณ

00:10:54.994 --> 00:10:59.686
มันจะต้องเป็นตัวเลขหรือวันที่หรืออย่างไรนะคะ

00:10:59.686 --> 00:11:04.054
เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วยนะคะ อย่างเช่น วันเขาทำงาน

00:11:04.851 --> 00:11:08.386
วันแรกจนถึงปัจจุบันเขาทำงานมาแล้วกี่ปี

00:11:08.652 --> 00:11:11.791
ก็จะใช้วันที่ในการคำนวณนะคะ

00:11:11.791 --> 00:11:16.078
เราก็ต้องพิจารณาตรงนี้ด้วย ถ้าสมมุติว่าคุณได้ไปทำฐานข้อมูลด้วยตัวเอง

00:11:18.336 --> 00:11:23.625
ข้อมูลที่เป็นข้อความหรือว่า Text นะคะ ก็จะเป็นข้อมูลที่เป็นตัวอักษร

00:11:23.625 --> 00:11:28.221
ตัวเลข ตัวเลขทำไมถึงบอกว่าเป็น Text ถ้าตัวเลขที่ไม่ได้ใช้ในการคำนวณ เช่น

00:11:28.221 --> 00:11:32.775
รหัสนักศึกษาพวกคุณ เราจะไม่เอามาบวกกัน

00:11:33.793 --> 00:11:39.055
มันไม่มีผลในการคำนวณนะคะ มันเป็นตัวเลขบอกรหัสเฉย ๆ สัญลักษณ์ เครื่องหมาย

00:11:39.365 --> 00:11:42.613
ก็บางคนอาจจะจำเป็นที่ต้องใส่สัญลักษณ์

00:11:43.498 --> 00:11:50.257
อย่างคำนำหน้าชื่อ บางคนก็จะพิมพ์นางสาว บางคนพิมพ์ น.ส.

00:11:50.567 --> 00:11:55.991
มันก็จะมีสัญลักษณ์ มีเครื่องหมาย มีตัวอักขระนะคะ ที่ผสมกัน

00:11:56.301 --> 00:12:01.035
รวมถึงตัวเลข ก็ตัวเลขนี่ ก็จะมีหลายประเภทเหมือนกัน

00:12:01.035 --> 00:12:03.900
ก็จะเป็นข้อมูลที่เป็นตัวเลข อาจจะเป็นจำนวนเงิน

00:12:04.520 --> 00:12:07.828
การเก็บเงินก็มีให้เลือกหลายรูปแบบ

00:12:09.245 --> 00:12:15.198
ถ้าเราเลือกข้อมูลเป็น Byte ข้อมูลที่เราเก็บได้จะมีแค่ 0-255 เท่านั้น

00:12:15.198 --> 00:12:19.876
แล้วก็เป็นจำนวนเต็ม ใส่เป็นทศนิยมไม่ได้นะคะ

00:12:19.876 --> 00:12:25.348
ข้อมูลที่เป็น Integer ก็จะเป็นค่าตัวเลขระหว่าง -30,000 กว่า

00:12:25.348 --> 00:12:32.533
ไปจนถึง 32,000 เป็นจำนวนเต็มบวกนะคะ เป็นเต็มบวกกับเต็มลบ ไม่มีจุดทศนิยม

00:12:35.455 --> 00:12:41.990
ถ้าเป็น Long Integer เมื่อกี้จากหลักหมื่น มันจะกลายเป็นประมาณ 2,000 ล้าน

00:12:42.964 --> 00:12:48.859
อันนี้เหมาะกับการใส่งบประมาณที่เยอะมาก ๆ หรือข้อมูล

00:12:50.000 --> 00:12:58.003
เงินใด ๆ ก็ตามที่เป็นตัวเลขที่มากกว่าค่า Integer ธรรมดาขึ้นไปนะคะ

00:12:58.003 --> 00:13:06.384
Single จะเป็นตัวเลขที่มีจุดทศนิยมนะคะ อาจจะมีค่าไปจนถึงติดลบนะคะ

00:13:06.384 --> 00:13:10.759
เป็นทั้ง… เป็นทั้งทศนิยมที่เป็นเต็มลบกับเต็มบวกนะคะ

00:13:13.415 --> 00:13:20.107
ต่อมา Double จะใช้กับตัวเลขที่เป็นจุดทศนิยมอย่างเช่น บางทีเราไปซื้อของ

00:13:20.107 --> 00:13:23.811
เราจะเห็นว่าเขาคำนวณเป็นจุดทศนิยมให้เราด้วย แสดงว่า

00:13:24.165 --> 00:13:28.992
การเขียนโปรแกรมในการเก็บข้อมูลของเขา เขาแสดงผลจนถึงทศนิยม

00:13:28.992 --> 00:13:32.843
1 ตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่ง ก็ว่ากันไป

00:13:32.843 --> 00:13:40.452
แต่ส่วนมากถ้าเป็นค่าเงินเราจะใช้แค่ 2 ตำแหน่งนะคะ ต่อมาวันที่เวลา

00:13:40.452 --> 00:13:43.810
ก็จะเป็นการระบุข้อมูลที่มีรูปแบบที่เป็นวันที่

00:13:43.810 --> 00:13:48.769
เป็น ค.ศ. หรือ พ.ศ. ก็แล้วแต่เราจะระบุก็ได้นะคะ

00:13:48.769 --> 00:13:53.949
โดยที่มันจะอาจจะเป็นระบบเต็มก็คือจะมีทั้งวันที่แล้วก็เวลา

00:13:53.949 --> 00:13:58.549
แต่ส่วนมากเราจะใช้แบบวันเดือนปีแค่นั้นนะคะ

00:14:00.000 --> 00:14:04.750
กับ Yes/No Question นะคะ ใช่หรือไม่

00:14:04.750 --> 00:14:09.405
มันจะเป็นคำถาม คำตอบสำหรับข้อมูลที่เป็นตรรกะที่มีอยู่ 2 ค่า

00:14:09.405 --> 00:14:14.157
ก็คือจริงกับเท็จ เช่น ตอนนี้คุณเป็นนักศึกษา

00:14:14.600 --> 00:14:16.469
เขาเลยถามว่าจริงหรือเท็จ

00:14:16.867 --> 00:14:20.235
ถ้าเป็น... ยังเป็นนักศึกษาอยู่ก็ตอบว่า Yes ก็คือใช่

00:14:20.235 --> 00:14:28.070
ถ้าเรียนจบแล้วก็อาจจะบอกว่า No นะคะ กับ OLE Object นะคะ ก็จะเป็นข้อมูลที่

00:14:28.070 --> 00:14:32.096
เอาไว้ในการแนบรูปภาพนะคะ ฐานข้อมูลบางอย่าง

00:14:32.096 --> 00:14:36.842
เขาให้เราแนบรูปภาพด้วย เช่น บางทีเราสมัคร อาจจะเป็นสมาชิก

00:14:36.842 --> 00:14:40.981
หรือสมัครเรียนหนังสือ หรือสมัครสอบ

00:14:40.981 --> 00:14:44.113
เขาก็จะให้เราแนบรูปภาพ แนบใบเสร็จ

00:14:44.644 --> 00:14:50.103
ถ้าเป็นระบบขายของกันแบบ ใบเสร็จโอนเงิน ก็แนบเป็นรูปภาพมาด้วยนะคะ

00:14:51.697 --> 00:14:57.172
ส่วนที่ 3 จะเป็นส่วนของการกำหนดค่า เหมือนที่อาจารย์ให้ดูเมื่อกี้นี้ในภาพนะคะ

00:14:57.172 --> 00:15:02.092
ก็จะเป็นการบอกขนาดของข้อมูลที่จะเก็บเรากำหนดได้เลยนะคะ

00:15:02.092 --> 00:15:05.829
แล้วก็รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร

00:15:06.626 --> 00:15:11.526
การป้อนข้อมูลจะเป็นลักษณะไหน เราสามารถกำหนดได้นะคะ

00:15:11.526 --> 00:15:16.111
กำหนดคำอธิบายข้อมูล เช่น ก่อนที่เราจะกรอกข้อมูลลงไปนี่

00:15:16.111 --> 00:15:21.482
ในระบบบางอันถ้าเราเอาเมาส์ไปชี้ เขาก็จะมีคำอธิบายว่า

00:15:21.482 --> 00:15:23.918
ในช่องนี้ให้กรอกข้อมูลแบบไหน

00:15:24.848 --> 00:15:28.626
ถ้าเราบอกว่าให้กรอกรหัสบัตรประชาชน พอเอาเมาส์ไปชี้ปึ๊บ

00:15:28.626 --> 00:15:31.810
เขาก็จะบอกว่าให้กรอกเลขจำนวน 13 หลัก

00:15:33.227 --> 00:15:37.749
เป็นต้นนะคะ กับอาจจะมีการกำหนดค่าเริ่มต้น

00:15:38.015 --> 00:15:44.859
เช่น เขาถามวันเกิด ส่วนมากวันเกิด ค่าเริ่มต้นของเขาคือจะเป็นวันที่ 1 มกราคม

00:15:44.859 --> 00:15:51.694
ปี 2000 อะไรก็ว่าไปนะคะ ก็จะเป็นค่าเริ่มต้น ถ้าคุณไม่ได้เกิดวันนั้น คุณก็เปลี่ยนค่าอื่น

00:15:52.712 --> 00:15:58.709
หรืออาจจะเป็นเงินบริจาคนะคะ ค่าเริ่มต้นอาจจะเป็น 10 บาท

00:15:59.240 --> 00:16:02.207
คุณอาจจะไปเปลี่ยนค่าก็ได้นะคะ

00:16:02.605 --> 00:16:08.544
กับการกำหนดเงื่อนไขของค่านะคะ เช่นเงินเดือน

00:16:08.987 --> 00:16:14.926
จะต้องเป็นบวกเสมอ จะบอกว่าเขาถามเงินเดือนเท่าไร คุณจะบอกว่าติดลบ 5,000

00:16:15.590 --> 00:16:20.256
คือยังไม่ทำถูกทำงานแล้วเป็นหนี้ไปเรื่อย ๆ มันก็ไม่ใช่นะคะ

00:16:20.256 --> 00:16:24.615
ก็ต้องค่าบางค่าจะต้องเป็นบวกเสมอ เช่น อายุ

00:16:24.615 --> 00:16:28.914
จะต้องเป็นจำนวนเต็มบวก เต็มลบไม่ได้นะคะ

00:16:28.914 --> 00:16:33.938
กับการกำหนดข้อความที่แสดงหากใส่ข้อมูลไม่ตรงตามเงื่อนไข

00:16:33.938 --> 00:16:41.754
เช่น ใส่อายุเป็น -20 มันก็จะมีคำสั่งแจ้งเตือนขึ้นมาว่า

00:16:42.285 --> 00:16:48.997
ให้ใส่ข้อมูลที่เป็นค่าบวกเท่านั้น ก็จะเป็นแบบนี้ เราสามารถกำหนดได้

00:16:48.997 --> 00:16:57.228
รวมถึงข้อมูลที่จำเป็นต้องกรอก จะเว้นว่างไม่ได้ เช่นเลขบัตรประชาชน

00:16:57.228 --> 00:17:00.859
คุณจะบอกว่าคุณไม่มีเลขบัตรประชาชนเป็นไปไม่ได้นะคะ

00:17:00.859 --> 00:17:06.439
เพราะฉะนั้นต้องกรอกทุกครั้ง หรืออาจจะเป็นแบบฟอร์มให้สมัครใด ๆ ก็ตาม

00:17:06.837 --> 00:17:11.820
ไอ้เลขบัตรประชาชนนี่ จะเป็นข้อมูลที่จำเป็นจะต้องกรอกเสมอนะคะ

00:17:11.820 --> 00:17:20.989
จะปล่อยว่างไม่ได้ การกำหนดค่าคีย์หลักนะคะ ก็ทำได้ง่ายมาก

00:17:20.989 --> 00:17:24.010
ถ้าในโปรแกรมก็คือคุณจะเลือกค่าไหน

00:17:24.010 --> 00:17:31.332
ให้เป็นคีย์หลัก คลิกที่ คอลัมน์นั้น ๆ หรือฟิลด์นั้น ๆ แล้วก็กดไอ้ตัวรูปกุญแจ

00:17:31.332 --> 00:17:36.347
ตัวกุญแจจะหมายถึงคีย์หลัก หรือว่า Primary Key นี่แหละนะคะ

00:17:36.347 --> 00:17:42.859
แค่เลือกแล้วก็กด มันก็จะ เป็นการแจ้ง ในระบบเลยว่า

00:17:42.859 --> 00:17:48.977
ไอ้ค่านี้ คือค่าคีย์หลักของตารางนี้นะคะ

00:17:50.748 --> 00:17:55.698
กับความสัมพันธ์มันจะเป็นการสร้างความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป

00:17:56.628 --> 00:18:00.790
โดยที่เราจะมีการพิจารณาเรื่องคีย์นอกของแต่ละตาราง

00:18:00.790 --> 00:18:04.841
ที่มันจะอ้างถึงคีย์หลักของอีกตารางหนึ่งนะคะ

00:18:05.505 --> 00:18:10.925
ก็อันนี้ก็เดี๋ยวเราจะลองทำในตัวโปรแกรมว่ามันจะอ้างอิงกันอย่างไรนะคะ

00:18:10.925 --> 00:18:15.412
ในตัวโปรแกรมนี่ มันก็จะง่ายมากค่ะ มันก็จะมีตัวให้เรากดได้เลย

00:18:15.412 --> 00:18:18.073
ตามลูกศรสีแดงชี้นะคะ

00:18:19.224 --> 00:18:22.666
เป็นโปรแกรมค่อนข้างสำเร็จรูปเลยนะคะว่า

00:18:23.153 --> 00:18:28.353
เราจะสร้างคีย์หลักอย่างไร อันไหนจะเป็นความสัมพันธ์นะคะ

00:18:28.929 --> 00:18:34.390
ก่อนที่เราจะทำสิ่งเหล่านี้ได้  เราต้องรู้แล้วว่าตารางที่เราสร้างนี่ มันสัมพันธ์กันอย่างไร

00:18:34.390 --> 00:18:38.610
เพราะว่าเราเคยวาด ER Diagram มาแล้วก็คือเหมือนตัวอย่าง

00:18:38.610 --> 00:18:44.089
ที่อาจารย์ให้ทำร้านหนังสือ ว่าผู้แต่งหนังสือ กับหนังสือ

00:18:44.089 --> 00:18:47.057
เขาควรจะมีความสัมพันธ์กันอย่างไรนะคะ

00:18:48.800 --> 00:18:53.077
อย่างเช่นตัวอย่าง ถ้าเราสร้างความสัมพันธ์ได้แล้วมันจะเป็นแบบนี้ค่ะ

00:18:53.077 --> 00:18:55.758
มันจะมีการโยงเส้นของ 2 ตาราง

00:18:56.909 --> 00:19:00.996
ให้ดูเลยว่าตารางนี้กับตารางนี้

00:19:02.103 --> 00:19:03.920
เขามีความสัมพันธ์กัน

00:19:05.293 --> 00:19:13.003
อย่างตารางนี้ค่ะ 2 ตารางนี้มีความสัมพันธ์แบบ 1 กับมากกว่า 1

00:19:13.623 --> 00:19:18.685
อย่างที่อาจารย์เคยบอกว่าในแต่ละโปรแกรมหรือในแต่ละหนังสือ

00:19:18.685 --> 00:19:21.194
สัญลักษณ์เครื่องหมาย

00:19:21.194 --> 00:19:26.700
เขาอาจจะไม่ได้ใช้ตัว M เหมือนที่อาจารย์สอน แต่มันเป็นความหมายเดียวกัน

00:19:26.700 --> 00:19:34.254
คือ 1 to Many ก็คือ 1 มีความสัมพันธ์มากกว่า 1 กับอะไรนะคะ

00:19:34.254 --> 00:19:40.226
เพราะฉะนั้นเรา เราอ่านหนังสือบางเล่มก็อาจจะเขียนแบบนี้นะคะ

00:19:40.624 --> 00:19:45.057
ให้เราเข้าใจว่ามันมีความหมายเดียวกันแต่แค่มันต่างกันที่สัญลักษณ์เฉย ๆ

00:19:45.057 --> 00:19:49.315
ถ้าเป็นความสัมพันธ์แบบ 1 ต่อ 1 นะคะ 1 ต่อ 1

00:19:50.000 --> 00:19:54.319
บางรูปแบบมันจะไม่เขียนกำหนดไว้เลย เพราะให้รู้ด้วยตัวเองว่า

00:19:54.319 --> 00:19:58.187
มันแปลความสัมพันธ์แบบไหนนะคะ

00:19:58.187 --> 00:20:01.085
นี่ 1 to 1 1 to Many นะคะ

00:20:03.299 --> 00:20:06.369
ข้อพิจารณาในการสร้างฐานข้อมูล

00:20:07.254 --> 00:20:14.533
เราต้องรู้ว่า เราจะสร้างฐานข้อมูลเพื่อมาทำงานเกี่ยวกับระบบอะไรนะคะ

00:20:14.533 --> 00:20:17.755
เหมือนในตัวอย่างก็คือร้านเช่าหนังสือหรือร้านขายหนังสือ

00:20:18.773 --> 00:20:22.508
ในร้านขายหนังสือต้องมีตารางอะไรบ้างนะคะ

00:20:22.508 --> 00:20:26.824
มันอาจจะไม่มีแค่ 3 ตัวอย่าง  3 ตารางที่อาจารย์ยกตัวอย่างมันมากกว่านั้น

00:20:27.311 --> 00:20:35.417
คุณจะเช่าหรือคุณจะขายหรือคุณจะมีระบบสมาชิกไหมนะคะ รวมถึงรายละเอียดในตาราง

00:20:35.417 --> 00:20:37.528
ข้อมูลจะต้องเก็บอะไรบ้าง

00:20:38.236 --> 00:20:42.666
เครื่องไหน ไฟตกเหรอ

00:20:46.208 --> 00:20:55.186
ต่อไปก็ต้องดูว่าในตารางอะไรคือคีย์หลักก็คือ ค่าที่ห้ามซ้ำกันนั่นเอง อันนี้เราจำได้นะ

00:20:56.027 --> 00:20:59.595
ความสัมพันธ์ของตารางข้อมูลมีความสัมพันธ์แบบไหนนะคะ

00:21:00.525 --> 00:21:05.051
มีค่าที่ต้องมาประมวลผลหรือมีการคำนวณไหมนะคะ

00:21:05.051 --> 00:21:08.430
เช่น อายุสมาชิก

00:21:09.448 --> 00:21:16.035
หรือวันเข้าทำงาน ทำงานมาแล้วกี่ปีเพื่อพิจารณาเงินเดือนอะไรก็ว่าไปนะคะ

00:21:16.743 --> 00:21:19.792
การจัดการแสดงผลออกทางหน้าจอเป็นอย่างไร

00:21:19.792 --> 00:21:22.680
สามารถพรินต์ออกมาเป็นรายงานได้ไหมนะคะ

00:21:22.680 --> 00:21:26.812
ข้อมูลเบื้องต้นที่จะใส่ ใส่แล้วเป็นอย่างไร

00:21:26.812 --> 00:21:31.041
เอาไปใช้กับระบบงานอะไร เอาไปผนวกกับแล้ว

00:21:32.325 --> 00:21:34.457
มันมีปัญหาไหมนะคะ

00:21:34.457 --> 00:21:39.601
อันนี้คือข้อพิจารณาในการสร้างฐานข้อมูลขึ้นมาสักระบบหนึ่ง ขนาดระบบเล็ก ๆ

00:21:39.601 --> 00:21:42.954
ก็ยังต้องพิจารณาตามนี้เช่นเดียวกันนะคะ

00:21:44.415 --> 00:21:47.945
กับก่อนที่เราจะเรียนในตัวโปรแกรม

00:21:48.388 --> 00:21:54.043
เราต้องมารู้จักคำสั่งที่เราจะสั่งให้ฐานข้อมูลมันทำงานก่อนนะคะ

00:21:54.043 --> 00:21:58.986
ภาษาที่ใช้ในการจัดการอ่านข้อมูลอย่างที่บอกค่ะ เป็นภาษา SQL นะคะ

00:21:58.986 --> 00:22:03.146
Structured Query Language ตัวนี้นะคะ

00:22:05.404 --> 00:22:10.336
การเรียนภาษา SQL นะคะมันก็จะเป็นเรียนรู้คำสั่งพื้นฐาน

00:22:10.336 --> 00:22:12.604
สำหรับสร้างโครงสร้างของฐานข้อมูล

00:22:12.604 --> 00:22:16.928
คำสั่งในการเรียกดูข้อมูล คำสั่งสำหรับการปรับปรุงข้อมูล

00:22:16.928 --> 00:22:20.691
เพิ่ม ลบ แก้ไข อันนี้เราต้องทราบนะคะ

00:22:21.886 --> 00:22:28.489
ซึ่งภาษา SQL นี่เป็นภาษาทางด้านฐานข้อมูลที่ได้รับความนิยมมากที่สุดนะคะ

00:22:28.799 --> 00:22:33.586
เป็นชุดคำสั่งที่ใช้ในการจัดการฐานข้อมูลแล้วก็ข้อมูลในฐานข้อมูลนะคะ

00:22:36.597 --> 00:22:40.288
กลุ่มคำสั่งของภาษา SQL จะมีอยู่ 3 กลุ่มคำสั่ง

00:22:41.395 --> 00:22:45.562
คำสั่งแรกก็คือคำสั่งที่ใช้สำหรับการสร้างฐานข้อมูล

00:22:45.562 --> 00:22:50.686
กำหนดโครงสร้างฐานข้อมูลด้วยนะคะ กำหนดโครงสร้างของตาราง

00:22:50.686 --> 00:22:55.560
กลุ่มที่ 2 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับเพิ่ม ลบ เปลี่ยนแปลงข้อมูล

00:22:55.560 --> 00:22:58.286
ก็คือเป็นการปรับปรุงข้อมูลนั่นเองนะคะ

00:22:58.286 --> 00:23:01.876
ส่วนกลุ่มที่ 3 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับสร้าง

00:23:01.876 --> 00:23:06.673
แล้วก็กำหนดโครงสร้างให้กับตารางนะคะ อันนี้ก็จะเป็นภาษาที่

00:23:06.673 --> 00:23:11.967
ไม่ได้แค่สำหรับนิยามข้อมูล เป็นการสร้างด้วยนะคะ

00:23:13.649 --> 00:23:19.680
อย่างในสไลด์อาจารย์วันนี้นี่ ถ้าเราเห็นทรงกระบอกแบบนี้นี่

00:23:20.000 --> 00:23:24.028
ถ้าในหนังสือหรือว่าในทางเชิงสากลนี่

00:23:24.338 --> 00:23:28.036
เขาจะรับรู้ได้เลยว่าถ้าเราใส่รูปทรงกระบอกแบบนี้

00:23:28.700 --> 00:23:33.646
ในสัญลักษณ์ใด ๆ ที่เป็นโครงสร้างทางคอมพิวเตอร์นี่ เขาจะรู้เลยว่าอันนี้คือ

00:23:33.646 --> 00:23:38.473
ฐานข้อมูลนะคะ ส่วนข้อมูลผลลัพธ์

00:23:38.783 --> 00:23:43.504
ถ้าเป็นรูปภาพแบบนี้ก็แสดงว่าเป็นการแสดงผลรายงานนะคะ

00:23:43.504 --> 00:23:49.420
อันนี้ก็เวลาคุณไปอ่านหนังสือ เจอหนังสือเล่มอื่น แล้วเขาเขียนแบบนี้นี่ ก็ให้เข้าใจว่า

00:23:49.420 --> 00:23:52.009
ก่อนที่จะออกจากฐานข้อมูล ใช้คำสั่ง

00:23:52.540 --> 00:23:56.756
เพื่อเรียกดูรายงานออกมา ผลลัพธ์ของรายงานเป็นอย่างไรนะคะ

00:23:59.235 --> 00:24:04.686
อันนี้เป็นโครงสร้างคำสั่งภาษา SQL สำหรับการสืบค้นนะคะ

00:24:04.686 --> 00:24:10.920
คำสั่งที่ใช้ในการสืบค้นคำสั่งที่ใช้บ่อยที่สุดก็คือคำสั่ง SELECT

00:24:10.920 --> 00:24:17.389
ตัวนี้ S-E-L-E-C-T นะคะ นักศึกษาบางคนเวลาพิมพ์

00:24:17.655 --> 00:24:22.617
ทำไมผลลัพธ์ไม่ได้เหมือนเพื่อน บางทีพิมพ์ผิดนะคะ

00:24:22.617 --> 00:24:29.081
บางครั้งก็จะตกใจไม่ต้องตกใจ ถ้าผลลัพธ์มันไม่ออกมา

00:24:29.081 --> 00:24:32.800
เรามานั่งไล่ดูก่อนว่า เราพิมพ์อะไรผิดไปหรือเปล่านะคะ

00:24:32.800 --> 00:24:37.702
ลืมสัญลักษณ์อะไรไหม ตกคำอะไรหรือเปล่านะคะ

00:24:37.702 --> 00:24:45.602
ก็เช็กด้วย ส่วนมากคำสั่งพื้นฐานจะขึ้นต้นด้วย SELECT ตามมาด้วย FROM นะคะ

00:24:45.602 --> 00:24:50.999
SELECT ก็คือเราจะเลือกว่าเราจะแสดงผลข้อมูลอะไร อย่างที่บอกนะคะ

00:24:50.999 --> 00:24:57.183
ต้องพยายามภาษาอังกฤษนิดหนึ่ง เพราะว่ามันจำเป็นนะคะ

00:24:57.183 --> 00:25:01.762
FROM ก็คือ เราจะเลือกข้อมูลจากตารางไหนนะคะ

00:25:01.762 --> 00:25:06.161
WHERE หมายถึงว่ามีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง

00:25:07.622 --> 00:25:14.357
GROUP BY ข้อมูลจะถูกรวมเป็นข้อมูลเดียวกันหรือไม่นะคะ

00:25:14.357 --> 00:25:20.663
มีเงื่อนไขอะไรอีกไหม รวมถึงการจัดเรียงอย่างไรนะคะ เดี๋ยวจะมีตัวอย่างคำสั่งให้ดู

00:25:21.903 --> 00:25:24.481
อาทิตย์นี้ดูตัวอย่างคำสั่งไปก่อนนะคะ

00:25:25.499 --> 00:25:29.096
อันนี้เป็นตัวอย่างคำ... ของข้อมูลนะคะ

00:25:29.096 --> 00:25:33.296
สไลด์หลังจากนี้ไปเราจะดูคล้าย ๆ นี้เหมือนกัน

00:25:33.296 --> 00:25:38.677
มีตารางอยู่ 2 ตารางนะคะ ตารางแรกเป็นตารางหนังสือ

00:25:39.208 --> 00:25:43.348
ตารางที่ 2 จะเป็นตารางสำนักพิมพ์นะคะ

00:25:43.924 --> 00:25:51.573
ตารางแรกก็จะมีรหัสหนังสือ ชื่อหนังสือ รหัสสำนักพิมพ์ ราคานะคะ

00:25:51.927 --> 00:25:58.186
ตารางที่ 2 จะเป็นตารางสำนักพิมพ์ มีรหัสสำนักพิมพ์ แล้วก็ชื่อสำนักพิมพ์นะคะ

00:25:58.186 --> 00:26:01.994
คำสั่งจะแสดงผลมุมบนขวาตรงนี้นะคะ

00:26:01.994 --> 00:26:06.342
ส่วนผลลัพธ์ที่ได้จากคำสั่งภาษา SQL จะอยู่ในด้านล่างนะคะ

00:26:07.139 --> 00:26:12.621
ตัวอย่าง คำสั่งในการสืบค้นข้อมูล 1 ตาราง

00:26:12.621 --> 00:26:18.180
คำสั่งที่ง่ายที่สุดก็คือ SELECT FROM นะคะ

00:26:18.180 --> 00:26:22.535
เวลาอ่านคำสั่งเราจะดูตรงนี้นะคะตรงนี้

00:26:23.686 --> 00:26:27.108
ขึ้นต้นคำสั่งว่าอะไร ดูตรงนี้นะคะ

00:26:29.587 --> 00:26:33.444
ตัวอย่างการสืบค้นจาก 1 ตารางนะคะ ดอกจัน

00:26:34.329 --> 00:26:37.471
หมายถึงว่าเอาข้อมูลทุก ๆ คอลัมน์

00:26:40.000 --> 00:26:44.915
หรือเราจะสามารถระบุได้ว่า เราจะเอาข้อมูลเฉพาะคอลัมน์ไหน

00:26:46.509 --> 00:26:50.330
จากตารางอะไรนะคะ

00:26:50.640 --> 00:26:54.009
ตัวอย่างเช่นตัวนี้นะคะ

00:26:54.717 --> 00:26:58.314
ให้แสดงผลข้อมูลทุกแถวและทุกคอลัมน์

00:26:59.332 --> 00:27:04.265
คำสั่งก็คือ SELECT ไอ้เครื่องหมายดอกจันจะเป็น Star นะคะ

00:27:04.265 --> 00:27:09.926
SELECT * FROM Books ก็คือ เอาข้อมูลทุกแถว ทุกคอลัมน์

00:27:09.926 --> 00:27:11.740
จากตาราง Books

00:27:12.448 --> 00:27:18.627
ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลทั้งหมดที่อยู่ในตาราง Books นั่นเองนะคะ

00:27:18.627 --> 00:27:26.214
ถามว่าคำสั่งนี้ ใครสั่ง บางครั้งอาจจะเป็นคนที่ดูแลฐานข้อมูล

00:27:26.214 --> 00:27:30.674
หรือผู้ใช้งานต้องการจะเรียกดูข้อมูลในลักษณะนี้

00:27:31.161 --> 00:27:36.932
คำสั่งที่เกิดขึ้น ที่สั่งให้คอมพิวเตอร์ทำงานก็คือ SELECT FROM นะคะ

00:27:36.932 --> 00:27:40.109
อันนี้คือ SELECT *  ก็คือเอาทุกแถวทุกคอลัมน์

00:27:40.109 --> 00:27:44.528
แล้วถ้าเราไม่เอาทุกแถวทุกคอลัมน์ล่ะ เรากำหนดได้ไหม กำหนดได้ค่ะ

00:27:44.528 --> 00:27:51.824
คำสั่งต่อมา เป็น SELECT ก็คือเลือกชื่อกับราคา

00:27:53.329 --> 00:28:00.308
จากตาราง Books ผลลัพธ์ที่ได้จากคำสั่งนี้ ก็จะแสดงผลเฉพาะชื่อ

00:28:00.308 --> 00:28:03.465
กับราคาของหนังสือเท่านั้น

00:28:05.679 --> 00:28:10.672
เพราะว่าอย่างที่อาจารย์เคยบอก มุมมองของผู้ใช้งานแต่ละคนไม่เหมือนกัน

00:28:10.672 --> 00:28:15.274
บางคนอยากดูข้อมูลทั้งหมด บางคนอยากดูข้อมูลแค่ 2 อย่าง

00:28:15.495 --> 00:28:19.662
สามารถทำได้ไหม ทำได้ค่ะ  ดูข้อมูลอย่างเดียวก็ทำได้

00:28:19.662 --> 00:28:25.645
แค่เราต้องบอกให้ถูกว่า คุณอยากดูข้อมูลจากตารางไหน คอลัมน์อะไร ระบุไป

00:28:25.645 --> 00:28:30.075
ระบบจัดการฐานข้อมูลมันก็จะดึงข้อมูลขึ้นมาให้เราดูนะคะ

00:28:30.606 --> 00:28:34.651
ต่อมา ถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ

00:28:34.651 --> 00:28:38.827
แค่เอา column มันไม่พอแล้ว เราอย่าเพิ่มเงื่อนไข

00:28:38.827 --> 00:28:44.325
คำสั่งที่ในการ ใช้ในการเพิ่มเงื่อนไขคือคำสั่ง WHERE

00:28:44.679 --> 00:28:48.716
มันก็จะเป็น SELECT FROM WHERE ไล่ลำดับลงมานะคะ

00:28:50.487 --> 00:28:55.107
โดยอาจจะมีเงื่อนไข อาจจะเป็นเงื่อนไขในการเปรียบเทียบ

00:28:55.461 --> 00:29:02.155
เวลาเปรียบเทียบนะคะ ดูสัญลักษณ์ตรงนี้ มันจะเป็นมากกว่านะคะ

00:29:02.155 --> 00:29:07.548
มากกว่าเท่ากับน้อยกว่านะคะ พวกนี้

00:29:07.548 --> 00:29:11.715
น้อยกว่าเท่ากับ มากกว่าเท่ากับ อันนี้ไม่เท่ากับนะคะ

00:29:12.512 --> 00:29:20.329
อันนี้เป็นเท่ากับ มากกว่าน้อยกว่า เป็นอย่างนี้นะคะ เดี๋ยวจะทำตัวคั่นให้ทีหลัง

00:29:20.727 --> 00:29:22.243
หรือการรวบรวม

00:29:23.306 --> 00:29:27.075
เป็นและเป็นหรือคล้าย ๆ กับวิชาคณิตศาสตร์ที่เราเคยเรียนไปแล้ว

00:29:27.651 --> 00:29:32.794
เป็นการปฏิเสธ เช่น ไม่เอาข้อมูลนักศึกษาชายอย่างนี้

00:29:33.325 --> 00:29:36.154
ตรวจสอบค่าของข้อมูลว่าง

00:29:37.349 --> 00:29:41.753
ให้มันตรวจดูสิว่าข้อมูลตรงไหนมีช่องว่าง

00:29:42.063 --> 00:29:48.601
ข้อมูลตัวไหนหายไป ตรวจสอบเป็นช่วงเช่น ช่วงอายุระหว่าง 15 ถึง 18 ปี

00:29:50.000 --> 00:29:54.310
หรือในชื่อใครมีชื่อมี จ จาน

00:29:55.727 --> 00:29:58.262
หรือในชื่อใครมีสระเอ

00:29:59.546 --> 00:30:05.509
ตรวจสอบข้อความนะคะ เช่นในข้อความนั้นมีคำว่านาย

00:30:06.970 --> 00:30:11.274
ก็คนที่มี คำขึ้นต้นว่านายทั้งหมดอะไรก็ว่าไปนะคะ

00:30:11.274 --> 00:30:16.503
มันจะมีการเปรียบเทียบเงื่อนไขด้วยนะคะ อันนี้อาจารย์อธิบายไปแล้วนะคะ

00:30:16.503 --> 00:30:21.530
เท่ากับมากกว่าน้อยกว่า มากกว่าเท่ากับ น้อยกว่าเท่ากับไม่เท่ากับนะคะ

00:30:22.504 --> 00:30:28.641
อย่างตัวอย่าง การค้นหาแบบมีเงื่อนไขนะคะ

00:30:29.571 --> 00:30:37.178
อันแรกก็คือให้เอามาแสดงผลเฉพาะชื่อกับราคาจากตาราง Books

00:30:37.444 --> 00:30:43.239
โดยที่มีเงื่อนไขคือราคาน้อยกว่า 1,000

00:30:43.903 --> 00:30:49.750
เงื่อนไขแรกคือ แสดงผลเฉพาะชื่อ กับราคานะคะ

00:30:50.000 --> 00:30:55.020
แล้วเงื่อนไขต่อมาคือ ราคาน้อยกว่า 1,000 มาดูที่ราคาค่ะ

00:30:55.020 --> 00:31:00.083
อันนี้น้อยกว่า 1,000 อันนี้น้อยกว่า 1,000 นี่ น้อยกว่า 1,000

00:31:01.456 --> 00:31:04.754
1,000 แสดงผลไหมคะ ไม่แสดงผล

00:31:04.754 --> 00:31:15.304
1,950 แสดงผลไหม ไม่แสดงผล เพราะฉะนั้น ส่วนที่มันแสดงผล มีอยู่ 5 แถวนะคะ

00:31:15.304 --> 00:31:18.871
แต่มันจะเลือกแสดงผลแค่ชื่อกับราคาเท่านั้น อันนี้คือคำสั่ง

00:31:20.000 --> 00:31:22.976
ผลลัพธ์ที่ได้ก็จะเป็นตัวนี้นะคะ

00:31:23.419 --> 00:31:28.730
อันนี้เดี๋ยวเราจะลองทำสัปดาห์หน้า อันนี้อาจารย์ให้ดูภาพก่อนนะคะ

00:31:31.121 --> 00:31:34.573
คราวนี้เงื่อนไขเหมือนเดิมค่ะ แตกต่างกันตรงที่ว่า

00:31:35.015 --> 00:31:39.475
คำสั่งเปรียบเทียบเป็นน้อยกว่าเท่ากับ 1,000 แสดงว่า

00:31:39.475 --> 00:31:43.435
เล่มที่มีราคา 1,000 มันก็จะเอามาแสดงผลด้วย

00:31:44.365 --> 00:31:51.955
เพราะฉะนั้นต้องดูคำสั่งเปรียบเทียบดี ๆ ว่าเขาเอาน้อยกว่าหรือน้อยกว่าเท่ากับนะคะ

00:31:51.955 --> 00:31:56.334
เหมือนบางทีเวลาเราค้นหาสินค้าในเว็บไซต์ขายของออนไลน์

00:31:56.821 --> 00:31:59.198
เราให้มันจัดเรียงตามราคา

00:32:00.000 --> 00:32:05.526
ก็ใช้คำสั่งนี้ล่ะค่ะ ในการจัดเรียงว่าเราอยากได้สินค้าราคาที่น้อยที่สุด

00:32:05.526 --> 00:32:12.177
ไปหามากที่สุดไม่เกิน 2,000 บาท เขาก็จะจัดเรียงมาให้ ก็ใช้คำสั่งนี้แหละค่ะ

00:32:12.177 --> 00:32:18.392
ที่มันดึงข้อมูลจากฐานข้อมูลมาแสดงผลให้เรานะคะ เมื่อก่อนเราเป็นแค่ผู้ใช้งาน

00:32:18.392 --> 00:32:24.482
เราไม่รู้ว่าข้างในมันนี่ เขาเขียนอย่างไร วันนี้เรารู้แล้วนะคะ ว่า

00:32:24.482 --> 00:32:27.622
คำสั่งคอมพิวเตอร์ ต้องสั่งมันว่าอย่างไร

00:32:29.039 --> 00:32:35.707
ต่อมา เป็นคำสั่งเดิม แต่เปลี่ยนเงื่อนไข ก็คือ

00:32:35.707 --> 00:32:40.141
ให้ราคาไม่เท่ากับ 1,000 เพราะฉะนั้นก็แสดงผล

00:32:40.141 --> 00:32:46.151
หนังสือทุกเล่ม ยกเว้นเล่มที่มีราคา 1,000 จะไม่แสดงผล

00:32:47.479 --> 00:32:52.031
ดูดี ๆ นะคะเงื่อนไขตรงนี้เองต่างกันแค่นี้เองนิดเดียวนะคะ

00:32:52.031 --> 00:32:56.721
ถ้าสมมุติว่าในข้อสอบอาจารย์ถามว่าผลลัพธ์ที่ได้จากคำสั่งนี้แสดงผลอย่างไร

00:32:57.075 --> 00:33:03.814
นักศึกษาก็ต้องเขียนออกมาให้อาจารย์ดูได้ว่าจากคำสั่งนี้นะคะ

00:33:03.814 --> 00:33:09.759
ผลลัพธ์ที่ได้ควรจะเป็นอย่างไร อันนี้มันมีแค่เงื่อนไขเดียว

00:33:09.759 --> 00:33:18.370
แต่ถ้ามันมีหลายเงื่อนไขล่ะนะคะ มันสามารถทำได้หลายเงื่อนไขไหม ได้นะคะ

00:33:18.370 --> 00:33:22.815
ก็จะมีเงื่อนไขที่เพิ่มขึ้นคือ AND หรือ OR

00:33:23.479 --> 00:33:26.690
AND ก็คือต้องเป็นไปตามเงื่อนไขทั้งหมด

00:33:27.753 --> 00:33:32.857
OR ก็คือเป็นไปตามเงื่อนไขอย่างใดอย่างหนึ่งนะคะ

00:33:34.451 --> 00:33:40.126
อย่างตัวนี้คำสั่งเราดูก่อนเลยอย่างแรกเป็น OR นะคะ

00:33:40.613 --> 00:33:44.989
ให้เลือกแสดงผลข้อมูลเฉพาะชื่อกับราคาจากตาราง Books

00:33:44.989 --> 00:33:54.218
โดยมีเงื่อนไขคือราคามากกว่า 500 หรือรหัสสำนักพิมพ์น้อยกว่า 12

00:33:57.494 --> 00:34:07.006
ก็มาดูนะคะ เงื่อนไขแรกราคามากกว่า 500 จะมีอยู่ 2 เล่ม ตัวนี้นะคะ

00:34:07.759 --> 00:34:17.698
แล้วก็รหัสหรือรหัสสำนักพิมพ์น้อยกว่า 12 อันนี้ ๆ ๆ เพราะฉะนั้น

00:34:17.698 --> 00:34:23.689
จะแสดงผล 5 เล่มนะคะ

00:34:23.689 --> 00:34:29.337
ถามว่าทำไมอันนี้มันราคาไม่เกิน 500 นี่ ทำไมมันแสดงผล

00:34:29.337 --> 00:34:32.106
ก็เพราะว่ารหัสสำนักพิมพ์มันน้อยกว่า 12

00:34:34.541 --> 00:34:40.328
มันก็เลยแสดงผลด้วยนะคะ เป็น 5 เล่ม ซึ่งแตกต่างจากตัวอย่างต่อมา

00:34:41.258 --> 00:34:42.650
เป็น AND

00:34:42.650 --> 00:34:49.211
AND ก็คือถ้ามันมีเงื่อนไข 2 ข้อ มันจะต้องดูทั้งเงื่อนไขทั้ง 2 ข้อนะคะ

00:34:49.211 --> 00:34:52.113
อันนี้คือมันมีเงื่อนไข 2 ข้อก็จริง แต่ว่า

00:34:52.423 --> 00:34:54.375
มันสามารถเป็นได้ทั้ง 2 ข้อ

00:34:54.375 --> 00:34:57.422
โดยที่มันสามารถเลือกได้นะคะ

00:34:57.422 --> 00:35:02.988
แต่อันนี้จะต้องเข้าตามเงื่อนไขทั้ง 2 ข้อเป๊ะ ๆ เท่านั้นนะคะ

00:35:04.139 --> 00:35:09.129
เงื่อนไขก็คือให้ราคามากกว่าเท่ากับ 500

00:35:09.129 --> 00:35:14.094
และราคาน้อยกว่าเท่ากับ 1,000 ก็คือเป็นช่วงนั่นเองนะคะ

00:35:14.094 --> 00:35:19.789
ก็จะมีเล่มนี้ 500 เล่มนี้ 1,000

00:35:19.789 --> 00:35:23.002
ถามว่าเล่มนี้ได้ไหม ไม่ได้ เพราะมันเกิน 1,000

00:35:23.666 --> 00:35:27.990
เล่มนี้ได้ไหม ไม่ได้ เพราะมันน้อยกว่า 500 เพราะฉะนั้น

00:35:27.990 --> 00:35:32.984
ผลลัพธ์ที่ได้ก็จะมีแค่ 2 เล่มเท่านั้นตามเงื่อนไขนะคะ

00:35:33.293 --> 00:35:36.350
แล้วมีเงื่อนไขมากกว่านี้ไหม มีได้ค่ะ

00:35:37.456 --> 00:35:40.777
เป็นได้ทั้ง AND และ OR นะคะ

00:35:42.105 --> 00:35:47.334
ถ้าอันไหนเป็น AND ก็คือจะต้องตามเงื่อนไขนั้นอย่างเดียวเท่านั้นนะคะ

00:35:47.334 --> 00:35:52.544
เช่น ราคามากกว่าเท่ากับ 500 มีเล่มไหนบ้าง

00:35:53.341 --> 00:36:00.336
มีเล่มนี้นะคะ มีเล่มนี้นะคะ

00:36:01.310 --> 00:36:06.003
หรือ PID ก็คือรหัสสำนักพิมพ์ = 4

00:36:06.534 --> 00:36:11.187
= 4 มีเล่มไหนบ้าง มีเล่มนี้ค่ะ มีเล่มนี้ มีเล่มนี้

00:36:12.958 --> 00:36:15.826
ทำไมถึงเอา เพราะมันเป็นคำสั่ง OR

00:36:18.173 --> 00:36:26.660
OR ก็คือสามารถยอมรับได้นะคะ ก็แสดงผลมา 5 เล่ม อันนี้เป็นเงื่อนไขนะคะ

00:36:26.660 --> 00:36:33.035
แต่ว่ามันก็จะมีวิธีการเขียนให้มันสั้นกว่านี้อยู่นะคะ เดี๋ยวดูไปมีอีกหลายตัวอย่างนะคะ

00:36:33.035 --> 00:36:40.145
กับต่อมาเป็นเงื่อนไขในการปฏิเสธก็คือไม่เอานะคะ ก็คือคำสั่ง NOT

00:36:41.872 --> 00:36:50.214
อย่างเช่นคำสั่งนี้ เงื่อนไขคือ ไม่เอารหัสสำนักพิมพ์ที่มีค่าเท่ากับ 4

00:36:50.834 --> 00:36:57.889
อันนี้ตัดไป ๆ ๆ เพราะฉะนั้นแสดงผลที่เหลือ อันนี้คือเงื่อนไขง่าย ๆ

00:36:58.243 --> 00:37:06.403
อย่างเช่น เราหาซื้อของออนไลน์ ไม่อยากได้สีแดง เราก็เลยบอกว่า ไม่เอาสีแดง

00:37:06.934 --> 00:37:14.280
มันก็แสดงผลสินค้าที่เหลือมาให้นะคะ หรือการหาค่าว่าง

00:37:14.280 --> 00:37:20.000
หรือการไม่มีค่าในข้อมูลนั้น ๆ เช่น ลองดูสิว่าในราคาน่ะ

00:37:20.664 --> 00:37:23.306
ในส่วนของราคามีอะไรเป็นค่าว่างบ้าง

00:37:24.191 --> 00:37:27.397
NONE ตัวนี้แปลว่าค่าว่างนะคะ ค่าว่างตัวนี้

00:37:28.061 --> 00:37:34.842
ก็จะมีอยู่เล่มเดียวที่ไม่มีข้อมูลสำนักพิมพ์ ไม่มีข้อมูลราคา มีเล่มเดียว

00:37:35.373 --> 00:37:40.832
อันนี้เอาไว้เช็กว่า ข้อมูลเรามีข้อมูลอะไรหายไปหรือเปล่า ก็สามารถ

00:37:41.069 --> 00:37:44.136
ให้คอมพิวเตอร์มันเช็กให้เราได้นะคะ

00:37:45.553 --> 00:37:52.782
ในทางกลับกันให้มันเช็กว่ามีข้อมูลอะไรบ้างที่ไม่ใช่ค่าว่าง ก็ใช้คำสั่งที่

00:37:53.402 --> 00:37:58.894
ใกล้เคียงกันแค่นั้นเองนะคะ เพราะฉะนั้นภาษาอังกฤษค่อนข้างง่ายค่ะ

00:37:58.894 --> 00:38:06.154
เป็นคำง่าย ๆ พยามลองแปลดู คำศัพท์ก็ไม่ใช่คำศัพท์ที่ซับซ้อนอะไรมากนะคะ

00:38:06.154 --> 00:38:08.413
ที่ใช้ในการจัดการฐานข้อมูล

00:38:09.033 --> 00:38:13.959
เมื่อกี้เราใช้ AND ใช้ OR นะคะ ค่อนข้างยาว

00:38:15.332 --> 00:38:24.914
เราจะเปลี่ยนใหม่เป็นคำสั่ง BETWEEN AND นะคะ ก็คือระหว่างเท่าไรถึงเท่าไรนะคะ

00:38:24.914 --> 00:38:30.754
ในทาง… ในเทียบกันดูนะคะ ถ้าเราใช้คำสั่งนี้นะคะ

00:38:30.754 --> 00:38:40.208
ให้แสดงผลคอลัมน์นะคะ ที่มีค่าระหว่าง 10-20  เราพิมพ์แค่นี้เองนะคะ

00:38:40.208 --> 00:38:46.957
แต่ถ้าเราไม่ใช้ เราจำคำสั่ง BETWEEN AND ไม่ได้ เราต้องพิมพ์ยาวมากแบบนี้นะคะ

00:38:46.957 --> 00:38:54.287
คำสั่งตัวนี้ มันเลยทำให้เราทำงานได้เร็วขึ้น พิมพ์น้อยลงนะคะ

00:38:54.287 --> 00:39:02.182
อย่างเช่นตัวนี้นะคะ เงื่อนไขคือ ให้เลือก

00:39:02.580 --> 00:39:08.324
ชื่อหนังสือกับราคามาโดยที่มีเงื่อนไขคือราคาอยู่ในระหว่าง 500 ถึง 1,000

00:39:08.988 --> 00:39:10.874
ก็มีกี่เล่มค่ะ

00:39:12.823 --> 00:39:21.663
มีอยู่ 2 เล่ม 500 กับ 1,000 นะคะ พิมพ์สั้นลงเยอะเลยนะคะ พิมพ์สั้นลงเยอะเลย

00:39:24.364 --> 00:39:31.728
กับเงื่อนไขต่อมา เงื่อนไขคือราคาไม่อยู่ในช่วงระหว่าง 500 ถึง 1,000

00:39:33.411 --> 00:39:38.214
มีอะไร 500 ตัดออก 1,000 ตัดออก

00:39:39.808 --> 00:39:50.034
เพราะฉะนั้นผลลัพธ์ที่ได้ก็จะมีอยู่ ทุกเล่มเลย ยกเว้นเล่มที่ราคา 500 เกือบ 1,000 นะคะ

00:39:52.071 --> 00:39:57.635
หรือเราอาจจะค้นหาข้อมูลตามค่าที่เราต้องการนะคะ

00:39:57.857 --> 00:40:06.287
เราจะใช้คำสั่ง เงื่อนไขเพิ่มเติมเข้ามาคือคำ IN I-N ตัวนี้นะคะ I-N ตัวนี้

00:40:08.235 --> 00:40:15.921
เช่น ข้อมูลที่เราต้องการก็คือ อาจจะมีตัวเลข ให้หาตัวเลขคี่

00:40:17.382 --> 00:40:20.542
ระหว่าง 1-10 นะคะ

00:40:20.542 --> 00:40:24.564
ผลลัพธ์ที่ได้ก็เป็น 1, 3, 5, 7, 9 อันนี้เราทราบอยู่แล้วเลขจำนวนคี่

00:40:25.139 --> 00:40:28.017
ระหว่าง 1-10 นะคะ

00:40:28.017 --> 00:40:32.416
ชื่อคนที่ขึ้นต้นด้วย ส เสือ ม ม้า

00:40:35.161 --> 00:40:41.291
มีอะไรบ้าง สมชาย สมพงษ์ สมศักดิ์ อะไรก็ว่าไป สมมติในฐานข้อมูลนะคะ

00:40:41.291 --> 00:40:49.562
ตัวอย่างก็คือ เงื่อนไขให้แสดงชื่อหนังสือกับราคา ที่ราคาหนังสือ นี่ค่ะ IN

00:40:51.333 --> 00:40:57.171
มีค่า 250 หนังสือเล่มละ 500 750 1,000

00:40:58.676 --> 00:41:02.926
เล่มไหนบ้างมี 250 มีไหม มี 1 เล่ม 500 มีไหม

00:41:03.723 --> 00:41:05.291
500 มี 1 เล่ม

00:41:06.531 --> 00:41:11.736
750 มีไหม ไม่มี 1,000 มีไหม มี

00:41:12.533 --> 00:41:16.603
เพราะฉะนั้นแสดงผล 3 เล่มนะคะ

00:41:16.603 --> 00:41:21.950
ถามว่าเราค้นหาไม่เจอแล้วมันเกิดอะไรขึ้นไหม ไม่เจอก็คือไม่เจอนะคะ ก็แสดงว่า

00:41:21.950 --> 00:41:27.514
ในฐานข้อมูลเราไม่มีหนังสือเล่มละ 750 แค่นั้นเองนะคะ

00:41:31.144 --> 00:41:39.355
หรือการค้นหาหนังสือที่ราคาไม่อยู่ในราคาที่ 250

00:41:40.000 --> 00:41:45.571
250 ตัดออกไป ไม่เอา 500 เอาไหม ไม่เอา

00:41:46.324 --> 00:41:52.861
750 ไม่มี 1,000 มีตัดออก เพราะฉะนั้นแสดงผลหนังสือเล่มที่เหลือ

00:41:53.437 --> 00:41:59.548
เพราะเขาบอกว่าไม่เอาหนังสือราคา 250 ไม่เอา 500 ไม่เอา 750 ไม่เอา 1,000

00:41:59.548 --> 00:42:04.192
เพราะฉะนั้นก็แสดงผลค่าที่เหลือแค่นั้นเองก็คือการตัดออกนั่นแหละนะคะ

00:42:06.937 --> 00:42:14.274
ต่อมาคราวนี้เป็นการระบุราคาไปแล้ว เราจะระบุเป็นข้อความนะคะ

00:42:14.274 --> 00:42:19.990
เป็นตัวอักษรก็ได้ จากเมื่อกี้เป็นคำสั่ง IN คราวนี้จะเป็นคำสั่ง LIKE

00:42:20.610 --> 00:42:22.964
LIKE เหมือนกด LIKE นี่แหละนะคะ

00:42:26.196 --> 00:42:28.754
ก็จะเป็นค้น การค้นหาส่วนของข้อความ

00:42:29.241 --> 00:42:31.994
บางครั้งเราอาจจะไม่ได้พิมพ์ชื่อเต็ม ๆ ของเขา

00:42:32.570 --> 00:42:36.066
อาจจะเป็นส่วนของชื่อก็ได้ เช่น

00:42:36.066 --> 00:42:39.970
จำชื่อเขาไม่ได้น่ะ เขาน่าจะชื่อสมสม พงษ์พงษ์ อะไรประมาณนี้

00:42:40.280 --> 00:42:44.099
ซึ่งมันเป็นส่วนของคำ ของชื่อของคนที่ชื่อว่าสมพงษ์

00:42:44.099 --> 00:42:49.805
อาจจะจำคำชื่อขึ้นต้นเขาไม่ได้ อาจจะจำได้บางส่วน ก็สามารถค้นหาได้เหมือนกัน

00:42:50.868 --> 00:42:56.137
เช่นบางคนอาจจะพิมพ์คำว่า microsoft ผิด หรือจำไม่ได้

00:42:56.137 --> 00:43:00.791
ก็สามารถค้นหาได้เหมือนกันเป็นบางส่วนของข้อความนะคะ

00:43:01.588 --> 00:43:09.784
โดยที่การค้นหาส่วนของข้อความใด ๆ โดยที่ไม่จำกัดตัวอักษร

00:43:10.000 --> 00:43:13.881
เราจะใช้เป็นตัวเปอร์เซ็นต์หรือตัว * เป็นดอกจันตัวนี้ก็ได้

00:43:14.147 --> 00:43:21.563
เดี๋ยวจะมีตัวอย่างให้ดูนะคะ หรือเป็นส่วนของข้อความใด ๆ ที่มีขนาดแค่ 1 ตัวอักษร

00:43:22.006 --> 00:43:26.446
เราจะใช้เป็น _ หรือเครื่องหมายคำถาม

00:43:26.446 --> 00:43:32.760
ถ้าในส่วน ของโปรแกรม Microsoft Access นะคะ เราจะใช้เป็นเครื่องหมายคำถาม

00:43:35.461 --> 00:43:40.059
หรือเป็นวงเล็บ วงเล็บ เป็นวงเล็บสี่เหลี่ยมแบบนี้นะคะ ก็คือ

00:43:40.059 --> 00:43:43.462
ให้ตัวอักษรใด ๆ ที่ปรากฏในช่อง

00:43:44.347 --> 00:43:46.589
จะต้องเป็นตัวอักษรนั้นเท่านั้น

00:43:49.290 --> 00:43:51.155
แต่ถ้ามีเครื่องหมายตกใจ

00:43:52.218 --> 00:43:56.466
มันจะเป็นการบอกว่า ไม่เอาตัวอักษรนั้นนะคะ

00:43:56.466 --> 00:44:01.469
หรืออาจจะเป็นช่วงตัวอักษรก็ได้ เดี๋ยวดูตัวอย่างเลยแล้วกัน มันจะได้เห็นภาพนะคะ

00:44:03.860 --> 00:44:11.337
อย่างเช่นเงื่อนไขคือ ให้ค้นหาชื่อหนังสือราคาจากตารางหนังสือโดยที่

00:44:11.337 --> 00:44:18.608
ชื่อหนังสือนะคะ ขึ้นต้นด้วย N ตามด้วยอะไรก็ได้

00:44:19.051 --> 00:44:24.475
ถ้าเป็นเครื่องหมายดอกจันตัวนี้คือ ขึ้นต้นด้วยตัวหนังสือนั้น ๆ ตามด้วยอะไรก็ได้

00:44:24.475 --> 00:44:29.964
ในตารางเราลองดูสิคะ ขึ้นต้นด้วยตัว N มี 1 ชื่อ

00:44:29.964 --> 00:44:33.269
มี 2 ชื่อ เพราะฉะนั้นแสดงผล 2 อัน

00:44:34.022 --> 00:44:38.587
ขึ้นต้นด้วยตัว N นะคะ อันอื่นไม่ได้ขึ้นต้นด้วยตัว N แล้ว

00:44:40.535 --> 00:44:44.519
เงื่อนไขต่อมา หาชื่อหนังสือ

00:44:45.139 --> 00:44:52.220
ที่ขึ้นต้นด้วยอะไรก็ได้ ลงท้ายด้วยอะไรก็ได้ แต่ในชื่อนั้นมีตัว C

00:44:54.080 --> 00:44:58.757
ขึ้นต้นด้วยอะไรก็ได้ค่ะ ลงท้ายอะไรก็ได้นะคะ

00:44:59.465 --> 00:45:02.268
แต่ตรงในนั้นน่ะ ในคำนั้นน่ะต้องมีตัว C

00:45:03.330 --> 00:45:06.490
อันแรกชื่อแรกมีไหมค่ะ ไม่มี

00:45:06.490 --> 00:45:10.000
ชื่อที่ 2 มีตัว C ตรงตามเงื่อนไขไหม

00:45:10.000 --> 00:45:13.488
ขึ้นต้นด้วยอะไรก็ได้ ลงท้ายด้วยอะไรก็ได้ แต่มีตัว C

00:45:14.822 --> 00:45:24.681
หนังสือต่อมา มีไหมมีตัว C มี ตัวนี้ก็มีนะคะ ตัวนี้ ถามว่าได้ได้อย่างไร

00:45:24.681 --> 00:45:30.537
ก็มันขึ้นต้นด้วยอะไรก็ได้ อาจจะขึ้นด้วยตัว C ก็ได้ นะคะ ขอให้มีตัว C เป็นประกอบ

00:45:31.068 --> 00:45:34.569
เพราะฉะนั้นก็จะมีหนังสืออยู่ 4 เล่ม นะคะ 4 เล่ม

00:45:37.270 --> 00:45:45.269
อันนี้คือผลลัพธ์ เพราะฉะนั้นบางทีนี่ อาจารย์อยากค้นหาชื่อนักศึกษานะคะ

00:45:45.535 --> 00:45:51.373
จำชื่อจริงเขาไม่ได้ จำได้แค่ว่ามีคำว่า พรพรอะไรสักอย่างอะไรอย่างนี้นะคะ

00:45:51.949 --> 00:45:57.160
ฐานข้อมูลก็สามารถค้นหาข้อมูลให้เราได้เช่นเดียวกันนะคะ

00:45:59.462 --> 00:46:04.775
ตัวอย่างนี้จะเริ่มสังเกตแล้วว่าทำไมมันมีเครื่องหมายคำถามแล้วก็ดอกจัน

00:46:05.705 --> 00:46:08.844
ถ้ามีเครื่องหมายคำถามตัวนี้ หมายความว่า

00:46:09.154 --> 00:46:17.987
ข้างหน้าตัว e 1 ตัวอักษรเท่านั้นนะคะ เป็น 1 ตัว แต่ตามหลังตัว e เป็นกี่ตัวก็ได้

00:46:18.740 --> 00:46:26.089
เรามาดูเงื่อนไขกันเลยนะคะ ถามว่าในหนังสือเล่มนี้ได้ไหม

00:46:27.019 --> 00:46:33.967
ไม่ได้เพราะตรงก่อนหน้าตัว e มีตัวหนังสืออยู่ก่อนหน้า 5 ตัว ซึ่งผิดเงื่อนไข

00:46:33.967 --> 00:46:39.939
ถ้าเป็นเครื่องหมายคำถาม ตัวหนังสือที่นำหน้าตัว e จะต้องมีแค่ 1 ตัวเท่านั้นนะคะ

00:46:40.382 --> 00:46:45.925
นะคะ เล่มนี้ล่ะ มีตัว e แต่ก่อนหน้าตัว e มีหนังสือ ตัวหนังสือเยอะเลย

00:46:45.925 --> 00:46:54.979
ก็ไม่ได้นะคะ เล่มนี้ได้ไหม ขึ้นต้นด้วย 1 ตัวอักษร ตามหลังด้วยตัว e ได้

00:46:56.839 --> 00:47:04.183
ตัวนี้ไม่มีนะคะ เล่มนี้ก็ไม่ได้ เล่มนี้ได้ ขึ้นต้นด้วยตัว e ขึ้นต้นด้วย 1 ตัว

00:47:04.183 --> 00:47:08.982
ก่อนหน้าตัว e แค่นั้น เพราะฉะนั้นมีหนังสือแค่ 2 เล่มนะคะ

00:47:08.982 --> 00:47:15.221
เล่มนี้ก็ไม่ได้ เพราะก่อนหน้าตัว e  มีตัวหนังสือมากกว่า 1 ตัวนะคะ ผิดเงื่อนไข

00:47:17.877 --> 00:47:20.961
เงื่อนไขต่อมานะคะ

00:47:21.714 --> 00:47:33.787
เงื่อนไขว่าให้ชื่อหนังสือขึ้นต้นด้วยตัว N หรือตัว O ตามหลังด้วยอะไรก็ได้นะคะ

00:47:34.318 --> 00:47:37.517
ก็จะมีอยู่กี่เล่ม เล่มนี้ขึ้นต้นด้วยตัว N ได้

00:47:38.004 --> 00:47:41.894
ขึ้นต้นด้วยตัว N ได้ มีตัว O ไหม มีตัว O 1 เล่ม

00:47:41.894 --> 00:47:46.265
ก็แสดงผลหนังสือ 3 เล่มนะคะ

00:47:46.265 --> 00:47:50.408
อันนี้เป็นการดูเงื่อนไข แต่เดี๋ยวอาทิตย์หน้าพวกคุณจะต้องได้ทำเอง

00:47:50.408 --> 00:47:56.820
อาจารย์อาจจะให้คุณสร้าง แล้วก็อาจจะกำหนดว่าให้คุณลองพิมพ์เงื่อนไขตามนี้ดูสิ

00:47:56.820 --> 00:48:01.408
แล้วให้แสดงผลตามที่อาจารย์กำหนด พวกคุณก็ต้องพิมพ์คำสั่งให้ถูก

00:48:02.072 --> 00:48:06.812
อย่างเช่นข้อมูลสัปดาห์หน้า อาจารย์อาจจะบอกว่า ให้แสดงผล

00:48:07.078 --> 00:48:10.836
คนที่ขึ้นต้นชื่อด้วย ส เสือ กับตัว อ อ่าง

00:48:11.589 --> 00:48:17.055
อาทิตย์หน้า นักศึกษาก็ต้องทำได้นะคะ เพราะว่าอาทิตย์นี้มีตัวอย่างแล้วนะ

00:48:20.000 --> 00:48:25.352
เงื่อนไขต่อมา ชื่อหนังสือที่ไม่ขึ้นต้นด้วยตัว N

00:48:25.883 --> 00:48:34.236
ตามหลังด้วยอะไรก็ได้ อันนี้ก็หลายเล่มเลยนะคะ ก็เล่มนี้ ๆ ๆ ๆ ๆ นะคะ

00:48:34.856 --> 00:48:39.594
แค่นี้เอง นี่ ต่อมา

00:48:40.258 --> 00:48:42.871
จะเริ่มเป็นการปรับปรุงฐานข้อมูล

00:48:43.269 --> 00:48:50.532
จะเป็นการกำจัดข้อมูลที่อาจจะมีการซ้ำกันเกิดขึ้น ก็คือรายการซ้ำนะคะ

00:48:50.532 --> 00:48:52.299
มี 2 คำสั่ง

00:48:54.424 --> 00:49:03.178
ก็จะมีการใช้คำสั่งที่อาจจะกำจัดรายการข้อมูลซ้ำให้เหลือรายการเดียวนะคะ

00:49:03.178 --> 00:49:05.734
โดยใช้การกำหนดค่าต่าง ๆ เป็นเกณฑ์

00:49:07.018 --> 00:49:13.115
กับคำสั่ง ถ้าต่อมาเป็น DISTINCT ตัวนี้นะคะ ก็ลบทิ้งทั้งแถว

00:49:13.646 --> 00:49:16.270
เดี๋ยวเราดูตัวอย่างกันนะคะ

00:49:22.026 --> 00:49:27.069
โดยคำสั่งก็คือ ให้เลือกกำจัด ชื่อซ้ำ

00:49:27.733 --> 00:49:32.334
ชื่อที่ซ้ำนะคะ จากตาราง STUDENT

00:49:33.928 --> 00:49:39.767
ดูในตาราง STUDENT ในช่องชื่อนะคะ

00:49:40.830 --> 00:49:47.070
ดูเฉพาะชื่อนะ นะคะ อันไหนชื่อซ้ำ มีซ้ำ 1 คน

00:49:47.336 --> 00:49:50.628
ก็คือชื่อแดง เพราะฉะนั้น

00:49:56.118 --> 00:50:01.460
การแสดงผลก็จะเป็นแค่ 3 ชื่อที่เหลือเพราะว่าแดงมีซ้ำ 3 คน

00:50:01.460 --> 00:50:06.502
เราจะตัดให้เหลือแค่ 1 แดงเท่านั้นนะคะ

00:50:06.502 --> 00:50:13.124
ข้อมูลอย่างอื่นเราไม่สนใจ มันแค่อยากรู้ว่าคนที่ชื่อซ้ำกันนี่ ตัดชื่อซ้ำออกนะคะ

00:50:13.124 --> 00:50:22.157
อันนี้คือคำสั่ง กับให้ตัดข้อมูลทิ้งทั้งแถวนะคะ

00:50:22.821 --> 00:50:27.823
อย่างตอนนี้ ถ้ามันซ้ำกันจริง ๆ ถ้านักศึกษาสังเกตดี ๆ

00:50:28.089 --> 00:50:31.511
คนชื่อแดงซ้ำกันก็จริงนะคะ แต่นามสกุลนี่

00:50:32.485 --> 00:50:38.197
ไม่ซ้ำกัน แต่จะมีอันนี้ ซ้ำทั้งชื่อทั้งนามสกุล

00:50:38.905 --> 00:50:45.863
ถ้าใช้คำสั่งนี้นะคะ มันจะตัดข้อมูลที่ซ้ำกันทั้งแถวออก

00:50:48.298 --> 00:50:56.554
นะคะ อันนี้ก็คือเดี๋ยวเราไปดูในโปรแกรมจริง ๆ ดีกว่านะคะ เพราะว่าอันนี้ตัวอย่าง

00:50:56.554 --> 00:51:02.884
มันอาจจะยังดูเห็นภาพไม่ชัดมันยังดูน้อยไป เดี๋ยวอาทิตย์หน้าเราได้ทำของจริงนี่

00:51:02.884 --> 00:51:06.750
เราจะได้ทำเยอะกว่านี้นะคะ

00:51:08.432 --> 00:51:11.959
ต่อมาจะเป็นการเรียงลำดับข้อมูลนะคะ

00:51:13.376 --> 00:51:19.678
ก็จะใช้คำสั่ง ORDER BY นะคะก็คือการเรียงลำดับนะคะ

00:51:20.000 --> 00:51:25.843
ก็คือให้แสดงผลข้อมูลทั้งหมดจากตาราง Books โดยให้เรียงลำดับ

00:51:25.843 --> 00:51:32.436
ตามราคาถ้าเราไม่สั่งเพิ่มเติม มันจะเป็นการเรียงจากน้อยไปหามาก

00:51:35.668 --> 00:51:40.569
คำสั่งนี้ก็คือ OREDR BY PRICE ก็คือให้เรียงลำดับจากราคาน้อยไปหามาก

00:51:41.189 --> 00:51:45.647
ก็จะเรียงศัพท์ใหม่ สับเปลี่ยนตามลำดับที่เราสั่ง

00:51:45.647 --> 00:51:48.715
แต่ถ้าเราอยากเรียงจากมากไปหาน้อย

00:51:49.468 --> 00:51:54.678
เราจะต้องระบุเพิ่มได้ว่า DESC ตรงนี้ นะคะ

00:51:54.678 --> 00:51:58.344
มันจะหมายถึงว่าให้เราเรียงลำดับตามราคาก็จริง

00:51:58.344 --> 00:52:02.580
แต่ให้เรียงจากราคามากไปหาราคาน้อยนะคะ

00:52:03.023 --> 00:52:08.258
ต้องบอกด้วย เหมือนเวลาเราใช้เว็บในการซื้อของออนไลน์ค่ะ เหมือนกัน

00:52:08.656 --> 00:52:14.355
ไส้ในของโปรแกรมมันก็คือคำสั่งที่เราเรียนวันนี้นะคะ

00:52:14.621 --> 00:52:18.797
นักศึกษาจะได้เข้าใจ เพราะต่อไปเราจะไม่เป็นแค่ผู้ใช้งานแล้ว

00:52:18.797 --> 00:52:22.761
เราจะต้องเป็น อาจจะได้เป็นผู้ดูแลระบบด้วยนะ

00:52:25.639 --> 00:52:31.999
กับมันก็จะมีฟังก์ชันการคำนวณทางคณิตศาสตร์ที่เกิดขึ้นในการจัดการฐานข้อมูลด้วย

00:52:31.999 --> 00:52:37.623
อาจจะเป็นฟังก์ชันสำหรับการบวก การนับ การหาค่าเฉลี่ยนะคะ

00:52:37.623 --> 00:52:42.902
ไอ้ AVG ตัวนี้มันย่อมาจาก Average ก็คือการหาค่าเฉลี่ยนะคะ

00:52:42.902 --> 00:52:48.140
หาค่าน้อยที่สุด ค่ามากที่สุด อันนี้เป็นคณิตศาสตร์อย่างง่าย

00:52:48.140 --> 00:52:55.436
ก็ต้องเอามาใช้ด้วยนะคะ อย่างเช่น ให้รวม

00:52:56.946 --> 00:53:07.437
ราคาทั้งหมด แล้วให้ตั้งชื่อคอลัมน์ใหม่ ชื่อว่า SUMPRICE ตัวนี้นะคะ

00:53:07.437 --> 00:53:15.658
ให้รวมราคาทั้งหมดใส่ในคอลัมน์ใหม่นะคะ Field ใหม่จากตาราง Books

00:53:15.658 --> 00:53:21.187
เพราะฉะนั้นผลลัพธ์จากคำสั่งนี้ ก็คือการเอายอดรวมราคาหนังสือทั้งหมดมาบวกกัน

00:53:22.825 --> 00:53:25.694
ให้เราได้ผลลัพธ์ตัวนี้นะคะ

00:53:26.668 --> 00:53:33.712
ก็ไม่ยาก ถ้าเราจำคำสั่งได้ ไม่ยากเลย มีบวกแล้วก็ต้องมีนับ

00:53:35.350 --> 00:53:49.403
ให้นับจำนวนจากรหัสหนังสือทั้งหมด จากตาราง Books โดยให้ชื่อคอลัมน์ใหม่

00:53:49.403 --> 00:53:57.324
ชื่อว่า COUNTBOOK ก็คือให้นับจำนวน BookID ก็คือหนังสือทั้งหมดนะคะ มีกี่เล่ม

00:53:58.032 --> 00:54:05.415
มันก็นับมาได้ 7 เล่ม อันนี้คือมันง่าย มันมอง มัน… เรามองดูด้วยสายตาเราก็รู้

00:54:05.725 --> 00:54:07.827
แต่ถ้าข้อมูลมันเยอะกว่านี้ล่ะ

00:54:09.244 --> 00:54:12.582
แล้วคุณจะรู้ได้อย่างไรว่าตอนนี้มันยังมีหนังสือกี่เล่ม สมมุติว่า

00:54:12.582 --> 00:54:16.001
ให้คุณดูแลระบบจัดการห้องสมุดทั้งหมดของมหาวิทยาลัย

00:54:16.886 --> 00:54:21.186
มันไม่สามารถยืนดูที่หน้าประตูแล้วบอกได้ว่าเรามีหนังสือกี่เล่มใช่ไหมคะ

00:54:21.186 --> 00:54:28.860
มันก็ต้องบวกจากฐานข้อมูล แล้วสมมุติว่าเราไปฝึกงาน แล้วมี

00:54:30.852 --> 00:54:37.478
เจ้าหน้าที่ถามว่า ให้เด็กฝึกงานไปดูสิว่ามีหนังสือกี่เล่ม คุณจะไปเดินนับ ไม่ใช่

00:54:38.142 --> 00:54:46.402
เราสามารถสั่งได้จากฐานข้อมูลเลย ว่าวันนี้ ในห้องสมุดมันมีหนังสือกี่เล่มนะคะ

00:54:46.402 --> 00:54:51.120
หรือในอนาคตคุณต้องได้ฝึกงานแน่นอนหรือเขาอาจจะบอกว่า เด็กฝึกงานไปนับสิ

00:54:51.518 --> 00:54:57.132
ของในโกดังมีกี่ชิ้น คุณจะไปนั่งนับเหรอนะคะ

00:54:57.132 --> 00:55:03.282
มันก็สามารถมีวิธีการ จากฐานข้อมูลนี่แหละ นับดูสิว่าสรุปสินค้าเรามีกี่อย่าง

00:55:03.725 --> 00:55:07.316
คุณจะไปนั่งนับมันไม่ได้หรอกค่ะในชีวิตจริงนะคะ

00:55:10.725 --> 00:55:16.802
คำสั่งนี้ก็ค่อนข้างจำเป็นนะคะ สำหรับใช้ในการฝึกงานหรือทำงานในอนาคตนะ

00:55:17.997 --> 00:55:21.895
หรือการหาค่าเฉลี่ยนะคะ

00:55:21.895 --> 00:55:26.096
ก็จะเป็นการหาค่าเฉลี่ยของราคาของสินค้าทั้งหมด

00:55:26.096 --> 00:55:31.961
โดยให้ตั้งชื่อคอลัมน์ใหม่ชื่อว่า AVGPRICE ก็คือ Average Price นั่นเองคือค่าเฉลี่ย

00:55:31.961 --> 00:55:36.508
แสดงว่าหนังสือ 7 เล่มนี้นะคะ มีค่าเฉลี่ย

00:55:36.508 --> 00:55:40.918
ต่อเล่มประมาณ 642.14 ตัวนี้นะคะสมมุติว่า

00:55:40.918 --> 00:55:44.840
มีใครต้องการข้อมูลจากเราเราก็สามารถให้เขาดูได้

00:55:45.371 --> 00:55:52.201
ต่อมาเขาถามว่า ราคาหนังสือที่ถูกที่สุดในร้านเท่าไร

00:55:53.175 --> 00:55:58.253
คุณจะไปเดินหาก็ไม่ใช่ เราแค่สั่งให้ฐานข้อมูลมันแสดงผลสิว่า

00:55:58.253 --> 00:56:04.351
ราคาสินค้าที่ถูกที่สุดนะคะ โดยที่ให้กำหนดใส่ในคอลัมน์ใหม่

00:56:04.794 --> 00:56:09.770
ราคาที่ถูกที่สุดตอนนี้ คือถ้าเรามองด้วยสายตา เราก็ทราบแหละว่า 150

00:56:09.770 --> 00:56:14.039
แต่อย่างที่อาจารย์บอก ถ้าเกิดสินค้ามันมีเป็นหมื่นเป็นแสนชิ้น

00:56:14.039 --> 00:56:17.677
คุณจะมานั่งไล่ดู เสียเวลาค่ะ

00:56:18.031 --> 00:56:24.751
ฐานข้อมูลจัดการได้ ให้มันค้นหาให้คุณเลย ไม่เกิน 1 นาทีรู้แน่นอนนะคะ

00:56:28.514 --> 00:56:35.125
หาราคาน้อยที่สุดแล้วก็อันนี้เป็น MAXPRICE นะคะก็ดูราคามากที่สุดได้เช่นเดียวกัน

00:56:36.277 --> 00:56:41.241
ต่อมาเป็นการรวมกลุ่มข้อมูลนะคะ

00:56:41.241 --> 00:56:47.361
เป็นการรวมตามเงื่อนไข ในเงื่อนไขตัวอย่างก็คือใช้คำสั่ง GROUP BY นะคะ

00:56:47.361 --> 00:56:57.252
เป็นการรวมตามเงื่อนไข เช่น ให้ดูช่องนี้นะคะ

00:56:57.252 --> 00:56:59.254
รหัสสำนักพิมพ์

00:57:00.228 --> 00:57:03.808
รวมราคาออกมานะคะ

00:57:05.800 --> 00:57:12.252
รวมราคาออกมา โดยที่ให้รวมเป็นตามเลขสำนักพิมพ์

00:57:14.244 --> 00:57:16.491
คำสั่งก็คือ สำนักพิมพ์นี้

00:57:16.978 --> 00:57:24.747
อธิบายเป็นง่าย ๆ นะคะ สำนักพิมพ์นี้มีหนังสือกี่เล่ม รวมแล้วมูลค่าเท่าไรนะคะ

00:57:25.411 --> 00:57:28.577
อย่างเช่นสำนักพิมพ์หมายเลข 4

00:57:29.507 --> 00:57:31.276
มีหนังสืออยู่ 3 เล่ม

00:57:32.737 --> 00:57:39.043
มันก็จะรวมให้ว่า มูลค่าหนังสือของสำนักพิมพ์นี้ เป็นราคาเท่านี้

00:57:39.530 --> 00:57:44.887
สำนักพิมพ์ที่ 5 มีหนังสือกี่เล่มก็รวมงาน อาจจะมีเล่มเดียวได้เท่านี้

00:57:44.887 --> 00:57:50.373
สำนักพิมพ์ที่ 12 มี 3 เล่ม รวมราคามาทั้งหมดได้เท่านี้

00:57:50.373 --> 00:57:55.515
อันนี้คือคำสั่ง GROUP BY ก็คือจัดกลุ่มออกมานั่นเองนะคะ

00:57:56.179 --> 00:58:04.157
หยุดการจัดกลุ่มข้อมูล เช่น นักศึกษา ปี 3 ชาย รวมแล้วมีกี่คน

00:58:04.157 --> 00:58:10.000
อาจจะรวมโดยทั้งคณะ หรือทั้งมหาวิทยาลัย แล้วแต่เรากำหนดเงื่อนไขนะคะ

00:58:12.701 --> 00:58:18.100
ถ้ามีกำเนิด เงื่อนไขนอกเหนือจากที่เรากำหนดไปแล้วเมื่อกี้ คือเราให้

00:58:18.498 --> 00:58:21.105
จัดกลุ่มเป็นรหัสสำนักพิมพ์

00:58:21.105 --> 00:58:26.241
แต่ถ้ามีสะท้อนเงื่อนไขเข้ามาอีก เราจะเพิ่มเป็นคำสั่ง HAVING ตัวนี้

00:58:26.772 --> 00:58:31.097
ถ้าเงื่อนไขเดียวมันไม่พอนะคะ จากเมื่อกี้นี้

00:58:31.717 --> 00:58:37.272
เราเพิ่มเข้าไปอีกว่า ให้เป็นรหัสสำนักพิมพ์ที่มีค่ามากกว่าเท่ากับ 5

00:58:37.272 --> 00:58:41.534
มันก็จะตัดสำนักพิมพ์ที่ 4 ออกไป เหลือแค่ 2 สำนักพิมพ์

00:58:42.198 --> 00:58:46.828
แล้วแต่เราจะเพิ่มเงื่อนไขอะไรอีกนะคะ เพราะว่าอย่างที่บอก

00:58:46.828 --> 00:58:52.197
มุมมองการดูข้อมูลของผู้ใช้งานแต่ละคนไม่เหมือนกัน แล้วแต่ว่า

00:58:52.197 --> 00:58:56.998
เขาจะอยากดูข้อมูลแบบไหน อยากได้รายงานแบบไหนนะคะ

00:58:56.998 --> 00:59:01.090
ระบบจัดการฐานข้อมูลก็สามารถจัดการได้ทั้งหมดนะคะ

00:59:02.728 --> 00:59:05.960
ต่อมาจะเป็นส่วนของคำสั่งในการปรับปรุงฐานข้อมู

00:59:05.960 --> 00:59:09.741
ก็คือเป็นการเพิ่ม แก้ไข การลบข้อมูลนะคะ

00:59:10.272 --> 00:59:15.311
การเพิ่มข้อมูลเราจะใช้คำสั่ง INSERT INTO แล้วก็ใส่ VALUE

00:59:15.311 --> 00:59:18.636
รูปแบบคำสั่งจะเป็นแบบนี้นะคะ

00:59:22.311 --> 00:59:28.276
เช่นตัวอย่าง ข้อมูลเดิม จะอยู่ด้านข้อมูลด้านซ้ายนะคะ

00:59:29.029 --> 00:59:34.857
คำสั่งที่เพิ่มเติมก็คือ อันนี้คือเงื่อนไขคือยังไม่ระบุคอลัมน์นะคะ ว่าให้ใส่คอลัมน์ไหน

00:59:35.123 --> 00:59:39.823
แต่ถ้าเราพิมพ์แบบนี้ แสดงว่า

00:59:39.823 --> 00:59:44.235
เรารู้แล้วว่า ข้อมูลที่เราจะใส่นี่ มันก็จะเรียงลำดับตามนี้นะคะ

00:59:44.235 --> 00:59:49.179
ถ้าคุณสลับตำแหน่ง มันก็จะไม่สนใจว่าคุณใส่คอลัมน์ผิด คอลัมน์ถูก ไม่รู้

00:59:49.356 --> 00:59:54.375
นะคะ คำสั่งก็คือ INSERT INTO ตัวนี้นะคะ

00:59:54.375 --> 01:00:03.440
ให้ใส่ข้อมูลลงไปในตาราง Books ซึ่งมีค่าดังนี้  1009  SQL 5 520

01:00:03.971 --> 01:00:06.056
ผลลัพธ์ที่ได้จะมาอยู่ล่างสุด

01:00:06.499 --> 01:00:14.210
ทำไมมันใส่คอลัมน์ถูกต้อง เพราะคำสั่ง ให้ใส่ข้อมูลนี่ มันเรียงมาถูกต้องอยู่แล้ว

01:00:14.741 --> 01:00:22.343
แต่ถ้าคุณสลับตำแหน่งผิด ใส่ 520 มาอยู่ตรงนี้แทนนี่

01:00:22.919 --> 01:00:27.265
มันก็จะกลายเป็น BookID 520 นะคะ แต่อันนี้ที่มันใส่ถูกเพราะว่า

01:00:27.265 --> 01:00:34.293
เราเรียงลำดับตามคอลัมน์ถูกต้องแค่นั้นเอง ต่อมา เพื่อความชัวร์

01:00:34.603 --> 01:00:42.164
เราอาจจะระบุชื่อคอลัมน์ไปด้วยก็ได้นะคะว่าข้อมูล 1010 นี่ให้อยู่ใน BookID นะ

01:00:42.651 --> 01:00:48.611
ชื่อหนังสือ VB รหัสสำนักพิมพ์คือ 5 ราคาคือ 250

01:00:48.611 --> 01:00:53.585
ข้อมูลจะมาต่อท้ายด้านล่างแบบนี้ อันนี้ก็เพื่อป้องกันว่า

01:00:53.585 --> 01:00:57.044
เราจะใส่ข้อมูลผิดคอลัมน์หรือเปล่านะคะ

01:00:57.044 --> 01:01:02.118
อันนี้คือการเพิ่มข้อมูลนะคะ ง่ายมากคำสั่งมีแค่นี้เอง INSERT INTO

01:01:02.694 --> 01:01:09.947
สำหรับการเพิ่มข้อมูล ต่อมาจะเป็นคำสั่งในการปรับปรุงข้อมูล

01:01:09.947 --> 01:01:15.865
หรือแก้ไขข้อมูลนะคะ จะใช้คำสั่ง UPDATE SET

01:01:16.750 --> 01:01:20.338
ถ้ามีเงื่อนไขก็สามารถใส่เงื่อนไขเพิ่มได้นะคะ

01:01:22.065 --> 01:01:27.626
รูปแบบคำสั่ง UPDATE ก็คือปรับปรุงข้อมูลในตาราง Books

01:01:27.803 --> 01:01:34.542
โดยมีค่าคือ ให้ราคาทั้งหมดบวกเพิ่มเข้าไปอีก 50 บาท

01:01:39.612 --> 01:01:45.656
พอพิมพ์ตัวนี้ปึ๊บ ราคาหนังสือจะเพิ่มขึ้นจาก เดิม 50 บาททุกเล่ม

01:01:45.833 --> 01:01:51.463
เหมือนตัวนี้ค่ะ จากเดิมตัวนี้ไม่มีราคาหนังสือ ก็จะมีแล้ว 50 บาท

01:01:54.562 --> 01:01:59.429
อันนี้คือง่ายมาก ถ้าสมมุติว่าข้อมูลเรามีแค่นี้นี่ เรานั่งพิมพ์ทีละอันก็ได้ค่ะ

01:01:59.429 --> 01:02:03.811
แต่ถ้าสมมุติว่าวันนี้เราเป็นร้านขายของที่มีของประมาณ 10,000 ชิ้น

01:02:03.811 --> 01:02:08.699
แล้วเขาบอกว่าเศรษฐกิจไม่ดีขอขึ้นราคา คุณจะมานั่งพิมพ์ใหม่ทุกอัน ๆ ๆ

01:02:09.407 --> 01:02:10.872
เมื่อไหร่จะเสร็จ

01:02:11.979 --> 01:02:16.164
เพิ่มขึ้นชิ้นละ 10 บาท มีของอยู่ 100,000 ชิ้น

01:02:16.872 --> 01:02:22.084
นั่งพิมพ์ไป 100,000 ครั้ง แต่ถ้าเรารู้จักคำสั่งในระบบจัดการฐานข้อมูล

01:02:22.084 --> 01:02:26.264
เราพิมพ์แค่ 2 บรรทัด ทุกอย่างเสร็จหมดเลยนะคะ

01:02:27.592 --> 01:02:33.708
นี่คือการปรับปรุงฐานข้อมูล อันนี้คือก็คือประโยชน์ 1 ของฐานข้อมูลนะคะ

01:02:34.550 --> 01:02:40.449
เพราะว่าถ้าเราไม่มีคำสั่งเหล่านี้นี้่บางทีเราต้องมานั่งพิมพ์ใหม่นี่ เหนื่อยมาก ๆ นะคะ

01:02:40.936 --> 01:02:47.651
อันนี้คือประโยชน์ ถ้าเรารู้คำสั่งนะคะ ถ้ามีเงื่อนไขเพิ่มเติม

01:02:50.051 --> 01:02:53.915
เงื่อนไขเพิ่มเติมนะคะ ให้ปรับปรุงตาราง Books

01:02:54.225 --> 01:02:58.394
โดยที่เงื่อนไขคือตอนนี้เศรษฐกิจมันดีแล้ว ของมันถูก

01:02:58.729 --> 01:03:02.589
ให้ลดราคาสินค้าลง 50 บาท

01:03:02.589 --> 01:03:06.783
เฉพาะรหัสสำนักพิมพ์ 12 เท่านั้น

01:03:08.642 --> 01:03:16.937
เฉพาะบางบริษัทก็ว่าไป อย่างเช่นวันนี้สินค้าราคาลงเฉพาะบริษัทนี้ เราก็สามารถเปลี่ยนแปลงราคาลงได้

01:03:16.937 --> 01:03:24.234
พิมพ์เพิ่มอีกบรรทัดหนึ่งนะคะ ถามว่าแล้วสินค้าในบริษัทอื่นจะเปลี่ยนไหม

01:03:24.234 --> 01:03:25.394
ไม่เปลี่ยนนะคะ

01:03:25.394 --> 01:03:30.860
เพราะเรากำหนดเงื่อนไขว่าเฉพาะสำนักพิมพ์ 12 เท่านั้นที่ลดราคาลง 50 บาท

01:03:32.853 --> 01:03:36.083
ตัวนี้นะคะ

01:03:37.810 --> 01:03:40.884
คำสั่งลบก็ง่าย ๆ ค่ะ DELETE FROM

01:03:42.830 --> 01:03:49.278
ก็ตามนี้เลยนะคะ ให้ลบข้อมูลจากตาราง Books โดยมีเงื่อนไขคือให้ลบ

01:03:49.278 --> 01:03:54.419
เฉพาะ BookID ที่มีค่า 1010 จากเดิมจะมีตัวนี้เราก็ลบออก

01:03:54.773 --> 01:04:03.754
ผลลัพธ์ที่ได้ก็จะเป็นแบบนี้ อันนี้ คือคำสั่งอย่างง่ายที่เราจะเรียนในสัปดาห์หน้านะคะ

01:04:03.754 --> 01:04:10.775
เดี๋ยวอาทิตย์หน้าอาจารย์จะเตรียมข้อมูลมา ให้นักศึกษาเพิ่มฐานข้อมูลเอง

01:04:10.775 --> 01:04:17.422
พิมพ์เองนะคะ ตั้งค่าคีย์หลักเอง กรอกข้อมูลเองทั้งหมด

01:04:17.422 --> 01:04:24.495
ลองเพิ่มลบข้อมูล ลองดึงข้อมูลเป็นรายงานออกมาด้วยตัวเองนะคะ

01:04:24.495 --> 01:04:29.069
สัปดาห์นี้จะให้ลองกลับไปทบทวนว่าคำสั่งที่จะใช้

01:04:29.069 --> 01:04:32.806
SELECT FROM, DELETE FROM, UPDATE, SET,

01:04:33.072 --> 01:04:38.193
INSERT INTO อะไรก็ว่าไป มันจะเป็นอย่างไรบ้างนะคะ

01:04:38.636 --> 01:04:45.123
อาทิตย์หน้า วอร์มนิ้วมือมาให้พร้อม เพราะเราต้องพิมพ์เอง เครื่องใครเครื่องมันนะคะ

01:04:45.654 --> 01:04:48.937
เครื่องใครเครื่องมัน ใครพิมพ์ภาษาอังกฤษไม่ค่อยคล่อง

01:04:48.937 --> 01:04:52.496
ก็จะได้คล่องนี่แหละอาทิตย์หน้านะคะ

01:04:52.496 --> 01:05:00.992
หัดพิมพ์บ่อย ๆ เพราะว่าการพิมพ์คำสั่ง SQL ง่ายที่สุดแล้วในการเขียนโปรแกรมนะคะ

01:05:01.302 --> 01:05:04.145
อาทิตย์นี้ก็จะประมาณนี้นะคะ

01:05:04.145 --> 01:05:10.509
เดี๋ยวเราอาทิตย์หน้าก็มาให้เร็วหน่อยเพราะว่าเราจะเป็นปฏิบัตินะคะ

01:05:11.350 --> 01:05:17.419
ก็ขอบคุณล่าม ขอบคุณถอดความนะคะ วันนี้ก็ประมาณนี้ค่ะ โอเคค่ะ

01:05:17.419 --> 01:05:19.172
ขอบคุณมากนะคะ

