﻿1
00:00:04,875 --> 00:00:08,875
(ล่าม) ได้ยินค่ะ (อาจารย์เกวลี) โอเคค่ะ

2
00:00:11,912 --> 00:00:14,610
ก็อาทิตย์นี้นะคะ จะเป็น

3
00:00:14,610 --> 00:00:18,417
การแนะนำตัวโปรแกรมที่เราจะใช้

4
00:00:18,417 --> 00:00:21,627
เขียน

5
00:00:21,627 --> 00:00:25,627
ระบบจัดการฐานข้อมูลนะคะ ก็จะเป็น

6
00:00:26,609 --> 00:00:30,609
โปรแกรมเอาอย่างง่ายก่อนแล้วกันนะคะ

7
00:00:32,057 --> 00:00:36,057
เพราะว่าไอ้ตัวภาษา SQL นี่ ก็จะมีโปแกรมใช้งานร่วมกับมัน

8
00:00:42,584 --> 00:00:46,584
หลายโปรแกรมมากนะคะ อาจจะเป็น My SQL

9
00:00:50,782 --> 00:00:54,782
ก็คือภาษา SQL ซึ่งโปรแกรมในเครื่องเรา ถ้าไม่ได้ติดตั้งเพิ่มเติมก็จะมีอยู่แล้วนะคะ ก็จะเป็นโปรแกรม

10
00:00:55,369 --> 00:00:58,481
Microsoft Access นะคะ มันจะมีความสามารถ

11
00:00:58,481 --> 00:01:02,481
ที่จะพิมพ์คำสั่งภาษา SQL ลงไปได้ด้วย

12
00:01:05,679 --> 00:01:09,679
แล้วก็ในส่วนของตัวโปรแกรมนี้นี้นี่ หน้าตาการทำงานมันจะคล้าย ๆ Excel

13
00:01:12,529 --> 00:01:16,529
ที่เราเคยใช้งานกันอยู่แล้วนะคะ เก็บข้อมูล

14
00:01:18,366 --> 00:01:21,542
ที่เป็นตารางเหมือนกัน เราก็จะได้ทำความเข้าใจกับมันง่ายขึ้น

15
00:01:21,542 --> 00:01:25,542
นะคะ ในรูปตัวโปรแกรมมันจะเป็นสีส้ม ๆ นะ

16
00:01:27,279 --> 00:01:29,562
มันจะเป็นโปรแกรมจัดการข้อมูลเชิงสัมพันธ์

17
00:01:29,562 --> 00:01:33,562
นะคะ อย่างที่เราเคยได้วาดรูปไปแล้ว แต่ละตารางมีความสัม

18
00:01:38,800 --> 00:01:42,768
พันธ์นะคะ โดยที่โปรแกรมนี้นี่ มันก็จะมีความสามารถทั้งในการจัดการฐานข้อมูล

19
00:01:42,768 --> 00:01:46,236
แล้วก็สร้างโปรแกรมได้ในตัวเดียวกัน ก็คือเป็นโปรแกรมที่ค่อนข้างครบ

20
00:01:46,236 --> 00:01:50,236
สำหรับการทำงานในบานข้อมูลเบื้องต้น

21
00:01:54,805 --> 00:01:55,112
เหมาะกับที่จะให้นักศึกษานี่เรียนรู้ และ

22
00:01:55,112 --> 00:01:57,476
พัฒนาโปรแกรมไว้ใช้งานนะคะ รวมถึงคนที่

23
00:01:57,476 --> 00:02:00,473
อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักนี่

24
00:02:00,473 --> 00:02:04,473
เขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกัน แล้วก็กา

25
00:02:10,810 --> 00:02:14,810
รใช้งานก็ค่อนข้างสะดวก แล้วก็ตัวโปรแกรมก็ใช้งานง่าย คำสั่งก็จะไม่ซับซ้อน

26
00:02:17,104 --> 00:02:19,470
วุ่นวายมากนะคะ หน้าตาตอนสร้าง

27
00:02:19,470 --> 00:02:23,470
ฐานข้อมูลก็จะประมาณนี้ เดี๋ยวเราค่อยไปดูใน

28
00:02:26,814 --> 00:02:30,814
โปรแกรมมันจะมีส่วนของการทำงานหลัก ๆ อยู่ด้านบนนะคะ เราจะเรียกว่าเป็น Ribbon ข้างบนนะคะ

29
00:02:30,912 --> 00:02:32,035
ในรูปนี่มันก็จะเป็นเกี่ยวกับการกำหนดโครงสร้างของ

30
00:02:32,035 --> 00:02:36,035
ตารางนะคะ แล้วก็การกำ

31
00:02:42,820 --> 00:02:46,794
หนดหน้าจอสำหรับบันทึกหน้าจอ หรือการแสดงข้อมูล สามารถ

32
00:02:46,794 --> 00:02:50,794
การสร้างรายงานนะคะ เช่น สมมติมีรายชื่ออยู่ 10,000 รายชื่อ เราอยากให้ออกมาเป็นรายงาน

33
00:02:50,996 --> 00:02:54,996
เฉพาะชื่อที่เป็นผู้หญิง เราก็สามารถสร้างรายงาน

34
00:02:58,824 --> 00:03:01,648
เหมือนกัน รวมถึงการสืบค้นการเรียกดูข้อมูลตามเงื่อนไข เราก็ทำได้ ในส่วนของการสืบค้น

35
00:03:01,648 --> 00:03:05,648
เรียกดูข้อมูลนี่เราจะใช้คำสั่ง SQL เราจะพิมพ์ด้วยตัวเอง

36
00:03:06,572 --> 00:03:10,572
นะคะ เราจะไม่ใช้โปรแกรมสำเร็จรูปทุกอย่างนะคะ เราจะได้รู

37
00:03:14,833 --> 00:03:18,833
้ว่าเวลาเราใช้ภาษา SQL มันทำงานอย่างไรนะคะ โดยตารางที่อยู่ในโปรแกรม Access นะคะ

38
00:03:19,731 --> 00:03:23,731
รูปแบบของตารางนี่ ซึ่งมันเป็นมาตรฐานของการจับเก็บ

39
00:03:29,666 --> 00:03:30,682
ข้อมูลในรูปแบบฐานข้อมูลอยู่แล้วนะคะ

40
00:03:30,682 --> 00:03:34,682
ถ้าเราต้องการจะบันทึกหรือเก็บข้อมูลนี่ เราต้อง

41
00:03:37,086 --> 00:03:41,086
สร้างตารางขึ้นมาก่อนถึงจะใช้งานได้ เหมือนอาทิตย์ก่อน ๆ ที่อาจารย์ให้นักศึกษาเปิด

42
00:03:46,840 --> 00:03:50,386
พิมพ์อะไรลงไปยังไม่ได้เลย เพราะว่าเรายังไม่มีตารางนะคะ มันจะดูเหมือนกดอะไรไม่ได้

43
00:03:50,386 --> 00:03:54,386
เพราะเรายังไม่ได้เริ่มสร้างตารางเลย การสร้างตารางในที่นี้

44
00:03:58,376 --> 00:04:02,171
มันคือการตั้งชื่อกำหนดโครงสร้างในตารางด้วย

45
00:04:02,171 --> 00:04:03,888
นั้นก็คือเราจะมีถ้าใน Excel มันจะ

46
00:04:03,888 --> 00:04:07,888
มีมันจะเป็นคอลัมน์ คอลัมน์ใช่ไหมคะ ใน Access

47
00:04:10,844 --> 00:04:14,844
เราก็จะกำหนดว่าหัวคอลัมน์แต่ละคอลัมน์นี่ ก็คือ Feild นี่ล่ะ มันมีชื่ออะไรบ้า

48
00:04:18,844 --> 00:04:20,465
ง ก็คุณสมบัติของข้อมูลที่จะบรรจุลงไป

49
00:04:20,465 --> 00:04:24,465
ในนั้นนี่มีอะไรนะคะ เช่น เป็นตัวหนังสือเท่านั้น หรือเป็นตัวเลขผสมกับตัวหนังสือ

50
00:04:25,840 --> 00:04:29,840
หรือรับเฉพาะค่าตัวเลข ค่าตัวเลข

51
00:04:34,847 --> 00:04:38,847
10 ตัวอะไรก็ว่าไป รวมถึงต้องกำหนดคีย์หลักนะคะ การกำหนดคีย์หลักใน Access

52
00:04:41,999 --> 00:04:45,999
ก็ง่าย กดปุ่มเดียวก็เสร็จเลยนะคะ แล้วก็ต้องกำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป

53
00:04:50,855 --> 00:04:52,572
เชื่อมต่อกันอย่างไรนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลนี้ เรามา

54
00:04:52,572 --> 00:04:56,572
ทบทวนกันอีกรอบนะคะ ที่โชว์อยู่ในหน้าจอตอนนี้

55
00:04:58,246 --> 00:05:02,246
เราเรียกว่าตารางนะ มีแถว มีคอลัมน์

56
00:05:04,419 --> 00:05:06,649
นะคะ แนวตั้งเราจะเรียกว่าคอลัมน์

57
00:05:06,649 --> 00:05:10,649
ถ้าศัพท์ในระบบการจัดการฐานข้อมูล ก็คือ Field

58
00:05:13,174 --> 00:05:15,940
ในตารางนี้จะมีอยู่ 4 Field

59
00:05:15,940 --> 00:05:19,940
นะคะ มี Records ก็คือ 3 แถวข้อมูล

60
00:05:22,860 --> 00:05:24,045
อันนี้เป็นตัวอย่างข้อมูลผู้ป่วยนะคะ ไอ้ตัว HN นี่ มันย่อมากจากรหัส

61
00:05:24,045 --> 00:05:28,045
ผู้ป่วยนะคะ Hospital Number แล้วก็มีชื่อ มีที่อยู่

62
00:05:30,628 --> 00:05:34,628
มีนามสกุล มีที่อยู่ อันนี้เป็นการเก็บข้อมูล

63
00:05:38,864 --> 00:05:42,864
นะคะ ตัวอย่างอย่างง่าย ส่วนในตัวโปรแกรมเราจะสร้างตารางนะคะ โดยที่เราจะมากำหนดคุณสมบัติของ

64
00:05:43,004 --> 00:05:47,004
คอลัมน์แบบเมื่อกี้นี้ มาส่วนการดีไซ

65
00:05:54,870 --> 00:05:55,545
ส่วนของการ Design ก็คือการออกแบบ มันก็จะถามว่า

66
00:05:55,545 --> 00:05:59,545
อย่างในส่วนตรงนี้ อันนี้มันเป็นเมนูภาษาอังกฤษนะคะ

67
00:06:00,254 --> 00:06:04,254
ว่าชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร บางทีตัว

68
00:06:05,671 --> 00:06:08,489
ID นี่ ถ้าเราไม่ได้กำหนดค่า

69
00:06:08,489 --> 00:06:12,489
มันจะเป็น Auto มันจะเพิ่มไปเรื่อย ๆ ตามจำนวน

70
00:06:13,351 --> 00:06:15,606
ที่เราเพิ่มเข้ามา แต่เราสามารถระบุเองก็ได้ค่ะ

71
00:06:15,606 --> 00:06:19,606
บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อย ๆ นี่ บางที

72
00:06:26,881 --> 00:06:30,881
ก็มันอาจจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ มันอาจจะต้องมีตัวหนังสือที่มันมีมา

73
00:06:32,560 --> 00:06:33,005
ผสมกับตัวเลข อย่างรหัสนักศึกษาเรานี่ เข้ามาใหม่ เราจะ Run

74
00:06:33,005 --> 00:06:37,005
1 2 3 4 5 ไปเลยไม่ได้นะคะ มันจะต้องกำหนดเฉพาะ

75
00:06:41,345 --> 00:06:41,523
เช่น ขึ้นต้นด้วยปีการศึกษา ตามด้วยรหัสคณะ

76
00:06:41,523 --> 00:06:43,639
ตามมาด้วยรหัสหลักสูตร แล้วก็ค่อยมาถึง

77
00:06:43,639 --> 00:06:46,772
เลขที่ของเราว่าเราเลขที่อะไรนะคะ ตัวอย่าง

78
00:06:46,772 --> 00:06:50,772
ถ้าเป็นการทำงานในการจัดการตารางจริง ๆ นี่

79
00:06:58,634 --> 00:06:59,006
มันจะไม่ดีมีข้อมูลนิดเดียวอย่างที่เราเคยเห็น อย่างด้านซ้ายนะคะ ก็จะเป็

80
00:06:59,006 --> 00:07:02,797
นตัวอย่างของตารางทั้งหมดที่มันเอามาเชื่อมโยง

81
00:07:02,797 --> 00:07:06,797
กัน มีไม่ต่ำกว่า 20 ตาราง นะคะ ถ้ามัน

82
00:07:11,127 --> 00:07:14,388
เป็นระบบงานใหญ่ ๆ รวมถึงเป็นการกำหนดด้วยว่า

83
00:07:14,388 --> 00:07:18,388
ข้อมูลแต่ละชนิดที่เข้ามานี่ ข้อมูลแต่ละชนิด อย่างเช่น ID

84
00:07:19,670 --> 00:07:19,839
เขากำหนดให้เป็นตัวเลข ให้มันเพิ่มขึ้นไปเรื่อย ๆ อัตโนมัติ

85
00:07:19,839 --> 00:07:23,839
ส่วนเลขประจำตัวผู้ป่วย

86
00:07:25,102 --> 00:07:29,102
เขาจะให้กรอกนะคะ และก็จะมีคำอธิบายด้วยว่า

87
00:07:29,138 --> 00:07:31,854
ไอ้คำ คำย่อ หรือหัวตารางนี่

88
00:07:31,854 --> 00:07:34,959
ถ้าเป็นภาษาไทยน่ะคืออะไรนะคะ

89
00:07:34,959 --> 00:07:38,959
อย่าง OHN ก็คือเลขบัตรเดิม

90
00:07:45,255 --> 00:07:45,908
ต้องพิมพ์อย่างไร หรือไม่จำเป็นต้องพิมพ์ไหม ไม่

91
00:07:45,908 --> 00:07:49,908
จำเป็นต้องพิมพ์นามสกุล เราจะกำหนดตรงนี้ด้วยในคำอธิบาย

92
00:07:50,905 --> 00:07:54,905
นะคะ ถ้าในส่วนของฐานข้อมูล เราจะเรียกว่า "พจนาณุกรมข้อมูล

93
00:08:01,367 --> 00:08:05,367
" หรือ Data ก็คือสิ่งที่เราต้องบอก คุณอาจจะเป็นโปรแกรมเมอร์คนใหม่มาทำงาน

94
00:08:06,129 --> 00:08:10,129
เห็นคำย่อ PT Marry

95
00:08:10,405 --> 00:08:14,405
คืออะไร สมมติเรามาทำงานต่อจากเขา

96
00:08:14,704 --> 00:08:18,149
แล้วเขาไม่เขียนอธิบายไว้ว่า ไอ้คำศัพท์คำนี้

97
00:08:18,149 --> 00:08:18,488
มันคือข้อมูลอะไรที่ต้องกรอกนะคะ

98
00:08:18,488 --> 00:08:22,488
นั่นคือสถานภาพสมรส สมมติเขาไม่ได้บอกเราไว้

99
00:08:24,583 --> 00:08:28,583
เราก็ต้องมากว่าจะทำความเข้าใจได้ว่า สรุป

100
00:08:32,063 --> 00:08:36,063
ข้อมูลนี้เขาต้องการข้อมูลอะไรไว้กันแน่ เพราะฉะนั้น เราต้อง

101
00:08:38,926 --> 00:08:42,926
การเขียนคำอธิบายก็ค่อนข้างจำเป็นเหมือนกัน สำหรับการจัดการฐานข้อม

102
00:08:42,927 --> 00:08:46,927
ูลนะคะ อ๋อ ส่วนด้านล่าง จะเป็นการบอกขนาดของข้อมูล

103
00:08:47,824 --> 00:08:51,824
นะคะ เช่น จำนวนเงินเดือนจำนวนเงินเดือน เงินเดือนน่าจะไม่มีแค่ 2 หลัก

104
00:08:54,074 --> 00:08:58,074
บางคนเงินเดือนเยอะ บางคนเงินเดือนน้อย  เราก็สามารถ

105
00:08:59,168 --> 00:09:03,168
กำหนดได้ว่าตัวเลขที่สามารถกรอกไปได้นี่ มากขนาดไหน

106
00:09:05,112 --> 00:09:07,669
เงินเดือนอาจจะยังไม่เห็นภาพ ถ้ามันเกี่ยวกับ

107
00:09:07,669 --> 00:09:11,669
งบประมาณประเทศ ที่ต้องกรอกตัวเลขเยอะ ๆ นะคะ เลข 6-7 หลัก มันไม่พอแน่นอน

108
00:09:15,007 --> 00:09:19,007
นะคะ เราก็ต้องมากำหนดด้วยว่า ข้อมูลที่ใส่ได้

109
00:09:22,943 --> 00:09:26,943
ควรจะเป็นข้อมูลขนาดไหน หรือบัตรประชาชนเรามากำหนดเลย ว่าให้กรอกได้แค่ 13 หลัก

110
00:09:30,395 --> 00:09:31,232
เราก็จะมากำหนดตรง Properties ข้างล่างตรงนี้

111
00:09:31,232 --> 00:09:32,478
การสร้างตาราง

112
00:09:32,478 --> 00:09:33,179
โดยใช้มุมมองการออกแบบนะคะ

113
00:09:33,179 --> 00:09:37,179
มันก็จะมีการกำหนดมาว่าชื่อของ Field ชื่อแต่ละคอลัมน์

114
00:09:42,893 --> 00:09:44,216
ควรตั้งชื่ออะไร ควรจะตั้งให้มีความหมาย

115
00:09:44,216 --> 00:09:48,216
แล้วก็ไม่ยาวจนเกินไป แล้วก็ห้ามใช้สัญลักษณ์

116
00:09:54,954 --> 00:09:58,954
พิเศษ พวกเครื่องหมายคำถาม  เครื่องหมาย # อะไรพวกนี้นะคะ หรือ ... อันเดอร์สกอร์ ขีดเส้นใต้

117
00:10:03,414 --> 00:10:07,047
รวมถึงประเภทของข้อมูล

118
00:10:07,047 --> 00:10:08,980
นะคะ ก็คือชนิดของข้อมูล

119
00:10:08,980 --> 00:10:12,980
ที่จะเก็บในคอลัมน์ หรือ Field นั้น ๆ เช่น รหัสสินค้า

120
00:10:17,765 --> 00:10:21,765
มันควรจะเป็นได้ทั้งตัวเลขและตัวอักษรผสมกัน ส่วนราคานะคะ ควรจะเป็นตัวเลขอย่างเดียว

121
00:10:25,711 --> 00:10:29,711
เราไม่พิมพ์ เราจะไม่พิมพ์ 500 แล้วก็ใส่ ก ไก่ อีก 2 ตัว แล้วก็เป็นเลข 0 ไม่ใช่

122
00:10:33,917 --> 00:10:37,917
เพราะฉะนั้น 500 คือตัวเลขอย่างเดียว กับถ้าสมติข้อมูลนั้น ๆ จะต้องนำไปคำนวณ

123
00:10:39,070 --> 00:10:39,876
นะคะ ควรจะเป็นข้อมูลชนิดอะไร เช่น

124
00:10:39,876 --> 00:10:43,876
อายุนะคะ คือ เอาวัน เดือน ปีเกิด ไปคำนวณ

125
00:10:50,615 --> 00:10:54,615
มันจะต้องเป็นตัวเลข หรือวันที่หรืออะไรนะคะ เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วย

126
00:10:55,664 --> 00:10:59,664
วันแรกจนถึงปัจจุบันเขาทำงานมาแล้วกี่ปี่ ก็จะใช้วันที่ในการคำนวณ

127
00:11:05,470 --> 00:11:08,787
เราก็ต้องพิจารณาตรงนี้ด้วย ถ้าสมมติคุณได้ไปทำฐานข้อมูลด้วยตัวเอง

128
00:11:08,787 --> 00:11:12,787
ข้อมูลที่เป็นข้อความ

129
00:11:13,772 --> 00:11:17,772
หรือว่า Text นะคะ ก็จะเป็นข้อมูลที่เป็นตัวอักษร ตัวเลข ทำไมถึงบอกว่าเป็น Text ถ้าตัวเลขที่ไม่ได้ใช้

130
00:11:19,318 --> 00:11:19,615
ในการคำนวณ เช่น รหัสนักศึกษาพวกคุณ เราจะไม่

131
00:11:19,615 --> 00:11:23,615
เอามาบวกกัน มันไม่มีผลในการคำนวณนะคะ มัน

132
00:11:29,240 --> 00:11:30,462
เป็นตัวเลขบอกรหัสเฉย ๆ สัญลักษณ์ เครื่องหมาย

133
00:11:30,462 --> 00:11:34,462
ก็บางคนอาจจะบางคนจะเป็นที่ต้องใส่สัญลักษณ์

134
00:11:36,728 --> 00:11:37,367
อย่างคำนำหน้าชื่อ บางคนก็จะพิมพ์นางสาว

135
00:11:37,367 --> 00:11:41,367
บางคนพิมพ์ น.ส. มันก็จ

136
00:11:44,766 --> 00:11:46,934
ะมีเครื่องหมาย มีตัวอักขระที่ผสมกัน รวมถึงตัวเลข ก็ตัวเลขนี่

137
00:11:46,934 --> 00:11:50,934
ก็จะมีหลายประเภทเหมือนกัน ก็จะเป็นข้อมูลที่เป็นตัวเลขอาจจะเป็นจำนวน

138
00:11:54,667 --> 00:11:58,667
เงิน การเก็บเงิน ก็มีให้เลือกหลายรูปแบบ

139
00:12:01,670 --> 00:12:02,653
นะคะ ถ้าเราเลือกข้อมูลเป็น Byte

140
00:12:02,653 --> 00:12:06,653
ข้อมูลที่เราเก็บได้จะมีแค่ 0-255 เท่านั้น

141
00:12:08,498 --> 00:12:10,203
แล้วก็เป็นจำนวนเต็ม ใส่เป็นทศนิยมไม่ได้

142
00:12:10,203 --> 00:12:14,203
นะคะ ข้อมูลที่เป็น Intege

143
00:12:18,993 --> 00:12:22,993
r ไปจนถึง 30,000 กว่า

144
00:12:22,993 --> 00:12:23,559
เป็นจำนวนเต็มบวกนะคะ เป็นเต็มบวกกับเต็มลบ

145
00:12:23,559 --> 00:12:23,999
ไม่มีจุดทศนิยม

146
00:12:23,999 --> 00:12:27,999
ถ้าเป็นรอง Integer

147
00:12:34,999 --> 00:12:38,698
มันจะกลายเป็นประมาณ 2 พันล้าน อันนี้เหมาะกันการใส่งบประมาณที่เยอะมาก ๆ

148
00:12:38,698 --> 00:12:39,087
หรือข้อมูลเงินใด ๆ ก็ตาม

149
00:12:39,087 --> 00:12:43,087
ที่เป็นตัวเลขที่มากกว่าค่า Integer ธรรมดา

150
00:12:49,782 --> 00:12:50,654
ขึ้นไปนะคะ Single จะเป็นตัวเลขที่มีจุดทศนิยมนะคะ

151
00:12:50,654 --> 00:12:54,654
อาจจะมีค่าไปจนถึงติดลบนะคะ เป็นทั้งทศนิยม

152
00:12:56,896 --> 00:13:00,896
ที่เป็นเต็มลบกับเต็มบวกนะคะ

153
00:13:01,717 --> 00:13:03,709
ต่อมา Double

154
00:13:03,709 --> 00:13:07,709
จะใช้กับตัวเลขที่เป็นจุดทศนิยม บางทีเราไปซื้อของ

155
00:13:13,332 --> 00:13:14,137
เราจะเห็นว่าเขาคำนวณเป็นจุดทศนิยมให้เราด้วย แสดงว่า

156
00:13:14,137 --> 00:13:18,137
การเขียนโปรแกรมในการเก็บข้อมูลของเขา เขาแสด

157
00:13:23,015 --> 00:13:25,466
งถึงทศนิยม 1 ตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่ง ก็ว่ากันไป แต่ส่วนมากถ้าเป็นค่าเงิน เราจะใช้แค่

158
00:13:25,466 --> 00:13:28,985
2 ตำแหน่งนะคะ ต่อมา วันที่

159
00:13:28,985 --> 00:13:32,985
เวลา ก็จะเป็นการระบุข้อมูลที่เป็นแบบวันที่

160
00:13:35,654 --> 00:13:39,654
เป็น ค.ศ หรือ พ.ศ ก็แล้วแต่เราจะระบุก็ได้

161
00:13:40,845 --> 00:13:41,538
นะคะ โดยที่มันอาจจะเป็น

162
00:13:41,538 --> 00:13:44,289
ระบบเต็ม ก็คือจะมีทั้งวันที่และก็เวลา แต่ส่วนมากเราจะใช้

163
00:13:44,289 --> 00:13:48,289
แบบ วัน เดือน ปี แค่นั้นนะคะ

164
00:13:50,453 --> 00:13:53,804
กับ Yes/No Question

165
00:13:53,804 --> 00:13:55,875
นะคะ ใช่หรือไม่ มันจะเป็นคำตอบสำหรับข้อมูล

166
00:13:55,875 --> 00:13:59,875
ที่เป็นตรรกะที่มีอยู่ 2 ค่า ก็คือจริงกับเท็จ

167
00:14:02,162 --> 00:14:06,162
เช่น ตอนนี้คุณเป็นนักศึกษา เขาจะถามว่าเป็น

168
00:14:10,799 --> 00:14:14,280
จริงหรือเท็จ ถ้ายังเป็นนักศึกษาอยู่ก็ตอบว่า Yes

169
00:14:14,280 --> 00:14:15,097
ถ้าเรียนจบแล้วก็อาจจะบอกว่า No นะคะ กับ OLE Object นะคะ ก็จะเป็นข้อมูล

170
00:14:15,097 --> 00:14:19,097
ที่เอาไว้ในการแนบรูปภาพนะคะ ฐานข้อมูลบางอย่าง

171
00:14:27,035 --> 00:14:28,234
เขาให้เราแนบรูปภาพด้วย เช่น บางทีเราสมัครสมาชิก

172
00:14:28,234 --> 00:14:29,539
อาจจะเป็นสมาชิก หรือสมัครเรียนหนังสือ

173
00:14:29,539 --> 00:14:31,890
หรือสมัครสอบ เขาก็จะให้เราแนบรูปภาพ แนบ

174
00:14:31,890 --> 00:14:35,890
ใบเสร็จ ถ้าเป็นระบบขายของก็แนบใบเสร็จโอนเงิน

175
00:14:43,038 --> 00:14:47,038
ก็แนบเป็นรูปภาพมาด้วยนะคะ ส่วนที่ 3 จะเป็นส่วนของการกำหนดค่า เหมือนที่อาจารย์เอาให้ดู

176
00:14:48,772 --> 00:14:49,427
เมื่อกี้นี้ในภาพนะคะ ก็จะเป็นการบอกขนาดของข้อมูล

177
00:14:49,427 --> 00:14:53,427
ที่จะเก็บ เรากำหนดเข้ามูลได้เลยนะคะ

178
00:14:59,042 --> 00:15:01,515
แล้วก็รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร การป้อนข้อมูลจะเป็นลักษณะไหน เราสามารถกำหนดได้นะคะ

179
00:15:01,515 --> 00:15:05,515
กำหนดคำอธิบายข้อมูล เช่น ก่อนที่เราจะกรอกข้อมูลลงไป

180
00:15:05,715 --> 00:15:09,715
นี่ ในระบบบางอัน ถ้าเราเอาเมาส์ไปชี้ เขาจะ

181
00:15:14,052 --> 00:15:18,052
มีคำอธิบายว่าในช่องนี้ จะให้กรอกข้อมูลเป็นแบบไหน

182
00:15:18,185 --> 00:15:22,185
ถ้าเราบอกว่าให้กรอกรหัสบัตรประชาชน พอเอาเมาส์ไปชี้ปุ๊บ เขาก็จะบอกว่าให้กรอกเลขจำนวน

183
00:15:22,436 --> 00:15:26,436
13 หลักเป็นต้นนะคะ

184
00:15:27,861 --> 00:15:31,861
กับอาจจะมีการกำหนดค่าเริ่มต้น เช่น เขาถามวันเกิด ส่วนมากวันเกิด

185
00:15:32,765 --> 00:15:36,765
ค่าเริ่มต้นจะเป็นวันที่ 1 มกราคม ปี 2000 อะไรก็ว่าไป

186
00:15:37,068 --> 00:15:41,068
นะคะ ก็จะเป็นค่าเริ่มต้น ถ้าคุณไม่ได้เกิดวันนั้น ก็เปลี่ยน

187
00:15:47,059 --> 00:15:47,460
ค่าหรืออาจจะเป็นเงินบริจาคนะคะ ค่าเริ่มต้นอาจจะเป็น 10 บาท

188
00:15:47,460 --> 00:15:51,460
คุณอาจจะไปเปลี่ยนค่าก็ได้นะคะ กับ

189
00:15:52,394 --> 00:15:56,394
การกำหนดเงื่อนไขของค่า เช่น

190
00:15:58,290 --> 00:16:00,464
เงินเดือน จะต้องเป็นบวกเสมอ

191
00:16:00,464 --> 00:16:04,464
จะบอกว่าเขาถามเงินเดือนเท่าไร คุณจะบอกว่า -5000

192
00:16:07,193 --> 00:16:11,193
คือ ยังไม่ได้ทำงานแล้วเป็นหนี้ไปเรื่อย ๆ ก็ไม่ใช่ ค่าบางค่า

193
00:16:14,152 --> 00:16:18,152
นะคะ จะต้องเป็นบวกเสมอ

194
00:16:18,275 --> 00:16:22,275
อายุ จะต้องเป็นจำนวนเต็มบวกเต็มลบไม่ได้นะคะ กับการกำหนดข้อความ

195
00:16:23,229 --> 00:16:23,886
ที่แสดงหากใส่ข้อมูลไม่ตรงตามเงื่อนไข เช่น

196
00:16:23,886 --> 00:16:27,886
ใส่อายุเป็น -20 มันก็จะมี

197
00:16:29,058 --> 00:16:33,058
คำสั่งแจ้งเตือนขึ้นมาว่าให้ใส่ค่าข้อมูล

198
00:16:37,336 --> 00:16:38,083
ที่เป็นค่าบวกเท่านั้นนะคะ ก็จะเป็นแบบนี้ เราสามารถกำหนดได้ รวมถึงข้อมูล

199
00:16:38,083 --> 00:16:42,083
ที่จำเป็นต้องตอบ จะเว้นว่างไม่ได้

200
00:16:47,491 --> 00:16:51,491
เช่น เลขบัตรประชาชน คุณจะบอกว่าคุณไม่มีเลขบัตรประชาชนเป็นไปไม่ได้

201
00:16:52,449 --> 00:16:56,449
นะคะ เพราะฉะนั้น ต้องกรอกทุกครั้ง หรืออาจจะเป็นแบบฟอร์มให้สมัครใด ๆ ก็ตาม ไอ้

202
00:16:57,996 --> 00:17:01,996
เลขบัตรประชนนี่ จะเป็นข้อมูลที่ต้องกรอกเสมอ

203
00:17:06,140 --> 00:17:06,774
จะปล่อยว่างไม่ได้ การกำหนดการกำหนดค่าคีย์หลักนะคะ

204
00:17:06,774 --> 00:17:10,774
ก็ทำได้ง่ายมาก ถ้าในโปรแกรม ก็คือคุณจะเลือก

205
00:17:11,444 --> 00:17:15,444
ค่าไหนให้เป็นคีย์หลัก คลิกที่คอลัมน์นั้น ๆ

206
00:17:23,096 --> 00:17:27,096
หรือ Field นั้น ๆ หรือการกดรูปตัวกุญแจจะหมายถึงคีย์หลัก หรือว่า Primary key นั่นล่ะ

207
00:17:28,079 --> 00:17:28,651
นะคะ แค่เลือกแล้วก็กด มันก็จะ

208
00:17:28,651 --> 00:17:32,651
เป็นการแจ้งในระบบเลยว่า ไอ้ค่านี้

209
00:17:34,466 --> 00:17:35,984
คือค่าคีย์หลัก

210
00:17:35,984 --> 00:17:39,720
ของตารางนี้นะคะ กับ

211
00:17:39,720 --> 00:17:43,720
ความสัมพันธ์ มันจะเป็นการสร้างความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป

212
00:17:46,613 --> 00:17:50,613
โดยที่เราจะมีการพิจารณาคีย์นอกของแต่ละตาร

213
00:17:55,105 --> 00:17:57,802
ตาราง ที่มันจะอ้างถึงคีย์หลักของอีกตารางหนึ่งนะคะ ก็อันนี้ก็เดี๋ยวจะลองทำใน

214
00:17:57,802 --> 00:18:01,802
ตัวโปรแกรมว่ามันจะอ้างอิงกันอย่างไรนะคะ ในตัวโปรแกรม

215
00:18:02,245 --> 00:18:06,245
มันก็จะง่ายมากค่ะ มันก็จะมีตัวให้เรากดได้เลย ตาม

216
00:18:10,309 --> 00:18:14,309
ลูกศรสีแดงชี้นะคะ เป็นโปรแกรมค่อนข้างสำเร็จรูปเลยนะคะ ว่าเราจะสร้างคีย์หลักอย่างไร อันไหนจะเป็นความสัมพันธ์

217
00:18:18,085 --> 00:18:22,085
นะคะ ก่อนที่เราจะทำสิ่งเหล่านี้ได้ เราต้องรู้แล้วว่า

218
00:18:25,467 --> 00:18:26,523
ตารางที่เราสร้างนี่ มันสัมพันธ์กันอย่างไร เราเคยวาด

219
00:18:26,523 --> 00:18:30,523
ER diagram มาแล้ว เหมือนตัวอย่างที่อาจารย์ให้ทำ คือ

220
00:18:33,574 --> 00:18:37,574
ร้านหนังสือ ว่าผู้แต่งหนังสือกับหนังสือเขาควรจะมีความสัมพันธ์กันอย่างไรนะคะ

221
00:18:39,242 --> 00:18:43,131
อย่างเช่นตัวอย่าง ถ้าเราสร้างความสัมพันธ์ได้แล้ว

222
00:18:43,131 --> 00:18:45,386
มันจะเป็นแบบนี้ค่ะ มันจะมีการโยงเส้นของ 2 ตาราง

223
00:18:45,386 --> 00:18:47,394
ให้ดูเลยว่าตาราง

224
00:18:47,394 --> 00:18:51,394
นี้ กับตารางนี้เขามีความสัมพันธ์กัน

225
00:18:54,401 --> 00:18:58,401
อย่างตารางนี้ค่ะ 2 ตารางนี้ มีความสัมพันธ์แบบ 1

226
00:18:58,561 --> 00:19:02,561
กับมากกกว่า 1 อย่างที่อาจารย์เคยบอกว่า

227
00:19:04,965 --> 00:19:08,965
ในแต่ละโปรแกรมหรือแต่ละหนังสือ

228
00:19:14,219 --> 00:19:18,219
สัญลักษณ์เครื่องหมาย เขาอาจจะไม่ได้ใช้ตัว M อย่างที่อาจารย์สอน

229
00:19:18,306 --> 00:19:21,011
แต่มันเป็นความหมายเดียวกัน คือ ONE To Many คือ 1 มีความสัมพันธ์

230
00:19:21,011 --> 00:19:25,011
มากกว่า 1 กับอะไรนะคะ เพราะฉะนั้นเรา...

231
00:19:27,826 --> 00:19:29,122
เราอ่านหนังสือบางเล่มก็อาจจะเขียนอย่างนี้

232
00:19:29,122 --> 00:19:32,701
นะคะ ให้เราเข้าใจว่ามันมีความหมายเดียวกัน

233
00:19:32,701 --> 00:19:36,701
มันต่างกันที่สัญลักษณ์เฉย ๆ ถ้าเป็นความสัมพันธ์แบบ 1 ต่อ 1

234
00:19:38,542 --> 00:19:42,542
นะคะ 1 ต่อ 1 บางรูปแบบเขาจะไม่เขียน

235
00:19:46,931 --> 00:19:47,914
กำหนดไว้เลย เพราะให้รู้ว่าเป็นความสัมพันธ์

236
00:19:47,914 --> 00:19:51,619
แบบไหนนะคะ ONE To ONE  ONE To Many นะคะ ข้อพิจารณา

237
00:19:51,619 --> 00:19:55,619
ในการสร้างฐานข้อมูล เราต้องรู้

238
00:20:02,273 --> 00:20:03,773
ว่าเราจะสร้างฐานข้อมูล เพื่อมาทำงานเกี่ยวกับระบบอะไรนะคะ เหมือนในตัวอย่าง

239
00:20:03,773 --> 00:20:07,773
ก็คือร้านเช่าหนังสือ หรือร้านขายหนังสือ ในร้านขายหนังสือ

240
00:20:10,361 --> 00:20:14,361
ต้องมีตารางอะไรบ้าง นะคะ มันอาจจะไม่มีแค่ 3

241
00:20:19,145 --> 00:20:20,393
ตัวอย่าง 3 ตารางที่อาจารย์ยกตัวอย่าง มันมากกว่านั้น

242
00:20:20,393 --> 00:20:24,393
คุณจะเช่า หรือคุณจะขาย หรือคุณจะมีระบบสมาชิกไหม

243
00:20:25,476 --> 00:20:29,476
นะคะ รวมถึงรายละเอียดในตาราง ข้อมูลจะต้องเก็บอะไรบ้าง เครื่องไหน

244
00:20:33,442 --> 00:20:34,411
ไฟตกหรือ ต่อไป

245
00:20:34,411 --> 00:20:38,411
ก็ต้องดูว่าในตารางอะไรคือคีย์หลัก

246
00:20:39,518 --> 00:20:43,518
ก็คือค่าที่ห้ามซ้ำกันนั่นเอง อันนี้เราจำได้นะ

247
00:20:48,107 --> 00:20:52,107
ความสัมพันธ์ของตารางข้อมูลเป็นความสัมพันธ์แบบไหน

248
00:20:52,827 --> 00:20:55,805
มีค่าที่ต้องมาประมวลผล หรือมีการคำนวณไหมนะคะ เช่น

249
00:20:55,805 --> 00:20:59,805
อายุสมาชิก หรือวันเข้าทำงาน

250
00:21:04,569 --> 00:21:08,569
ทำงานมาแล้วกี่ปี เพื่อพิจารณาเงินเดือน อะไรก็ว่าไป

251
00:21:09,171 --> 00:21:10,592
นะคะ การจัดการแสดงผลออกทางหน้าจอเป็นอย่างไร

252
00:21:10,592 --> 00:21:13,285
สามารถพรินต์ออกมาเป็นรายงานได้ไหม ข้อมูล

253
00:21:13,285 --> 00:21:17,285
เบื้องต้นที่จะใส่ใส่แล้วเป็นอย่างไร ใส่

254
00:21:23,165 --> 00:21:26,887
กับระบบงานอะไร เอาไปผนวกกับงานแล้วมันมีปัญหาไหมนะคะ อันนี้คือข้อพิจารณา

255
00:21:26,887 --> 00:21:30,887
ในการสร้างฐานข้อมูลขึ้นมาสักระบบหนึ่ง ขนาดข้อมูลเล็ก ๆ

256
00:21:31,855 --> 00:21:35,855
ก็ยังต้องพิจารณาตามนี้เช่นกันนะคะ

257
00:21:35,938 --> 00:21:39,938
กับก่อนที่เราจะเรียนในตัวโปรแกรม เราต้องมารู้จักคำสั่งที่ทำ

258
00:21:42,986 --> 00:21:46,879
ะสั่งให้ฐานข้อมูลมันทำงานก่อนนะคะ ภาษาที่ใช้จัดการฐานข้อมูล

259
00:21:46,879 --> 00:21:50,879
อย่างที่บอกค่ะ เป็นภาษา SQL Structur Query Languge

260
00:21:55,172 --> 00:21:55,463
ตัวนี้นะคะ การเรียนภาษา SQL นะคะ

261
00:21:55,463 --> 00:21:59,463
มันก็จะเป็นเรียนรู้คำสั่งพื้นฐานสำหรับสร้างโครงสร้างฐาน

262
00:22:04,608 --> 00:22:08,608
ข้อมูล คำสั่งในการเรียกดูข้อมูล คำสั

263
00:22:11,177 --> 00:22:11,197
งปรับปรุงข้อมูลเพิ่มลบแก้ไข อันนี้เราต้องทราบ

264
00:22:11,197 --> 00:22:15,197
นะคะ ซึ่งภาษา SQL นี่ เป็นภาษาทางด้านฐานข้อมูลที่ได้รับความนิยมที่สุด

265
00:22:19,216 --> 00:22:23,216
นะคะ เป็นชุดคำสั่งที่ใช้ในการจัดการข้อมูล

266
00:22:26,977 --> 00:22:27,798
นะคะ กลุ่มคำสั่งของภาษา SQL จะมีอยู่

267
00:22:27,798 --> 00:22:31,798
3 กลุ่มคำสั่ง คำสั่งแรกก็เป็นคำสั่งที่ใช้สำหรับ

268
00:22:33,463 --> 00:22:37,463
การสร้างฐานข้อมูล กำหนดโครงสร้างฐานข้อม

269
00:22:43,190 --> 00:22:47,190
ูลด้วยนะคะ กำหนดโครงสร้างของตาราง กลุ่มที่ 2 จะเป็นกลุ่มคำสั่งที่ใช่เพิ่ม ลบ เปลี่ยนแปลง

270
00:22:47,264 --> 00:22:51,264
ก็คือเป็นการปรับปรุงข้อมูลนั่นเอง ส่วนกลุ่มที่ 3 จะเป็น

271
00:22:51,336 --> 00:22:55,336
คำสั่งที่ใช้สำหรับสร้าง

272
00:22:56,776 --> 00:22:58,235
นะคะ อันนี้ก็จะเป็นภาษาที่ไม่ได้เป็นภาษาที่

273
00:22:58,235 --> 00:22:59,799
สำหรับนิยามข้อมูล เป็นการสร้างด้วยนะคะ

274
00:22:59,799 --> 00:23:03,799
อย่างในสไลด์อาจารย์วันนี้นี่

275
00:23:04,493 --> 00:23:08,493
ถ้าเราเห็นทรงกระบอกแบบนี้นี่

276
00:23:12,241 --> 00:23:12,418
ถ้าในหนังสือหรือว่าในทางเชิงสากลนี่

277
00:23:12,418 --> 00:23:16,418
เขาจะรับรู้ได้เลยว่าถ้าเราใส่รูปทรงกระบอกแบบนี้

278
00:23:20,771 --> 00:23:21,223
ในสัญลักษณ์ใด ๆ ที่เป็นโครงสร้างทางคอมพิวเตอร์นี่

279
00:23:21,223 --> 00:23:25,223
เขาจะรู้เลยว่าอันนี้คือฐานข้อมูล

280
00:23:29,367 --> 00:23:33,367
ส่วนข้อมูลผลลัพธ์ ถ้าเป็นรูปภาพแบบนี้ ก็แสดงว่าเป็นการแสดงผลรายงานนะคะ

281
00:23:34,026 --> 00:23:38,026
อันนี้ก็เวลาคุณไปอ่านหนังสือ หรือเจอหนังสือเล่มอื่น ถ้าเขาเขียนแบบนี้นี่

282
00:23:38,794 --> 00:23:42,794
ก็ให้เข้าใจว่าก่อนที่จะออกฐานข้อมูล ใช้คำสั่ง

283
00:23:47,206 --> 00:23:51,206
เพื่อเรียกดูรายงานออกมา ผลลัพธ์ดูรายงานเป็นอย่างไรนะคะ อันนี้เป็นโครงสร้างคำสั่งภาษา SQL สำหรับการสืบค้น

284
00:23:54,584 --> 00:23:58,584
นะคะ คำสั่งที่ใช้ในการสืบค้น คำสั่ง

285
00:24:01,511 --> 00:24:05,511
ที่ใช้บ่อยที่สุดก็คือคำสั่ง SELECT อันนี้ S-E-L-E-C-T นักศึกษา

286
00:24:05,937 --> 00:24:08,904
บางคนเวลาพิมพ์ ทำไมผลลัพธ์ไม่ได้เหมือนเพื่อน

287
00:24:08,904 --> 00:24:12,904
บางทีพิมพ์ผิดนะคะ บางครั้งก็จะ

288
00:24:14,769 --> 00:24:18,769
ตกใจ ไม่ต้องตกใจ ถ้าผลลัพธ์มันไม่ออกมา เรามานั่งไล่ดูก่อนว่าเราพิมพ์อะไรผิดหรือเปล่า

289
00:24:26,276 --> 00:24:29,174
นะคะ ลืมสัญลักษณ์อะไรไหม ตกคำอะไรหรือเปล่านะคะ ก็เช็กด้วย

290
00:24:29,174 --> 00:24:33,174
ส่วนมากคำสั่งพื้นฐานจะขึ้นต้นด้วย SELECT

291
00:24:36,123 --> 00:24:40,123
ตามมาด้วย FROM นะคะ SELECT ก็คือ

292
00:24:40,932 --> 00:24:44,932
เราจะแสดงผลข้อมูลอะไร อย่างที่บอกนะคะ ต้องพยายามภาษาอังกฤษนิดหนึ่ง เพราะว่ามันจำเป็น

293
00:24:51,224 --> 00:24:55,224
นะคะ FROM ก็คือเราจะเลือกข้อมูลจากตารางไหนนะคะ WHERE หมายถึงว่ามีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง GROUP BY

294
00:24:58,586 --> 00:25:02,586
ข้อมูลจะถูกรวมเป็นข้อมูลเดียวกันหรือไม่

295
00:25:07,227 --> 00:25:07,997
นะคะ ข้อมูลเดียวกันหรือไม่นะคะ มีเงื่อนไขอะไรอีกไหมรวมถึงการจัดเรียนอย่างไรนะคะ เดี๋ยวจะมีตัวอย่าง

296
00:25:07,997 --> 00:25:11,997
คำสั่งหให้ดู อาทิตย์นี้ดูตัวอย่างคำสั่งไปก่อน

297
00:25:12,977 --> 00:25:16,977
นะคะ อันนี้เป็นตัวอย่างของข้อมูล

298
00:25:19,279 --> 00:25:22,253
นะคะ สไลด์หลังจากนี้ไปเราจะดู

299
00:25:22,253 --> 00:25:26,253
คล้าย ๆ อันนี้เหมือนกัน มีตารางอยู่ 2 ตารางนะคะ

300
00:25:29,495 --> 00:25:32,934
ตารางแรกเป็นตารางหนังสือ ตารางที่ 2 จะเป็นตารางสำนักพิมพ์นะคะ

301
00:25:32,934 --> 00:25:36,934
ตารางแรกก็จะมีรหัสหนังสือ ชื่อหนังสือ ชื่อสำนักพิมพ มีราคานะคะ

302
00:25:40,661 --> 00:25:44,661
ตารางที่ 2 จะเป็นตารางสำนักพิมพ์ มีรหัสสำนักพิมพ์

303
00:25:45,753 --> 00:25:49,753
แล้วก้ชื่อสำนักพิมพ์นะคะ คำสั่งจะแสดงมุม

304
00:25:53,767 --> 00:25:53,918
ขวาตรงนี้นะคะ ส่วนผลลัพธ์ที่ได้จากคำสั่ง SQL จะอยู่ในด้านล่างนะคะ

305
00:25:53,918 --> 00:25:57,918
ตัวอย่าง คำสั่งในการสืบค้นข้อมูล

306
00:26:00,937 --> 00:26:04,937
1 ตารางคำสั่งที่ง่ายที่สุด ก็คือคำสั่ง SELECT

307
00:26:09,007 --> 00:26:10,588
FROM นะคะ เวลาอ่านคำสั่งเราจะดูเราจะดูตรงนี้นะคะ ตรงนี้

308
00:26:10,588 --> 00:26:14,588
ขึ้นต้นคำสั่งว่าอะไร ดูตรงนี้นะคะ

309
00:26:16,112 --> 00:26:20,112
ตัวอย่างการสืบค้นจาก 1 ตารางนะคะ

310
00:26:23,621 --> 00:26:23,870
* หมายถึงว่า

311
00:26:23,870 --> 00:26:26,333
เอาข้อมูลทุก ๆ คอลัมน์

312
00:26:26,333 --> 00:26:30,333
หรือเราจะสามารถระบุได้ว่าเราจะเอาข้อมูลเฉพาะ

313
00:26:35,114 --> 00:26:39,114
คอลัมน์ไหน จากตารางอะไร

314
00:26:39,205 --> 00:26:43,205
นะคะ ตัวอย่าง เช่นตัวนี้นะคะ ให้แสดงผล

315
00:26:43,294 --> 00:26:47,294
ข้อมูลทุกแถวและทุกคอลัมน์

316
00:26:47,554 --> 00:26:51,554
คำสั่งก็คือ SELECT ไอ้เครื่องหมาย *

317
00:26:59,093 --> 00:27:03,093
จะเป็น Star นะคะ SELECT * FROM BOOK ก็คือเอาข้อมูลทุกแถว ทุกคอลัมน์จากตาราง Book

318
00:27:04,256 --> 00:27:08,256
ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลนั่นเองนะคะ ถามว่าคำสั่งนี้

319
00:27:12,808 --> 00:27:15,750
ใครสั่ง บางครั้งอาจจะเป็นคนที่ดูแลฐานข้อมูล หรือ

320
00:27:15,750 --> 00:27:19,750
ผู้ใช้งานต้องการเรียกดูข้อมูลในลักษณะนี้

321
00:27:21,498 --> 00:27:25,498
คำสั่งที่เกิดขึ้นที่ให้คอมพิวเตอร

322
00:27:31,269 --> 00:27:32,207
์ทำงานนะคะ อันนี้คือ SELECT * ก็คือเอาทุกคอลัมน์

323
00:27:32,207 --> 00:27:36,207
แล้วถ้าเราไม่เอาทุกแถว ทุกคอลัมน์ล่ะ เรากำหนดได้ไหม

324
00:27:37,465 --> 00:27:41,465
กำหนดได้ค่ะ คำสั่งต่อมาเป็น SELECT ก็คือเลือกชื่อกับราคา

325
00:27:44,526 --> 00:27:48,526
จากตาราง BOOKS ผลลัพธ์ที่ได้จากคำสั่งนี้ ก็จะแสดงผลเฉพาะ

326
00:27:50,442 --> 00:27:51,067
ชื่อกับราคาของหนังสือ

327
00:27:51,067 --> 00:27:55,067
เท่านั้น เพราะว่าอย่างที่อาจารย์เคยบอก

328
00:27:59,118 --> 00:28:02,024
มุมมองของผู้ใช้งานแต่ละคนไม่เหมือนกัน บางคนอย่างดู

329
00:28:02,024 --> 00:28:05,921
ทั้งหมด บางคนอยากดูข้อมูลทั้ง 2 อย่าง

330
00:28:05,921 --> 00:28:09,921
สามารถทำได้ไหม ทำได้ค่ะ ดูข้อมูลอย่างเดียวก็ทำได้

331
00:28:10,138 --> 00:28:14,138
แค่เราต้องบอกให้ถูกว่า คุณดูจากตารางไหน

332
00:28:19,290 --> 00:28:19,560
คอลัมน์อะไรระบุไป ระบบจัดการฐานข้อมูลมันก็จะดึงข้อมูล

333
00:28:19,560 --> 00:28:22,721
ขึ้นมาให้เราดูนะคะ ต่อมา ถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ แค่

334
00:28:22,721 --> 00:28:26,721
เอาคอลัมน์มันไม่พอแล้ว เราอยากกดเพิ่มเงื่อนไข คำสั่งก็จพะ

335
00:28:35,296 --> 00:28:39,296
ใช้ในการเพิ่มเงื่อนไขก็คือคำสั่ง WHERE มันจะเป็น SELECT FROM WHERE ไล่ลำดับ

336
00:28:42,527 --> 00:28:46,527
ลงมานะคะ โดยอาจจะมีเงื่อนไข อาจจะเป็นเงื่อนไขการเปรียบเทียบ

337
00:28:51,297 --> 00:28:52,615
นะคะ จะให้ดูสัญลักษณตรงนี้

338
00:28:52,615 --> 00:28:54,513
นะคะ มากกว่า เท่ากับ น้อยกว่านะคะ พวกนี้

339
00:28:54,513 --> 00:28:58,513
น้อยกว่า = มากกว่า =

340
00:29:02,124 --> 00:29:06,124
อันนี้เป็น = > < เป็นอย่างนี้นะคะ

341
00:29:09,191 --> 00:29:13,191
ไปอย่างนี้นะคะ เดี๋ยวจะทำตัวคั่นให้ทีหลัง หรือการรวบรวม เป็นและเป็นหรือ

342
00:29:18,258 --> 00:29:22,258
เป็นและ เ

343
00:29:23,310 --> 00:29:23,636
ป็นเป็นการปฏิเสธ เช่น ไม่เอาข้อมูลนักศึกษาชายอะไรอย่างนี้ ตรวจสอบค่าของข้อมูลว่าง

344
00:29:23,636 --> 00:29:27,636
ให้มันตรวจดูสิว่า

345
00:29:31,785 --> 00:29:35,785
ข้อมูลตรงไหนมีช่องว่าง ข้อมูลตรงไหนหายไป

346
00:29:37,767 --> 00:29:38,713
ตรวจสอบเป็นช่วง เช่น ตรวจสอบในช่วงอายุระหว่าง 15 ถึง

347
00:29:38,713 --> 00:29:42,713
18 ปี หรือในชื่อใครมีชื่อมี จ จาน

348
00:29:45,193 --> 00:29:49,193
หรือในชื่อใครมีสระเอ ตรวจสอบ

349
00:29:53,309 --> 00:29:57,309
ข้อความนะคะ เช่น ในข้อมูลนั้นมีคำว่า "นาย" ก็เอา

350
00:29:58,874 --> 00:30:00,884
คนที่มีคำขึ้นต้นว่านายทั้งหมด อะไรก็ว่าไปนะคะ

351
00:30:00,884 --> 00:30:04,884
มันจะมีการเปรียบเทียบเงื่อนไขด้วยนะคะ อันนี้อาจารย์อธิ

352
00:30:11,327 --> 00:30:11,443
บายไปแล้วนะคะ = > < >= <= ไม่เท่ากับนะคะ อย่างตัวอย่าง

353
00:30:11,443 --> 00:30:15,395
การค้นหาแบบมีเงื่อนไข

354
00:30:15,395 --> 00:30:19,395
นะคะ อันแรก ก็คือให้เอามาแสดงผลเฉพาะชื่อกับรา

355
00:30:27,331 --> 00:30:28,196
คา  จากตาราง Book โดยที่มีเงื่อนไข คือ

356
00:30:28,196 --> 00:30:30,673
ราคาน้อยกว่า 1,000

357
00:30:30,673 --> 00:30:34,673
เงื่อนไขแรก คือ แสดงผลเฉพาะชื่อกับราคา

358
00:30:41,460 --> 00:30:42,456
ราคานะคะ แล้วเงื่อนไขต่อมาคือ

359
00:30:42,456 --> 00:30:46,456
ราคาน้อยกว่า 1,000 มาดูที่ราคาค่ะ อันนี้

360
00:30:47,812 --> 00:30:51,812
น้อยกว่า 1,000 อันนี้น้อยกว่า 1,000 นี่

361
00:30:53,101 --> 00:30:57,101
1,000 แสดงผลไหมคะ ไม่แสดงผล

362
00:30:58,299 --> 00:30:58,870
1,950 แสดงผลไหม ไม่แสดงผล ส่วนที่มันจะแสดงผลมีอยู่

363
00:30:58,870 --> 00:31:02,870
5 แถวนะคะ แต่

364
00:31:04,235 --> 00:31:08,235
มันจะเลือกแสดงผลแค่ชื่อกับราคาเท่านั้น อันนี้คือคำสั่ง

365
00:31:15,348 --> 00:31:19,348
ผลลัพธ์ที่ได้ก็จะเป็นตัวนี้นะคะ อันนี้เดี๋ยวเราจะลองทำสัปดาห์หน้า อันนี้อาจารย์ให้ดูภาพก่อน

366
00:31:22,662 --> 00:31:26,662
นะคะ คราวนี้เงื่อนไขเหมือนเดิมค่ะ แต่ต่างตรงที่ว่าคำสั่งเปรียบเทียบ

367
00:31:30,837 --> 00:31:34,557
เป็น >= 1000 แสดงว่าเล่มที่มีราคา 1,000 มันก็จะแสดงผลด้วย

368
00:31:34,557 --> 00:31:37,198
เพราะฉะนั้น ต้องดูคำสั่งเปรียบเทียบดี ๆ ว่า

369
00:31:37,198 --> 00:31:41,198
เขาเอา < หรือ

370
00:31:47,358 --> 00:31:48,994
<= เหมือนบางทีเราค้นหาสินค้าในเว็บออนไลน์

371
00:31:48,994 --> 00:31:52,994
เราให้มันจัดเรียนตามราคา ก็ใช้คำสั่งนี้ล่ะค่ะ ในการจัดเรียงว่า

372
00:31:53,508 --> 00:31:57,508
เราอยากได้สินค้าที่น้อยที่สุดไปหามากที่สุดไม่เกิน 2,000 บาท

373
00:32:01,810 --> 00:32:03,067
เขาก็จะจัดเรียงมาให้ก็จะใช้คำสั่งนี้ล่ะค่ะ

374
00:32:03,067 --> 00:32:05,607
ที่มันดึงข้อมูลจากฐานข้อมูลมาแสดงผลให้เรา

375
00:32:05,607 --> 00:32:09,607
นะคะ เมื่อก่อนเราเป็นแค่ผู้ใช้งาน เราไม่รู้ว่าข้างใน

376
00:32:11,150 --> 00:32:15,150
มันนี่ เขาเขียนอย่างไร วันนี้เรารู้แล้วว่า

377
00:32:15,957 --> 00:32:16,609
คำสั่งคอมพิวเตอร์ต้องสั่งมันว่าอย่างไร

378
00:32:16,609 --> 00:32:18,198
ต่อมาเป็น

379
00:32:18,198 --> 00:32:22,198
คำสั่งเดิม แต่เปลี่ยนเงื่อนไข ก็คือ

380
00:32:25,620 --> 00:32:29,620
ให้ราคาไม่เท่ากับ 1,000

381
00:32:33,811 --> 00:32:34,936
เพราะฉะนั้น ก็แสดงผลหนังสือทุกเล่ม ยกเว้นเล่มที่มีราคา 1,000

382
00:32:34,936 --> 00:32:35,182
จะไม่แสดงผล

383
00:32:35,182 --> 00:32:39,182
ดูดี ๆ นะคะ เงื่อนไขตรงนี้เองแตกต่างกันแค่นี้เองนิดเดียว

384
00:32:42,440 --> 00:32:46,440
ถ้าสมมติว่าในข้อสอบ อาจารย์ถามว่า

385
00:32:51,378 --> 00:32:55,148
นักศึกษาก็ต้องเขียนออกมาให้อาจารย์ดูได้ว่าจากคำสั่งนี้นะคะ ผลลัพธ์ที่ได้ควรจะเป็นอย่างไร

386
00:32:55,148 --> 00:32:59,148
อันนี้มันมีแค่เงื่อนไขเดียว แต่ถ้ามันมีหลายเงื่อนไข

387
00:33:07,238 --> 00:33:11,238
ล่ะนะคะ มันสามารถทำได้หลายเงื่อนไขไหม ได้นะคะ ก็จะมีเงื่อนไขที่เพิ่มขึ้น คือ AND หรือ OR

388
00:33:14,525 --> 00:33:18,525
ก็คือต้องเป็นไปตามเงื่อนไขทั้งหมด OR

389
00:33:23,389 --> 00:33:24,079
เป็นไปตามเงื่อนไขอย่างใดอย่างหนึ่งนะคะ อย่างตัวนี้

390
00:33:24,079 --> 00:33:28,079
คำสั่งเราดูก่อนเลยอย่างแรก เป็น OR

391
00:33:29,956 --> 00:33:33,956
ให้เลือกแสดงผลข้อมูลเ

392
00:33:39,393 --> 00:33:41,452
ป็น Books โดยมีเงื่อนไขคือราคามากกว่า 500 หรือรหัสสำนักพิมพ์น้อยกว่า 12

393
00:33:41,452 --> 00:33:45,452
ก็มาดูนะคะ เงื่อนไขแรก

394
00:33:49,258 --> 00:33:51,330
ราคามากกว่า 500 จะมีอยู่ 2 เล่ม

395
00:33:51,330 --> 00:33:54,816
ตัวนี้นะคะ

396
00:33:54,816 --> 00:33:58,816
แล้วก็รหัส หรือรหัสสำนักพิมพ์

397
00:34:01,894 --> 00:34:05,894
น้อยกว่า 12

398
00:34:09,339 --> 00:34:09,959
อันนี้ อันนี้ เพราะฉะนั้น จะแสดงผล 5 เล่มนะคะ

399
00:34:09,959 --> 00:34:13,959
ถามว่าทำไมอันนี้มันราคาไม่เกิน 500 นี่

400
00:34:16,806 --> 00:34:20,806
ทำไมมันแสดงผล ก็เพราะว่ารหัสสำนักพิมพ์น้อยกว

401
00:34:27,410 --> 00:34:31,130
่า 12 มันก็เลยแสดงผลด้วยนะคะ เป็น 5 เล่ม ซึ่งแตกต่างจากตัวอย่างก็เลยแสดงผลด้วยนะคะ ด้วยนะคะ เป็น 5 เล่ม ซึ่งแตกต่างจากตัวอย่าง

402
00:34:31,130 --> 00:34:35,130
ต่อมา เป็น AND AND ก็คือถ้ามันมีเงื่อนไข

403
00:34:37,150 --> 00:34:40,450
2 ข้อ มันจะต้องดูทั้งเงื่อนไขทั้ง 2 ข้อ

404
00:34:40,450 --> 00:34:41,034
นะคะ อันนี้คือมีเงื่อนไข 2 ข้อก็จริง

405
00:34:41,034 --> 00:34:45,034
แต่ว่ามันสามารถเป็นได้ทั้ง 2 ข้อ โดยที่สามารถเลือกได้

406
00:34:51,423 --> 00:34:53,377
นะคะ แต่อันนี้จะต้องเขาตามเงื่อนไขทั้ง 2 ข้อเป๊ะ ๆ เท่านั้นนะคะ

407
00:34:53,377 --> 00:34:57,377
เงื่อนไข ก็คือให้ราคา

408
00:34:59,770 --> 00:35:02,196
>= 500 และราคา < 1,000

409
00:35:02,196 --> 00:35:04,606
ก็คือเป็นช่วงนั่นเองนะคะ ก็จะมีเล่มนี้ 500

410
00:35:04,606 --> 00:35:08,606
เล่มนี้ 1,000 ถามว่า

411
00:35:10,880 --> 00:35:11,716
เล่มนี้ได้ไหม ไม่ได้ เพราะมันเกิน 1,000

412
00:35:11,716 --> 00:35:15,716
เล่มนี้ได้ไหม ไม่ได้ เพราะมันน้อยกว่า 500 เพราะฉะนั้น

413
00:35:21,913 --> 00:35:25,913
ผลลัพธ์ที่ได้ก็จะมีแค่ 2 เล่มเท่านั้นตามเงื่อนไขนะคะ แล้วมีเงื่อนไขมากว่านี้ได้ไหม มีได้ค่ะ

414
00:35:28,034 --> 00:35:28,506
เป็นได้ทั้ง AND และ OR

415
00:35:28,506 --> 00:35:32,506
นะคะ ถ้าอันไหนเป็น AND ก็คือ

416
00:35:33,308 --> 00:35:35,918
จะต้องตามเงื่อนไขนั้นอย่างเดียวเท่านั้นนะคะ

417
00:35:35,918 --> 00:35:39,918
เช่น ราคา <= 500 มีเล่มไหนบ้าง

418
00:35:47,432 --> 00:35:51,432
มีเล่มนี้นะคะ มีเล่มนี้นะคะ หรือ PID ก็คือ

419
00:35:56,399 --> 00:36:00,399
รหัสสำนักพิมพ์เท่ากับ 4 เท่ากับ 4 มีเล่มไหน

420
00:36:03,437 --> 00:36:05,626
มีเล่มนี้ค่ะ มีเล่มนี้ มีเล่มนี้ ทำไมถึงเอา เพราะมันเป็นคำสั่ง OR

421
00:36:05,626 --> 00:36:09,626
OR ก็คือสามารถยอมรับได้

422
00:36:13,368 --> 00:36:15,537
นะคะ ก็แสดงผลมา 5 เล่ม

423
00:36:15,537 --> 00:36:19,537
อันนี้เป็นเงื่อนไขนะคะ แต่ว่ามันก็จะมีวิธี

424
00:36:19,734 --> 00:36:23,450
การเขียนให้มันสั้นกว่านี้อยู่นะคะ มีหลายตัวอย่าง

425
00:36:23,450 --> 00:36:24,949
นะคะ กับต่อมาเป็นเงื่อนไขในการปฏิเสธ

426
00:36:24,949 --> 00:36:28,949
ก็คือไม่เอานะคะ ก็คือคำสั่ง NOT

427
00:36:30,442 --> 00:36:34,442
อย่างเช่นคำสั่งนี้ เงื่อนไข คือ ไม่เอา

428
00:36:37,640 --> 00:36:41,640
รหัสสำนักพิมพ์ที่มีค่าเท่ากับ 4 อันนี้ตัดไป ตัดไป

429
00:36:43,352 --> 00:36:47,352
ตัดไป เพราะฉะนั้นแสดงผลที่เหลือ

430
00:36:48,972 --> 00:36:52,654
นนี้คือเงื่อนไขง่าย ๆ อย่างเช่นเรา เราหาซื้อของออนไลน์ ไม่อยากได้สีแดง

431
00:36:52,654 --> 00:36:56,053
เราก็เลยบอกว่าไม่เอาสีแดง

432
00:36:56,053 --> 00:37:00,053
มันก็แสดงผลสินค้าที่เหลือมาให้นะคะ หรืออาจารย์หา

433
00:37:07,188 --> 00:37:11,188
ค่าว่าง หรือการไม่ค่าในข้อมูลนั้น ๆ เช่น ลองดูสิว่าในราคาน่ะ

434
00:37:11,328 --> 00:37:14,988
ในส่วนของราคามีอะไรเป็นค่าว่างบ้าง

435
00:37:14,988 --> 00:37:18,988
NULL ตัวนี้แปลว่าค่าว่างนะคะ ค่าว่างตัวนี้ ก็จ

436
00:37:22,384 --> 00:37:26,384
ะมีอยู่เล่มเดียวที่ไม่มีข้อมูลของสำนักพิมพ์ไม่มีข้อมูลราคา มีอยู่เล่มเดียว

437
00:37:29,313 --> 00:37:33,313
เอาไว้เช็กว่าข้อมูลเรามีข้อมูลอะไรหายไปหรือเปล่า ก็สามารถให้คอมพิวเตอร์มันเช็กให้เราได้

438
00:37:36,209 --> 00:37:40,209
ในทางกลับกัน ให้มันเช็กว่ามีข้อมูลอะไรบ้าง ที่ไม่ใช่ค่าว่าง

439
00:37:41,976 --> 00:37:44,072
ก็ใช้คำสั่งที่ใกล้เคียงกันแค่นั้นเองนะคะ

440
00:37:44,072 --> 00:37:48,072
เพราะฉะนั้น ภาษาอังกฤษค่อนข้างง่ายค่ะ

441
00:37:53,464 --> 00:37:55,156
ลองแปลดู คำศัพท์ก็ไม่ใช่คำศัพท์

442
00:37:55,156 --> 00:37:58,378
ที่ซับซ้อนอะไรมากนะคะ ที่ใช้ในการจัดการฐานข้อมูล

443
00:37:58,378 --> 00:38:00,207
เมื่อกี้เราใช้ AND ใช้ OR นะคะ

444
00:38:00,207 --> 00:38:04,207
มันพิมพ์ค่อนข้างยาว เราจะเปลี่ยนใหม่

445
00:38:08,128 --> 00:38:12,128
เป็นคำสั่ง BETWEEN AND

446
00:38:13,276 --> 00:38:15,075
นะคะ ก็คือระหว่างเท่าไรถึงเท่าไรนะคะ ในทาง...

447
00:38:15,075 --> 00:38:16,953
ในเทียบกันดูนะคะ ถ้าเราใช้คำสั่งนี้

448
00:38:16,953 --> 00:38:20,953
นะคะ ให้แสดงผลคอลัมน์

449
00:38:25,799 --> 00:38:26,520
นะคะ ที่มีค่าระหว่าง 10-20 เราพิมพ์แค่นี้เองนะคะ

450
00:38:26,520 --> 00:38:30,520
แต่ถ้าเราจำคำสั่ง BETWEEN AND ไม่ได้

451
00:38:34,113 --> 00:38:38,113
เราต้องพิมพ์ยาวมากแบบนี้นะคะ คำสั่งตัวนี้

452
00:38:40,047 --> 00:38:43,954
มันเลยทำให้เราทำงานได้เร็วขึ้น พิมพ์น้อยลงนะคะ อย่างเช่นตัวนี้

453
00:38:43,954 --> 00:38:47,954
นะคะ เงื่อนไข คือ

454
00:38:48,048 --> 00:38:52,048
ให้เลือกชื่อหนังสือกับราคามา

455
00:38:55,880 --> 00:38:59,880
โดยที่มีเงื่อนไข คือ ราคาอยู่ในระหว่าง 500-1,000

456
00:39:00,782 --> 00:39:04,695
ก็มีกี่เล่มคะ มีอยู่ 2 เล่ม 500 กับ

457
00:39:04,695 --> 00:39:08,695
1,000

458
00:39:13,207 --> 00:39:17,207
พิมพ์สั้นลงเยอะเลยนะคะ พิมพ์สั้นลงเยอะเลย กับเงื่อนไขต่อมา เงื่อนไข คือ

459
00:39:18,266 --> 00:39:21,247
ไม่อยู่ในช่วงระหว่าง 500-1,000

460
00:39:21,247 --> 00:39:24,702
มีอะไร 500 ตัดออก

461
00:39:24,702 --> 00:39:27,047
1,000 ตัดออก

462
00:39:27,047 --> 00:39:31,047
เพราะฉะนั้น ผลลัพธ์ที่ได้ก็จะมีอยู่ทุกเล่มเลย

463
00:39:33,731 --> 00:39:36,400
ยกเว้นเล่มที่ราคา 500 กับ 1,000 นะคะ

464
00:39:36,400 --> 00:39:40,400

465
00:39:40,742 --> 00:39:44,742
หรือเราอาจจะค้นหาข้อมูลตามค่าที่เราต้องการ

466
00:39:46,480 --> 00:39:50,480
นะคะ เราจะใช้คำสั่ง

467
00:39:53,301 --> 00:39:55,368
เงื่อนไขเพิ่มเติมเข้ามา คือ IN

468
00:39:55,368 --> 00:39:55,710
นะคะ I-N ตัวนี้

469
00:39:55,710 --> 00:39:59,589
เช่น ข้อมูลที่เราต้องการ ก็คือ

470
00:39:59,589 --> 00:40:03,589
อาจจะมีตัวเลข ให้หาตัวเลขที่

471
00:40:03,835 --> 00:40:06,816
ระหว่าง 1-10

472
00:40:06,816 --> 00:40:10,816
นะคะ ผลลัพธ์ที่ได้ก็จะเป็น 1 3 5 7 9

473
00:40:18,463 --> 00:40:22,463
อันนี้เรารู้อยู่แล้วจะเป็นจำนวนคี่ ระหว่าง 1-10 นะคะ ชื่อคนที่ขึ้นต้นด้วย ส เสือ ม ม้า

474
00:40:24,141 --> 00:40:25,143

475
00:40:25,143 --> 00:40:29,143
มีอะไรบ้าง สมชาย สมพงษ์ สมศักดิ์

476
00:40:35,112 --> 00:40:36,635
นะคะ ตัวอย่าง ก็คือเงื่อนไขให้แสดงให้แสดงชื่อหนังสือกับราคาที่

477
00:40:36,635 --> 00:40:39,311
ราคาหนังสือIN มีค่า

478
00:40:39,311 --> 00:40:43,311
250 หนังสือเล่มละ 500 750

479
00:40:48,494 --> 00:40:51,371
1,000 เล่มไหนบ้าง มี 250 มีไหม มี 1 เล่ม 500 มีไหม

480
00:40:51,371 --> 00:40:55,371
500 มี 1 เล่ม 750 มีไหม

481
00:40:55,994 --> 00:40:59,994
ไม่มี 1,000 มีไหม มี

482
00:41:00,999 --> 00:41:02,077
เพราะฉะนั้น แสดงผล 3 เล่ม

483
00:41:02,077 --> 00:41:06,077
นะคะ ถามว่าเราค้นหาไม่เจอแล้วเกิดอะไรขึ้นไหม ไม่เจอก็คือไม่เจอ

484
00:41:12,969 --> 00:41:14,393
นะคะ ก็แสดงว่าฐานข้อมูลเราไม่มีหนังสือเล่ม 750

485
00:41:14,393 --> 00:41:15,701
แค่นั้นเองนะคะ

486
00:41:15,701 --> 00:41:18,565
หรือ

487
00:41:18,565 --> 00:41:22,021
การค้นหาหนังสือที่ราคา

488
00:41:22,021 --> 00:41:26,021
ไม่อยู่ในราคาที่ 250

489
00:41:27,609 --> 00:41:31,609
250 ตัดออกไป ไม่เอา 500 เอาไหม

490
00:41:36,358 --> 00:41:40,358
ไม่เอา 750 ไม่มี 1,000 มี ตัดออก เพราะฉะนั้น แสดงผล

491
00:41:40,718 --> 00:41:44,718
หนังสือเล่มที่เหลือ เพราะเขาบอกว่าไม่เอาหนังสือราคา 250

492
00:41:45,098 --> 00:41:49,098
ไม่เอา 500 ไม่เอา 750 ไม่เอา 1,000

493
00:41:55,223 --> 00:41:56,071
เพราะฉะนั้น ก็แสดงผลค่าที่เหลือ แค่นั้นเอง ก็คือตัดออกนะคะ ต่อมา

494
00:41:56,071 --> 00:42:00,071
คราวนี้เป็นการระบุราคาไปแล้ว เราจะระบุเป็น

495
00:42:02,147 --> 00:42:06,147
ข้อความนะคะ เป็นตัวอักษรก็ได้

496
00:42:07,982 --> 00:42:11,982
จากเมื่อกี้เป็นคำสั่ง IN จากนี้จะเป็นคำสั่ง Like

497
00:42:14,753 --> 00:42:14,840
LIKE เหมือนกด Like นี่ล่ะนะคะ ก็จะเป็นการค้นหาส่วนของ

498
00:42:14,840 --> 00:42:18,840
ข้อความ บางครั้ง เราอาจจะไท่ได้พิมพ์ชื่อเต็ม ๆ ของเขา

499
00:42:27,567 --> 00:42:31,567
อาจจะเป็นส่วนของชื่อของเขาก็ได้ เช่น จำชื่อเขาไม่ได้น่ะ เขาน่าจะชื่อ สม สม พงศ์

500
00:42:35,346 --> 00:42:39,346
ซึ่งมันเป็นส่วนของชื่อของคนที่ชื่อสมพงษ์ อาจจะจำคำชื่อขึ้นต้นเขาไม่ได้ อาจจะจำได้บางส่วน

501
00:42:43,016 --> 00:42:47,016
ก็สามารถค้นหาได้เหมือนกัน เช่น บางคนอาจจะพิมพ์คำว่า Microsoft ผิด หรือจำไม่ได้

502
00:42:48,343 --> 00:42:51,365
ก็สามารถค้นหาได้เหมือนกัน เป็นบางส่วนของข้อความ

503
00:42:51,365 --> 00:42:55,365
นะคะ โดยที่การค้นหาส่วนของข้อความใด ๆ

504
00:42:59,581 --> 00:43:03,581
การค้นหาส่วนของข้อความใด ๆ โดยไม่จำกัดตัวอักษร เราจะใช้เป็นตัว %

505
00:43:07,197 --> 00:43:11,197
หรือตัวสตาร์ เป็น * ตัวนี้ก็ได้ หรือเป็นส่วนของข้อความใด ๆ ที่มีขนาด

506
00:43:11,678 --> 00:43:12,095
แค่ 1 ตัวอักษร เราจะใช้เป็น

507
00:43:12,095 --> 00:43:16,095
_ หรือเครื่องหมายคำถาม ถ้าในส่วนของ

508
00:43:17,136 --> 00:43:21,136
โปรแกรม Microsoft Access นะคะ เราจะใช้เป็นเครื่องหมาย

509
00:43:25,434 --> 00:43:28,717
คำถาม หรือเป็นวงเล็บ

510
00:43:28,717 --> 00:43:31,689
วงเล็บ เป็นวงเล็บสี่เหลี่ยมแบบนี้

511
00:43:31,689 --> 00:43:34,008
นะคะ ก็คือให้ตัวอักษรใด ๆ ที่ปรากฏในช่อง

512
00:43:34,008 --> 00:43:35,082
จะต้องเป็นตัวอักษรนั้นเท่านั้น

513
00:43:35,082 --> 00:43:39,082
แต่ถ้ามีเครื่องหมายตกใจ

514
00:43:43,076 --> 00:43:45,265
มันจะเป็นการบอกว่าไม่เอาตัวอักษรนั้นนะคะ

515
00:43:45,265 --> 00:43:49,265
หรืออาจจะเป็นช่วงตัวอักษรก็ได้ เดี๋ยวดูตัวอย่างเลยแล้วกัน

516
00:43:55,461 --> 00:43:57,949
มันจะได้เห็นภาพนะคะ อย่างเช่น เงื่อนไข คือ ให้ค้นหา

517
00:43:57,949 --> 00:44:01,655
ชื่อหนังสือราคาจากตารางหนังสือ

518
00:44:01,655 --> 00:44:05,530
โดยที่ชื่อหนังสือนะคะ ขึ้นต้น

519
00:44:05,530 --> 00:44:09,530
ด้วย N ตามด้วยอะไรก็ได้ ถ้าเป็นเครื่องหมาย * ตัวนี้

520
00:44:12,071 --> 00:44:16,071
คือขึ้นต้นด้วยตัวหนังสือนั้น ๆ  ตามด้วยอะไรก็

521
00:44:19,603 --> 00:44:19,704
ได้ในตารางเรา ลองดูสิคะ ขึ้นต้นด้วยตัว N

522
00:44:19,704 --> 00:44:22,326
มีอยู่ 1 ชื่อ มี 2 ชื่อ เพราะฉะนั้น

523
00:44:22,326 --> 00:44:23,450
แสดงผล 2 อัน ขึ้นต้นด้วยตัว N

524
00:44:23,450 --> 00:44:27,450
นะคะ อันอื่นไม่ได้ขึ้นต้นด้วยตัว N แล้ว

525
00:44:31,756 --> 00:44:35,756
เงื่อนไขต่อมา หาชื่อหนังสือที่ขึ้นต้นด้วยอะไรก็ได้

526
00:44:37,698 --> 00:44:39,970
ลงท้ายด้วยอะไรก็ได้ แต่ในชื่อนั้นมีตัว C

527
00:44:39,970 --> 00:44:43,970
ขึ้นต้นด้วยอะไรก็ได้ค่ะ ลงท้ายอะไรก็ได้นะคะ

528
00:44:51,611 --> 00:44:52,138
แต่ตรงในนั้นน่ะในคำนั้นน่ะ ต้องมีตัว C อันแรก

529
00:44:52,138 --> 00:44:56,138
ชื่อแรกมีไหมคะ ไม่มี ชื่อที่ 2

530
00:44:58,484 --> 00:45:02,484
มีตัว C ตรงตามเงื่อนไขไหม ข้อตั้นอะไรก็ได้ ลง

531
00:45:07,618 --> 00:45:11,618
ท้ายอะไรก็ได้ แต่มีตัว C หนังสือต่อมา มีไหม มีตัว C มี ตัวนี้ก็มีนะคะ ตัวนี้ถามว่า

532
00:45:15,949 --> 00:45:19,949
ได้อย่างไร ก็ขึ้นต้นด้วยอะไรก็ได้ ลงด้วยอะไ

533
00:45:23,626 --> 00:45:25,365
นะคะ ขอให้มีตัว C ประกอบ เพราะฉะนั้น ก็จะมีหนังสือ

534
00:45:25,365 --> 00:45:29,365
อยู่ 4 เล่มนะคะ 4 เล่ม อันนี้คือผลลัพธ์ เพราะฉะนั้น บางทีนี่อาจารย์

535
00:45:30,156 --> 00:45:34,156
อยากค้นหาชื่อนักศึกษา

536
00:45:35,758 --> 00:45:38,850
นะคะ จำชื่อจริงเขาไม่ได้ จำได้แค่ว่ามี

537
00:45:38,850 --> 00:45:40,212
"พร" อะไรอย่าง อะไรอย่างนี้นะคะ

538
00:45:40,212 --> 00:45:44,212
ฐานข้อมูลก็สามารถค้นหาข้อมูลให้เราได้เช่นเดียวกัน

539
00:45:45,149 --> 00:45:49,149
นะคะ ตัวอย่างนี้

540
00:45:49,179 --> 00:45:53,179
จะเริ่มสังเกตแล้วว่าทำไมมันมีเครื่องหมายคำถาม

541
00:45:56,554 --> 00:46:00,554
แล้วก็ดอกจัน ถ้ามีเครื่องหมายคำถามตรงนี้ แสดงว่า

542
00:46:02,144 --> 00:46:04,003
ข้างหน้าตัว e 1 ตัวอักษร

543
00:46:04,003 --> 00:46:08,003
เท่านั้นนะคะ เป็น 1 ตัว แต่ตามหลังตัว E

544
00:46:08,644 --> 00:46:08,874
เป็นกี่ตัวก็ได้ เรามาดูเงื่อนไขกันเลยนะคะ

545
00:46:08,874 --> 00:46:12,874
ถามว่าในหนังสือเล่มนี้

546
00:46:15,303 --> 00:46:16,125
ได้ไหม ไม่ได้

547
00:46:16,125 --> 00:46:20,125
เพราะตรงก่อนหน้าตัว E มีอยู่ 5

548
00:46:27,640 --> 00:46:31,640
ซึ่งผิดเงื่อนไข ถ้าเป็นเครื่องหมายคำถาม ตัวหนังสือที่นำหน้าตัว E ต้องมี 1 ตัวเท่านั้น

549
00:46:35,385 --> 00:46:38,699
นะคะ เล่มนี้ล่ะ มีตัว E แต่ก่อนหน้าตัว E มีตัวหนังสือเยอะเลย ก็ไม่ได้

550
00:46:38,699 --> 00:46:42,699
เล่มนี้ได้ไหม ขึ้นต้นด้วย 1 ตัวอักษร

551
00:46:43,604 --> 00:46:44,213
ตามหลังด้วยตัว E ได้

552
00:46:44,213 --> 00:46:48,213
ตัวนี้ไม่มีนะคะ เล่มนี้ก็ไม่ได้

553
00:46:53,287 --> 00:46:57,287
เล่มนี้ได้ ขึ้นต้นด้วย E... ขึ้นต้น 1 ตัว

554
00:46:59,651 --> 00:47:00,595
ตัว E แค่นั้น เพราะฉะนั้น มีหนังสืออยู่ 2 เล่มนะคะ เล่มนี้ก็ไม่ได้ เพราะก่อนหน้าตัว E

555
00:47:00,595 --> 00:47:04,595
มีตัวหนังสือมากกว่า 1 ตัวนะคะ ผิดเงื่อนไข

556
00:47:04,772 --> 00:47:08,772
เงื่อนไขต่อมานะคะ

557
00:47:09,154 --> 00:47:13,154
เงื่อนไขว่าให้ชื่อหนังสือ

558
00:47:14,202 --> 00:47:15,193
ขึ้นต้นด้วยตัว N หรือตัว O

559
00:47:15,193 --> 00:47:18,926
ตามหลังด้วยอะไรก็ได้

560
00:47:18,926 --> 00:47:22,926
นะคะ ก็จะมีอยู่กี่เล่ม เล่มนี้ขึ้นต้นด้วย

561
00:47:31,658 --> 00:47:35,127
N ได้ ขึ้นต้นด้วยตัว N ได้ มีตัว O 1 เล่ม ก็แสดงผลหนังสือ 3 เล่ม

562
00:47:35,127 --> 00:47:36,139
นะคะ อันนี้เป็นการดูเงื่อนไข

563
00:47:36,139 --> 00:47:40,139
แต่เดี่ยวอาทิตย์หน้าคุณต้องทำเอง อาจารย์

564
00:47:46,723 --> 00:47:50,491
อาจจะกำหนดว่าให้คุณลองพิมพ์ ว่าให้เขียนเงื่อนไข

565
00:47:50,491 --> 00:47:54,368
แล้วให้แสดงผลตามที่อาจารย์กำหนด ให้พวกคุณ

566
00:47:54,368 --> 00:47:55,159
พิมพ์คำสั่งให้ถูก อย่างเช่น ข้อมูลสัปดาห์หน้าอาจารย์อาจจะ

567
00:47:55,159 --> 00:47:59,159
บอกว่าให้แสดงผลคนที่ขึ้นต้น

568
00:48:02,430 --> 00:48:03,066
ด้วย ส กับ อ.

569
00:48:03,066 --> 00:48:07,066
อาทิตย์หน้านักศึกษาก็ต้องทำได้นะคะ เพราะอาทิตย์นี้มีตัวอย่างแล้วนะ

570
00:48:11,075 --> 00:48:15,075
เงื่อนไขต่อมา ชื่อหนังสือที่ไม่ขึ้นต้น

571
00:48:16,346 --> 00:48:20,346
ด้วยตัว N ตามหลังด้วยอะไรก็ได้ อันนี้ก็หลายเล่มเลย เล่มนี้ เล่มนี้

572
00:48:27,680 --> 00:48:31,680
เล่มนี้นะคะ แค่นี้เอง ต่อมาจะเริ่มเป็นการปรับปรุงฐานข้อมูล

573
00:48:35,685 --> 00:48:38,690
จะเป็นการกำจัดข้อมูลที่อาจจะมีการซ้ำกันเกิดขึ้น

574
00:48:38,690 --> 00:48:40,910
ก็คือรายการซ้ำนะคะ

575
00:48:40,910 --> 00:48:44,910
มี 2 คำสั่ง ก็จะมีการการ

576
00:48:45,403 --> 00:48:49,403
ใช้คำสั่งที่อาจจะกำจัดรายการข้อมูลซ้ำ

577
00:48:50,046 --> 00:48:53,737
ให้เหลือรายการเดียวนะคะ โดยใช้

578
00:48:53,737 --> 00:48:57,737
การกำหนดค่าต่าง ๆ เป็นเกณฑ์ กับคำสั่ง

579
00:48:58,838 --> 00:49:02,838
ถ้าต่อมาเป็น ตัวนี้ก็

580
00:49:07,691 --> 00:49:11,252
ทั้งแถว เดี๋ยวเรามาดูตัวอย่างกันนะคะ นะคะ โดยคำสั่ง ก็คือให้

581
00:49:11,252 --> 00:49:15,252
เลือกกำจัดชื่อซ้ำ ชื่อที่ซ้ำ

582
00:49:20,939 --> 00:49:24,939
นะคะ จากตาราง STUDENT

583
00:49:30,139 --> 00:49:34,139
ในช่องชื่อนะคะ ดูเฉพาะชื่อนะ อันไหนชื่อซ้ำ

584
00:49:36,948 --> 00:49:39,363
มีซ้ำ 1 คน ก็คือชื่อแดง เพราะฉะนั้น เป็นอะไร

585
00:49:39,363 --> 00:49:43,363

586
00:49:44,702 --> 00:49:48,702
การแสดงผลก็จะมีแค่ 3 ชื่อที่เหลือ

587
00:49:54,634 --> 00:49:58,532
เราจะตัดให้เหลือแค่ 1 แดงเท่านั้นนะคะ ข้อมูลอย่างอื่นเราไม่สนใจ

588
00:49:58,532 --> 00:50:02,532
มันแค่อยากรู้ว่าคนที่ชื่อซ้ำกันนี่ ตัดชื่อออก

589
00:50:03,207 --> 00:50:04,330
นะคะ อันนี้คือคำสั่งกับ

590
00:50:04,330 --> 00:50:05,650
ให้ตัดข้อมูลทิ้งทั้งแถว

591
00:50:05,650 --> 00:50:09,650
นะคะ อย่างในตอนนี้

592
00:50:14,387 --> 00:50:17,791
ถ้ามันซ้ำกันจริง ๆ ถ้านักศึกษาสังเกตกันดี ๆ

593
00:50:17,791 --> 00:50:21,791
คนชื่อแดงซ้ำกันก็จริงนะคะ แต่นามสกุ

594
00:50:27,147 --> 00:50:29,517
ลไม่ซ้ำกัน แต่จะมีอันนี้ซ้ำทั้งชื่อ ทั้งนามสกุล ถ้าใช้คำสั่งนี้

595
00:50:29,517 --> 00:50:31,693
นะคะ มันจะตัดข้อมูลที่ซ้ำกัน

596
00:50:31,693 --> 00:50:35,693
ทั้งแถวออก

597
00:50:37,298 --> 00:50:40,277
นะคะ อันนี้ก็คือเดี๋ยวเราไปดู

598
00:50:40,277 --> 00:50:44,277
ในโปรแกรมจริง ๆ ดีกว่านะคะ เพราะว่าอันนี้ตัวอย่าง

599
00:50:45,486 --> 00:50:49,486
มันอาจจะยังดูเห็นภาพไม่ชัด มันยังดูน้อยไป

600
00:50:49,824 --> 00:50:53,824
เดี๋ยวอาทิตย์หน้าเราได้ทำของจริงนี่ เราจะทำ

601
00:50:58,588 --> 00:51:02,588
เยอะกว่านี้นะคะ ต่อมาจะเป็นการเรียงลำดับข้อมูลนะคะ

602
00:51:03,197 --> 00:51:04,446
ก็จะใช้คำสั่ง ORDER BY นะคะ

603
00:51:04,446 --> 00:51:08,446
ก็คือการเรียงลำดับนะคะ ก็คือ

604
00:51:09,577 --> 00:51:13,577
ให้แสดงผลข้อมูลทั้งหมดจากตาราง Books

605
00:51:15,059 --> 00:51:17,997
โดยให้เรียงลำดับตามราคา ถ้าเรา

606
00:51:17,997 --> 00:51:21,997
ไม่สั่งเพิ่มเติม มันจะเป็นการเรียงจากน้อยไปหามาก

607
00:51:23,631 --> 00:51:27,631
นะคะ คำสั่งนี้ ก็คือ

608
00:51:28,828 --> 00:51:32,828
ORDER BY PRICE ก็คือให้เรียงลำดับจา

609
00:51:35,741 --> 00:51:37,445
กน้อยไปหามาก ก็จะเรียงลำดับใหม่ เรียง

610
00:51:37,445 --> 00:51:41,445
ตามลำดับที่เราสั่ง แต่ถ้าเราอยากเรียงจากมากไปหาน้อย เราจะต้องระบุเพิ่มด้วยว่า

611
00:51:47,746 --> 00:51:51,190
ตรงนี้นะคะ มันจะหมายถึงว่าให้เราเรียงลำดับตามราคาก็จริง แต่ให้เรียงจากราคามาก

612
00:51:51,190 --> 00:51:53,711
ไปหาราคาน้อยนะคะ ต้องบอกด้วย

613
00:51:53,711 --> 00:51:57,711
เหมือนเวลาเราใช้เว็บฯ ในการซื้อของออนไ

614
00:52:03,750 --> 00:52:07,750
ลน์ไส้ในของโปรแกรม ก็คือคำสั่งที่เรา

615
00:52:07,752 --> 00:52:11,752
วันนี้นะคะ นักศึกษาจะได้เข้าใจ เพราะต่อไปเราจะไม่เป็นแค่ผู้ใช้งานแล้ว เราอาจจะได้เป็นผู้ดูแล

616
00:52:13,444 --> 00:52:15,536
ระบบด้วยนะ

617
00:52:15,536 --> 00:52:19,536
กลับมาก็จะมีฟังก์ชัน กับการคำนวณทางคณิตศาสตร์

618
00:52:23,648 --> 00:52:26,240
ที่เกิดขึ้นในการจัดการฐานข้อมูลด้วย อาจจะเป็นฟังก์ชันสำหรับการบวก การนับ การหาค่าเฉลี่ย

619
00:52:26,240 --> 00:52:30,240
นะคะ ไอ้ AVG ตัวนี้ มันย่อมาจาก Average

620
00:52:35,760 --> 00:52:37,800
ก็คือการหาค่าเฉลี่ยนะคะ หาค่ามากที่สุด อันนี้เป็นคณิตศาสตร์อย่างง่าย

621
00:52:37,800 --> 00:52:40,439
ก็ต้องเอามาใช้ด้วยนะคะ อย่าง

622
00:52:40,439 --> 00:52:44,439
เช่น ให้รวม

623
00:52:45,865 --> 00:52:49,865
ราคาทั้งหมด

624
00:52:50,590 --> 00:52:54,590
แล้วให้ตั้งชื่อคอลัมน์ใหม่ ชื่อว่า

625
00:52:54,611 --> 00:52:58,256
SUM PRICE ตัวนี้นะคะ ให้

626
00:52:58,256 --> 00:53:02,256
รวมราคาทั้งหมดใส่ในคอลัมน์ใหม่

627
00:53:07,577 --> 00:53:08,949
นะคะ Field ใหม่จากตาราง Books

628
00:53:08,949 --> 00:53:11,993
เพราะฉะนั้น ผลลัพธ์จากคำสั่งนี้ ก็คือเอายอดหนังสือ

629
00:53:11,993 --> 00:53:15,993
ทั้งหมดมาบวกกัน ให้ได้ผลลัพธ์ตัวนี้นะคะ ก็ไม่ยาก ถ้าเราจำคำสั่งได้

630
00:53:23,790 --> 00:53:24,343
ไม่ยากเลย มีบวกแล้วก็ต้องมีนับ ให้

631
00:53:24,343 --> 00:53:27,374
นับจำนวน

632
00:53:27,374 --> 00:53:31,374
จากรหัสหนังสือทั้งหมด

633
00:53:33,753 --> 00:53:36,501
จากตาราง Books โดยให้ชื่อ

634
00:53:36,501 --> 00:53:40,501
คอลัมน์ใหม่ชื่อว่า  COUNTBOOK

635
00:53:41,775 --> 00:53:45,775
ก็คือให้นับจำนวน BOOKID ก็คือหนังสือทั้งหมด

636
00:53:47,627 --> 00:53:51,627
มีกี่เล่มมันก็นับมาได้ 7 เล่ม อันนี้

637
00:53:54,697 --> 00:53:58,370
คือมันง่าย มันมอง เรามองดูด้วยสายตาเราก็รู้ แต่ถ้าข้อมูลมันเยอะกว่านี้ล่ะ

638
00:53:58,370 --> 00:54:02,370
แล้วคุณจะรู้ได้อย่างไรตอนนี้มันมีหนังสือกี่เล่ม เช่น สมมติ

639
00:54:04,427 --> 00:54:08,427
ให้คุณดูแลระบบจัดการห้องสมุดมหาวิทยาลัย

640
00:54:11,007 --> 00:54:15,007
มันไม่สามารถยืนดูที่หน้าประตู และบอก

641
00:54:15,576 --> 00:54:19,576
ใช่ไหมคะ มันก็ต้องบวกจากฐานข้อมูล แล้วสมมติว่าเราไปฝึกงาน แล้วมีเจ้าหน้าที่ถามว่า

642
00:54:22,487 --> 00:54:26,487
ให้เด็กฝึกงานไปดูสิว่ามีหนังสือกี่เล่ม มัน

643
00:54:27,327 --> 00:54:29,410
ไม่ใช่ เราสามารถสั่งได้จาก

644
00:54:29,410 --> 00:54:30,992
ฐานข้อมูลเลย ว่าวันนี้ในห้องสมุดมีหนังสือ

645
00:54:30,992 --> 00:54:34,992
กี่เล่มนะคะ  หรือในอนาคตคุณต้องได้ฝึกงานแน่นอน

646
00:54:43,816 --> 00:54:44,231
หรือเขาจะบอกว่าเด็กฝึกงานไปนับสิของในโกดัง

647
00:54:44,231 --> 00:54:44,931
มีกี่ชิ้น คุณจะไปนั่งนับหรือ

648
00:54:44,931 --> 00:54:48,931
นะคะ มันก็สามารถมีวิธีการสั่งจากฐานข้อมูลนี่ล่ะ

649
00:54:51,787 --> 00:54:55,787
นับดูสิว่าสรุปสินค้าเรามีกี่อย่าง คุณจะไปน

650
00:54:59,817 --> 00:55:02,323
ั่งนับมันไม่ได้หรอกค่ะ ในชีวิตจริงนะคะ คำสั่งนี้ก็ค่อนข้าง

651
00:55:02,323 --> 00:55:06,323
จำเป็นนะคะ สำหรับใช้ในการฝึกงาน หรือทำงานในอนาคตนะ

652
00:55:06,921 --> 00:55:10,921
หรือการหาค่าเฉลี่ย

653
00:55:12,473 --> 00:55:13,756
นะคะ ก็จะเป็นการหาค่าเฉลี่ย

654
00:55:13,756 --> 00:55:17,756
ของราคา ของสินค้าทั้งหมด โดยให้ตั้งชื่อคอลัมน์ใหม่ ชื่อว่า

655
00:55:20,446 --> 00:55:24,446
AVG PRICE หรือ AVERAGE

656
00:55:25,455 --> 00:55:29,314
PRICE แสดงว่าหนังสือ 7 เล่มนี้ มีค่าเฉลี่ย

657
00:55:29,314 --> 00:55:33,314
ต่อเล่มประมาณ 62.14 ตรงนี้

658
00:55:35,782 --> 00:55:39,782
สมมติว่ามีใครต้องการข้อมูลจากเรา เราก็สามารถให้เขาดูได้ ต่อมาเขาถามว่าราคาหนังสือที่ถูกที่สุดในร้านเท่าไร

659
00:55:47,836 --> 00:55:51,836
คุณจะไปเดินหาก็ไม่ใช่ เราแค่สั่งให้ฐานข้อมูลมันแสดงผลสิว่า ราคาสินค้าที่ถูกที่สุด

660
00:55:55,271 --> 00:55:59,271
นะคะ โดยที่ให้กำหนดใส่ในคอลัมน์ใหม่ ราคาที่ถูกที่สุดตอนนี้ ถ้าเรามองด้วยสายตา เราก็ทราบ

661
00:56:03,844 --> 00:56:06,630
ว่า 150 แต่อย่างที่อาจารย์บอกถ้าสินค้าเรามีเป็นหมื่น เป็นแสนชิ้น คุณจะมานั่งไล่ดู

662
00:56:06,630 --> 00:56:07,618
เสียเวลาค่ะ ฐานข้อมูลจัดการได้

663
00:56:07,618 --> 00:56:11,618
ให้มันค้นหาให้คุณเลย ไม่เกิน 1 นาที รู้แน่นอน

664
00:56:17,633 --> 00:56:21,633
หาราคาน้อยที่สุดแล้ว อันนี้ก็เป็น MAXPRICE นะคะ

665
00:56:27,000 --> 00:56:31,000
ก็ดูราคามากที่สุดได้เช่นเดียวกัน ต่อมาเป็นการรวมกลุ่มข้อมูลนะคะ

666
00:56:33,802 --> 00:56:37,802
เป็นการรวมตามเงื่อนไข ในเงื่อนไข ตัวอย่าง ก็คือใช้คำสั่ง GROUPBY นะคะ

667
00:56:43,264 --> 00:56:47,264
รวมตามเงื่อนไข เช่น ให้ดูช่อง

668
00:56:49,536 --> 00:56:49,645
นี้นะคะ รหัสสำนักพิมพ์รวมรวมราคาออกมานะคะ

669
00:56:49,645 --> 00:56:53,645

670
00:56:57,714 --> 00:57:01,714
โดยที่ให้รวมเป็นตามเลขสำนักพิมพ์

671
00:57:07,144 --> 00:57:10,759
คำสั่ง ก็คือสำนักพิมพ์นี้ อธิบายเป็นง่าย ๆ นะคะ สำนักพิมพ์นี้มี

672
00:57:10,759 --> 00:57:11,994
หนังสือกี่เล่ม รวมแล้วมูลค่าเท่าไร

673
00:57:11,994 --> 00:57:15,994
นะคะ อย่างเช่น สำนักพิมพ์หมายเลข 4

674
00:57:19,392 --> 00:57:23,392
มีหนังสืออยู่ 3 เล่ม มันก็จะรวมให้ว่ามูลค่าของหนังสือ

675
00:57:25,903 --> 00:57:29,356
สำนักพิมพ์นี้ เป็นราคาเท่านี้ สำนักพิมพ์

676
00:57:29,356 --> 00:57:33,356
ที่ 5 มีหนังสือกี่เล่ม ก็รวมมา

677
00:57:38,672 --> 00:57:42,672
สำนักพิมพ์ที่ 12 มี 3 เล่ม  รวมราคามาทั้งหมดได้เท่านี้ อันนี้คือคำสั่ง

678
00:57:43,420 --> 00:57:43,994
GROUP BY ก็คือจัดกลุ่มออกมานั่นเองนะคะ

679
00:57:43,994 --> 00:57:47,994
เป็นการจัดกลุ่มข้อมูล เช่น นักศึกษา

680
00:57:53,216 --> 00:57:57,216
ปี 3 ชาย รวมแล้วมีกี่คน อาจจะรวมโดยทั้งคณะ หรือทั้งมหาวิทยาลัย อันนี้แล้วแต่เรากำหนดเงื่อนไข

681
00:58:02,111 --> 00:58:06,111
นะคะ ถ้ามีเงื่อนไข นอกเหนือจากที่เรากำหนดไปแล้ว

682
00:58:09,647 --> 00:58:09,711
คือเราให้จัดกลุ่มเป็นรหัสสำนักพิมพ์

683
00:58:09,711 --> 00:58:13,711
แต่ถ้ามีคำสั่งซ้อนเงื่อนไขเข้าไปอีก ก็ใช้คำสั่ง

684
00:58:19,627 --> 00:58:23,627
HAVING ตัวนี้ ถ้าเงื่อนไขเดียวมันไม่พอนะคะ จากเมื่อกี้นี้ เราเพิ่มไปอีก

685
00:58:25,615 --> 00:58:29,615
ว่าให้เป็นรหัสสำนักงานพิมพ์ที่มีค่ามากกว่าเท่ากับ 5 มันก็จะตัดสำนักพิมพ์ที่ 5 ออกไป

686
00:58:35,905 --> 00:58:39,905
เหลือแค่ 2 สำนักพิมพ์ แล้วแต่ว่าเราจะเพิ่มเงื่อนไขอะไรอีกนะคะ เพราะว่าอย่างที่บอกมุมมองการดู การใช้งาน

687
00:58:43,899 --> 00:58:47,899
งานแต่ละคนไม่เหมือนกัน แล้วแต่ว่าเขาอยากดูข้อมูลแบบไหน อยากได้รายงาน

688
00:58:51,903 --> 00:58:55,903
นะคะ ระบบจัดการฐานข้อมูลก็สามารถจัดการได้ทั้งหมดนะคะ ต่อมาจะเป็นส่วนคำสั่งในการปรับปรุง

689
00:58:58,543 --> 00:59:02,543
ฐานข้อมูล ก็คือเป็นการเพิ่ม แก้ไข การลบข้อมูลนะคะ การเพิ่มข้อมูล เราจะใช้คำสั่ง

690
00:59:04,083 --> 00:59:05,763
INSERT INTO แล้วก็ใส่ VALUES รูปแบบคำสั่ง

691
00:59:05,763 --> 00:59:06,725
จะเป็นแบบนี้นะคะ

692
00:59:06,725 --> 00:59:09,849
เช่นตัวอย่าง

693
00:59:09,849 --> 00:59:13,849
ข้อมูลเดิม จะอยู่ด้านข้อมูลด้านซ้ายนะคะ

694
00:59:20,924 --> 00:59:24,924
คำสั่งที่เพิ่มเติม ก็คือ... อันนี้ก็คือเพิ่มเติม

695
00:59:25,469 --> 00:59:29,469
คอลัมน์นะคะ ว่าให้ใส่คอลัมน์ไหน แต่ถ้า

696
00:59:30,824 --> 00:59:34,824
เราพิมพ์แบบนี้ แสดงว่าเรารู้แล้วว่าข้อมูลที่เราจะใส่นี่ มันก็จะเรียงลำดับตามนี้นะคะ

697
00:59:35,971 --> 00:59:39,971
ถ้าคุณสลับตำแหน่งมันก็จะไม่สนใจว่าคุณใส่คอลัมน์ผิด คอลัมน์ถูก

698
00:59:43,176 --> 00:59:45,053
ไม่รู้นะคะ คำสั่งก็คือ INSERT INTO

699
00:59:45,053 --> 00:59:45,664
ตัวนี้นะคะ ให้ใส่ข้อมูลลงไปในตาราง Books

700
00:59:45,664 --> 00:59:47,202
ซึ่งมีค่าดังนี้ 1009

701
00:59:47,202 --> 00:59:51,202
SQL 520

702
00:59:52,097 --> 00:59:56,097
ผลลัพธ์ที่ได้จะมาอยู่ล่างสุด ทำไมมันใส่คอลัมน์

703
01:00:03,947 --> 01:00:07,947
ถูกต้อง เพราะคำสั่งให้ใส่ข้อมูลนี่ มันเรียงมาถูกต้องอยู่แล้ว ถ้าคุณสลับตำแหน่ง

704
01:00:11,619 --> 01:00:15,619
ผิด ใส่ 520 มาอยู่ตรงนี้แทน มันก็จะกลายเป็น books id

705
01:00:19,956 --> 01:00:20,684
นะคะ แต่อันนี้ที่มันใส่ถูกเพราะว่าเราเรียงลำดับตามคอลัมน์ถูกต้องแค่นั้นเอง ต่อมา

706
01:00:20,684 --> 01:00:24,435
เพื่อความชัวร์ เราอาจจะระบุ

707
01:00:24,435 --> 01:00:28,435
ชื่อคอลัมน์ไปด้วยก็ได้ว่าข้อมูล 1010 นี่

708
01:00:35,270 --> 01:00:38,922
ให้อยู่ใน BookID นะ

709
01:00:38,922 --> 01:00:40,470
รหัสสำนักพิมพ์ คือ 5 ราคา คือ 250 ข้อมูลจะมาต่อท้ายด้านล่างแบบนี้ อันนี้

710
01:00:40,470 --> 01:00:44,470
เพื่อป้องกันว่าเราจะใส่ข้อมูลผิดคอลัมน์หรือเป

711
01:00:51,969 --> 01:00:53,949
ล่า อันนี้คือการเพิ่มข้อมูลนะคะ ง่ายมาก คำสั่งมีแค่นี้เอง INSERT INTO สำหรับการเพิ่มข้อมูล

712
01:00:53,949 --> 01:00:57,252
ต่อมาจะเป็นคำสั่งในการปรับปรุง

713
01:00:57,252 --> 01:01:01,252
ข้อมุล หรือแก้ไขข้อมูลนะคะ

714
01:01:03,190 --> 01:01:06,064
จะใช้คำสั่ง UPDATE SET

715
01:01:06,064 --> 01:01:09,631
ถ้ามีเงื่อนไข ก็สามารถใส่เงื่อนไขเพิ่มได้นะคะ

716
01:01:09,631 --> 01:01:13,631
รูปแบบคำสั่ง UPDATE ก็คือปรับปรุงข้อมูล

717
01:01:18,798 --> 01:01:22,798

718
01:01:23,974 --> 01:01:27,974
ตามตาราง BOOK ให้ราคาทั้งหมดบวกเพิ่มเข้าไปอีก 50 บาท พอพิมพ์ตัวนี้ปุ๊บ

719
01:01:30,132 --> 01:01:34,132
ราคาหนังสือจะเพิ่มขึ้นจากเดิม 50 บาททุกเล่ม

720
01:01:39,793 --> 01:01:43,793
เหมือนตัวนี้ค่ะ จากเดิมตัวนี้ไม่มีราคาหนังสือ ก็จะมีแล้ว 50 บาท อันนี้คือง่ายมากค่ะ ถ้าสมมติข้อมูลเรามี

721
01:01:49,478 --> 01:01:53,478
แค่นี้เรานั่งพิมพ์ทีละอันก็ได้ค่ะ แต่ถ้า

722
01:01:55,983 --> 01:01:59,983
เป็นร้านขายของที่มีของประมาณหมื่นชิ้น แล้วเขาบอกว่าเศรษฐกิจไม่ดี ขอขึ้นราคา แล้วคุณมานั่งพิมพ์ใหม่ทุกอัน

723
01:02:02,700 --> 01:02:06,700
ทุกอัน เมื่อไหร่จะเสร็จ เพิ่มขึ้นชั้นละ 10 บาท มีของอยู่ 100,000

724
01:02:11,986 --> 01:02:15,986
นั่งพิมพ์ไปแสนครั้ง  แต่ถ้าเรารู้จักคำสั่งในระบบจัดการฐานข้อมูล เราพิมพ์แค่ 2 บรรทัด ทุกอย่างเสร็จหมดเลย

725
01:02:19,898 --> 01:02:23,898
นะคะ นี่คือการปรับปรุงฐานข้อมุล อันนี้คือประโยชน์ของฐานข้อมูล

726
01:02:27,993 --> 01:02:31,993
นะคะ เพราะว่าถ้าเราไม่มีคำสั่งเหล่านี้นี่ บางที่เราต้องมานั่งพิมพ์ใหม่นี่ เหนื่อยมาก ๆ

727
01:02:33,594 --> 01:02:37,594
อันนี้คือประโยชน์ ถ้าเรารู้คำสั่งนะคะ ถ้ามีเงื่อนไขเพิ่มเติม

728
01:02:38,021 --> 01:02:42,021
เงื่อนไขเพิ่มเติมนะคะ ให้ปรับปรุง

729
01:02:42,202 --> 01:02:46,202
ตาราง Books โดยที่เงื่อนไข คือ

730
01:02:47,488 --> 01:02:49,631
ตอนนี้เศรษฐกิจมันดีแล้วของมันถูก ให้ลดราคาสินค้าลง

731
01:02:49,631 --> 01:02:53,631
50 บาท เฉพาะรหัสสำนักพิมพ์

732
01:03:00,001 --> 01:03:02,409
12 เท่านั้น เฉพาะบางบริษัทก็ว่าไป อย่างเช่น วันนี้

733
01:03:02,409 --> 01:03:06,409
สินค้าราคาลงเฉพาะบริษัทนี้  เราก็สามารถเปลี่ยนแปลงราคาลงได้

734
01:03:07,160 --> 01:03:11,160
พิมพ์เพิ่มอีกบรรทัดหนึ่งนะคะ ถามว่า

735
01:03:12,244 --> 01:03:15,092
แล้วสินค้าในบริษัทอื่นจะเปลี่ยนไหม

736
01:03:15,092 --> 01:03:19,092
ไม่เปลี่ยนนะคะ เพราะเรากำหนดเงื่อนไขว่า เฉพาะสำนักพิมพ์

737
01:03:23,795 --> 01:03:27,795
12 เท่านั้นที่ลดราคาลง 10 บาท ตัวนี้นะคะ คำสั่งลบก็ง่าย ๆ ค่ะ

738
01:03:28,110 --> 01:03:32,110
DELETE FROM ก็ตามนี้เลยนะคะ

739
01:03:32,299 --> 01:03:36,299
ให้ลบข้อมูลจากตาราง BOOK โดยมีเงื่อนไข

740
01:03:38,481 --> 01:03:42,481
คือให้ลบเฉพาะ BookID ที่มี

741
01:03:48,016 --> 01:03:50,381
ค่าจากเดิมจะมีตัวนี้ เราก็จะลบออก ผลลัพธ์ที่ได้ก็จะเป็น

742
01:03:50,381 --> 01:03:53,545
อันนี้ คือ คำสั่งอย่างง่ายที่เราจะเรียนในสัปดาห์หน้านะคะ เดี๋ยว

743
01:03:53,545 --> 01:03:57,545
อาทิตย์หน้าอาจารย์จะเตรียมข้อมูลมา ให้นักศึกษา

744
01:04:04,021 --> 01:04:07,581
ใส่ฐานข้อมูลเอง พิมพ์เองนะคะ ตั้งค่าคีย์หลักเอง กรอกข้อมูลเอง

745
01:04:07,581 --> 01:04:09,591
ทั้งหมด ลองเพิ่ม-ลบข้อมูล ลองดึงข้อมูล

746
01:04:09,591 --> 01:04:13,591
เป็นรายงานออกมาด้วยตัวเองนะคะ สัปดาห์

747
01:04:17,533 --> 01:04:19,198
นี้จะให้ลองกลับไปทบทวนว่าคำสั่งที่จะใช้

748
01:04:19,198 --> 01:04:23,198
SELECT FROM DELETE FROM

749
01:04:26,529 --> 01:04:30,529
INSERT INTO มันจะเป็นอย่างไรบ้างนะคะ อาทิตย์หน้าวอร์ม

750
01:04:36,027 --> 01:04:40,027
มาให้พร้อม เพราะว่าเราต้องพิมพ์เอง เครื่องใครเครื่องมันนะคะ ใครพิมพ์ภาษาอังกฤษ

751
01:04:42,109 --> 01:04:42,265
ไม่ค่อยคล่อง ก็จะได้คล่องนี่ล่ะอาทิตย์หน้า

752
01:04:42,265 --> 01:04:46,265
หัดพิมพ์บ่อย ๆ เพราะว่าการพิมพ์คำสั่ง SQL

753
01:04:52,034 --> 01:04:55,555
คำสั่ง SQL ง่ายที่สุดแล้ว ในการเขียนโปรแกรมนะคะ อาทิตย์นี้ก็จะประมาณนี้นะคะ  เดี๋ยวเรา

754
01:04:55,555 --> 01:04:56,047
อาทิตย์หน้าก็มาให้เร็วหน่อย เพราะเราจะ

755
01:04:56,047 --> 01:05:00,047
เป็นปฏิบัตินะคะ ก็ขอบคุณล่าม

756
01:05:05,499 --> 01:05:09,499
ขอบคุณถอดความนะคะ วันนี้ก็ประมาณนี้ค่ะ โอเคค่ะ ขอบคุณมากนะคะ

757
01:05:21,149 --> 01:05:55,706
[สิ้นสุดการถอดความ]

758
01:05:08,749 --> 01:05:09,398

759
01:05:09,398 --> 01:05:13,398

760
01:05:24,044 --> 01:05:28,044

761
01:05:32,051 --> 01:05:36,051

762
01:05:40,052 --> 01:05:44,052

763
01:05:44,054 --> 01:05:48,054

764
01:05:48,055 --> 01:05:48,358

765
01:05:48,358 --> 01:05:52,358

766
01:05:56,062 --> 01:06:00,062


