﻿1
00:00:04,015 --> 00:00:04,015

2
00:00:04,015 --> 00:00:04,015

3
00:00:04,015 --> 00:00:07,917

4
00:00:07,917 --> 00:00:08,127

5
00:00:08,127 --> 00:00:08,447

6
00:00:08,447 --> 00:00:08,649

7
00:00:08,649 --> 00:00:09,148

8
00:00:09,148 --> 00:00:09,659

9
00:00:09,659 --> 00:00:13,130

10
00:00:13,130 --> 00:00:13,253

11
00:00:13,253 --> 00:00:13,640

12
00:00:13,640 --> 00:00:13,892

13
00:00:13,892 --> 00:00:14,971

14
00:00:14,971 --> 00:00:17,734

15
00:00:17,734 --> 00:00:20,498

16
00:00:20,498 --> 00:00:21,448

17
00:00:21,448 --> 00:00:22,219

18
00:00:22,219 --> 00:00:23,760

19
00:00:23,760 --> 00:00:23,950

20
00:00:23,950 --> 00:00:24,851

21
00:00:24,851 --> 00:00:25,422

22
00:00:25,422 --> 00:00:25,682

23
00:00:25,682 --> 00:00:26,833

24
00:00:26,833 --> 00:00:27,533

25
00:00:27,533 --> 00:00:28,434

26
00:00:28,434 --> 00:00:29,096

27
00:00:29,096 --> 00:00:30,887

28
00:00:30,887 --> 00:00:31,788

29
00:00:31,788 --> 00:00:32,489

30
00:00:32,489 --> 00:00:32,808

31
00:00:32,808 --> 00:00:33,768

32
00:00:33,768 --> 00:00:34,080

33
00:00:34,080 --> 00:00:34,270

34
00:00:34,270 --> 00:00:34,912

35
00:00:34,912 --> 00:00:35,426

36
00:00:35,426 --> 00:00:35,743

37
00:00:35,743 --> 00:00:36,512

38
00:00:36,512 --> 00:00:37,297

39
00:00:37,297 --> 00:00:38,125

40
00:00:38,125 --> 00:00:38,387

41
00:00:38,387 --> 00:00:39,468

42
00:00:39,468 --> 00:00:40,557

43
00:00:40,557 --> 00:00:41,137

44
00:00:41,137 --> 00:00:43,380

45
00:00:43,380 --> 00:00:47,233

46
00:00:47,233 --> 00:00:47,422

47
00:00:47,422 --> 00:00:47,804

48
00:00:47,804 --> 00:00:48,764

49
00:00:48,764 --> 00:00:49,343

50
00:00:49,343 --> 00:00:53,058
(อาจารย์เกวลี)  โอเคค่ะ

51
00:00:53,058 --> 00:00:54,726

52
00:00:54,726 --> 00:00:57,677
เดี๋ยวเริ่มเลยละกันนะคะ บทนี้จะเป็นบทที่ 7

53
00:00:57,677 --> 00:00:58,832

54
00:00:58,832 --> 00:01:00,107
หลังปีใหม่ สไลด์จะไม่เยอะ

55
00:01:00,107 --> 00:01:01,778
นะคะ นิดเดียว

56
00:01:01,778 --> 00:01:03,509
แล้วก็วันนี้

57
00:01:03,509 --> 00:01:04,919
ไม่มีการบ้าน

58
00:01:04,919 --> 00:01:07,031
มีการบ้าน

59
00:01:07,031 --> 00:01:11,031
เฉพาะอาทิตย์นี้เท่านั้นนะคะถึงให้ปีใหม่

60
00:01:14,651 --> 00:01:18,651
บทนี้นะคะ จะเป็นเกี่ยวกับพีชคณิตเชิงสัมพันธ์ ก็จะเป็นกระบวนการ

61
00:01:21,008 --> 00:01:22,609
โดยใช้

62
00:01:22,609 --> 00:01:24,010
คณิตศาสตร์

63
00:01:24,010 --> 00:01:24,331

64
00:01:24,331 --> 00:01:25,492
อย่างง่าย

65
00:01:25,492 --> 00:01:29,492
นะคะ ที่เอามาเป็นตัวกระทำในการจัดการฐานข้อมูลของเราด้วย

66
00:01:31,066 --> 00:01:31,327

67
00:01:31,327 --> 00:01:31,517

68
00:01:31,517 --> 00:01:34,729
โดยพีชคณิตเชิงสัมพันธ์

69
00:01:34,729 --> 00:01:38,181
นะคะ หรือว่าเป็นเกี่ยวกับโครงสร้างในการ

70
00:01:38,181 --> 00:01:39,981
Query ข้อมูล คือการ

71
00:01:39,981 --> 00:01:40,172

72
00:01:40,172 --> 00:01:40,943

73
00:01:40,943 --> 00:01:42,804
การข้อมูลของเรา

74
00:01:42,804 --> 00:01:43,825

75
00:01:43,825 --> 00:01:47,825
จะเป็นการจัดการข้อมูลของเรา จะเป็นกระทำที่เกิดขึ้นกับตารางหรือความสัมพันธ์

76
00:01:48,056 --> 00:01:48,945

77
00:01:48,945 --> 00:01:50,880
ที่เราสร้างตารางใหม่

78
00:01:50,880 --> 00:01:51,908

79
00:01:51,908 --> 00:01:52,228

80
00:01:52,228 --> 00:01:56,228
นะคะ มันจะเป็นแบบจำลองของการกระทำต่างๆที่อาจจะเกิดขึ้น

81
00:01:56,713 --> 00:01:59,085
ข้อมูลในฐานข้อมูลของเรา

82
00:01:59,085 --> 00:01:59,795

83
00:01:59,795 --> 00:02:02,100
นะคะ ซึ่งส่วนมากจะเป็นการกระทำพื้นฐาน

84
00:02:02,100 --> 00:02:02,927
นะคะ

85
00:02:02,927 --> 00:02:03,378

86
00:02:03,378 --> 00:02:06,774
โดยมันจะมีอยู่ 2 กลุ่ม คือ แบบดั้งเดิม

87
00:02:06,774 --> 00:02:08,250
กับแบบพิเศษ

88
00:02:08,250 --> 00:02:10,362
จะเป็นอย่างละ 4 ตัว

89
00:02:10,362 --> 00:02:12,605

90
00:02:12,605 --> 00:02:13,186

91
00:02:13,186 --> 00:02:13,377

92
00:02:13,377 --> 00:02:14,657

93
00:02:14,657 --> 00:02:18,657
นะคะ แบบดั้งเดิม ก่อนนะคะ ภาษาอังกฤษ ก็คือ Traditional

94
00:02:19,663 --> 00:02:23,663
นะคะก็จะเป็นการกระทำที่เกิดขึ้นกับตาราง หรือความสัมพันธ์ โดยอาศัยทฤษฎีของเซต

95
00:02:27,867 --> 00:02:31,141
ซึ่งเราเคยเรียนเซตมาแล้วในวิชาคณิตศาสตร์

96
00:02:31,141 --> 00:02:31,911

97
00:02:31,911 --> 00:02:32,303

98
00:02:32,303 --> 00:02:35,184
นะคะ โดยที่ตารางหรือความสัมพันธ์ที่เกิดขึ้น

99
00:02:35,184 --> 00:02:37,487
นี่ จะมีการกระทำ

100
00:02:37,487 --> 00:02:41,487
นะคะ จะต้องมี Attribute คือในตารางจะต้องมีข้อมูลเกิดขึ้น

101
00:02:42,621 --> 00:02:43,510

102
00:02:43,510 --> 00:02:47,510
เช่นตารางนักศึกษา ก็จะมี Attribute หรือว่าข้อมูลที่เรามีก็คือ

103
00:02:47,873 --> 00:02:48,073

104
00:02:48,073 --> 00:02:50,636
ชื่อนามสกุลเป็นต้น

105
00:02:50,636 --> 00:02:51,597

106
00:02:51,597 --> 00:02:52,678

107
00:02:52,678 --> 00:02:56,340
นะคะ การกระทำของกลุ่มที่เป็นแบบดั้งเดิม

108
00:02:56,340 --> 00:02:58,002
นะคะ จะมีอยู่ 4 อย่าง

109
00:02:58,002 --> 00:03:01,845
มี product มี Union Intersection  อินเตอร์เซคแล้วก็มีประเด็น

110
00:03:01,845 --> 00:03:03,707
วันนี้จะต้องเป็นภาษาอังกฤษ

111
00:03:03,707 --> 00:03:04,676

112
00:03:04,676 --> 00:03:06,277
เพราะว่าคำสั่ง

113
00:03:06,277 --> 00:03:08,257
ในระบบจัดการฐานข้อมูล

114
00:03:08,257 --> 00:03:08,518

115
00:03:08,518 --> 00:03:08,898

116
00:03:08,898 --> 00:03:12,359
ก็จะเป็นภาษาอังกฤษประมาณนี้นะคะ

117
00:03:12,359 --> 00:03:12,750

118
00:03:12,750 --> 00:03:13,773

119
00:03:13,773 --> 00:03:14,162

120
00:03:14,162 --> 00:03:14,353

121
00:03:14,353 --> 00:03:14,543

122
00:03:14,543 --> 00:03:14,933

123
00:03:14,933 --> 00:03:15,576

124
00:03:15,576 --> 00:03:15,765

125
00:03:15,765 --> 00:03:15,955

126
00:03:15,955 --> 00:03:16,086

127
00:03:16,086 --> 00:03:16,336

128
00:03:16,336 --> 00:03:16,656

129
00:03:16,656 --> 00:03:17,177

130
00:03:17,177 --> 00:03:18,137

131
00:03:18,137 --> 00:03:20,960
อันแรก Product นะคะ

132
00:03:20,960 --> 00:03:21,544

133
00:03:21,544 --> 00:03:25,544
เป็นการกระทำที่ให้มันแสดงข้อมูลทุกๆบรรทัด

134
00:03:26,347 --> 00:03:28,707
หรือทุกๆ Record ที่เรามี

135
00:03:28,707 --> 00:03:32,632
ที่สามารถเป็นไปได้โดยการจับคู่

136
00:03:32,632 --> 00:03:34,872
แบบผลคูณ

137
00:03:34,872 --> 00:03:37,243
นี่ก็เป็นคณิตศาสตร์อย่างง่าย

138
00:03:37,243 --> 00:03:41,243
คำสั่งของภาษาที่ใช้ในการจัดการฐานข้อมูลจะใช้คำว่า Time

139
00:03:42,434 --> 00:03:44,357
cimbs

140
00:03:44,357 --> 00:03:44,867

141
00:03:44,867 --> 00:03:45,638

142
00:03:45,638 --> 00:03:47,499
รูปแบบของมันก็คือ

143
00:03:47,499 --> 00:03:51,499
ในกรอบสี่เหลี่ยมนะคะก็คือเอา a กับบb มันมา

144
00:03:53,201 --> 00:03:55,064
x กัน

145
00:03:55,064 --> 00:03:56,792
เดี๋ยวจะมีตัวอย่างให้ดู

146
00:03:56,792 --> 00:03:57,173

147
00:03:57,173 --> 00:03:57,304

148
00:03:57,304 --> 00:03:57,884

149
00:03:57,884 --> 00:04:00,957
อย่างเช่นตัวอย่างนะคะ

150
00:04:00,957 --> 00:04:01,466

151
00:04:01,466 --> 00:04:02,177

152
00:04:02,177 --> 00:04:03,589
เดี๋ยวอาจารย์เขียนให้ดูก่อน

153
00:04:03,589 --> 00:04:04,488
เมื่อกี้

154
00:04:04,488 --> 00:04:06,280
a กับ

155
00:04:06,280 --> 00:04:07,051

156
00:04:07,051 --> 00:04:08,260
b นี่

157
00:04:08,260 --> 00:04:12,260
ถ้าคำสั่ง product หรือคำสั่งค่าในฐานข้อมูลในระบบจัดการฐานข้อมูลใช้คำสั่ง Time

158
00:04:15,252 --> 00:04:15,633

159
00:04:15,633 --> 00:04:17,613
ก็คือเอาทุกตัว

160
00:04:17,613 --> 00:04:17,743

161
00:04:17,743 --> 00:04:19,937
เป็นไปได้มาคูณกัน

162
00:04:19,937 --> 00:04:20,316

163
00:04:20,316 --> 00:04:20,698

164
00:04:20,698 --> 00:04:23,138
a x x a x y ใช่ไหมคะ

165
00:04:23,138 --> 00:04:23,329

166
00:04:23,329 --> 00:04:24,540

167
00:04:24,540 --> 00:04:24,929

168
00:04:24,929 --> 00:04:25,312

169
00:04:25,312 --> 00:04:28,974
b x x b x y B x b y

170
00:04:28,974 --> 00:04:29,675

171
00:04:29,675 --> 00:04:29,864

172
00:04:29,864 --> 00:04:30,768

173
00:04:30,768 --> 00:04:33,138
fzy

174
00:04:33,138 --> 00:04:33,587

175
00:04:33,587 --> 00:04:35,638
คำสั่งนี้จริงๆ

176
00:04:35,638 --> 00:04:35,832

177
00:04:35,832 --> 00:04:39,160
จับคู่ทุกตัวที่เป็นไปได้

178
00:04:39,160 --> 00:04:39,742

179
00:04:39,742 --> 00:04:40,383

180
00:04:40,383 --> 00:04:41,663

181
00:04:41,663 --> 00:04:41,853

182
00:04:41,853 --> 00:04:41,984

183
00:04:41,984 --> 00:04:42,115

184
00:04:42,115 --> 00:04:42,304

185
00:04:42,304 --> 00:04:43,335
นะคะ

186
00:04:43,335 --> 00:04:43,464

187
00:04:43,464 --> 00:04:43,915

188
00:04:43,915 --> 00:04:46,086
อันนี้จะยังง่ายอยู่

189
00:04:46,086 --> 00:04:46,538

190
00:04:46,538 --> 00:04:47,048

191
00:04:47,048 --> 00:04:48,722
ยังอีก

192
00:04:48,722 --> 00:04:52,722
เหมือนในตัวอย่างค่ะมีตาราง A

193
00:04:53,200 --> 00:04:53,330

194
00:04:53,330 --> 00:04:53,971

195
00:04:53,971 --> 00:04:54,162

196
00:04:54,162 --> 00:04:55,892
มีตาราง B นะคะ

197
00:04:55,892 --> 00:04:56,664

198
00:04:56,664 --> 00:04:57,365

199
00:04:57,365 --> 00:04:59,225
สั่งให้มัน

200
00:04:59,225 --> 00:05:02,176
คูณกัน ก็คือเป็น a time B

201
00:05:02,176 --> 00:05:02,308

202
00:05:02,308 --> 00:05:03,908
ผลลัพธ์ที่ได้

203
00:05:03,908 --> 00:05:07,908
ก็จะเป็นทุกตัวที่ a กับ B มันสามารถจับคู่กันได้

204
00:05:08,461 --> 00:05:08,974

205
00:05:08,974 --> 00:05:09,293

206
00:05:09,293 --> 00:05:11,094

207
00:05:11,094 --> 00:05:11,285

208
00:05:11,285 --> 00:05:11,475

209
00:05:11,475 --> 00:05:13,334
คำสั่งนี้จริงๆ

210
00:05:13,334 --> 00:05:14,357

211
00:05:14,357 --> 00:05:18,357
คือ 3 * 3 ได้ 9 ต้องได้ 9 Records 9 แถวนั่นเอง

212
00:05:18,719 --> 00:05:18,909

213
00:05:18,909 --> 00:05:19,361

214
00:05:19,361 --> 00:05:21,222
นะคะ ถ้าจะเช็

215
00:05:21,222 --> 00:05:21,345

216
00:05:21,345 --> 00:05:24,365
ก ในข้อสอบก็มีออกนะนะคะ

217
00:05:24,365 --> 00:05:25,517
ยังๆอยู่

218
00:05:25,517 --> 00:05:25,835

219
00:05:25,835 --> 00:05:27,118

220
00:05:27,118 --> 00:05:28,468

221
00:05:28,468 --> 00:05:31,670
การ Union อันนี้ก็เป็นทฤษฎีเซตเหมือน กัน

222
00:05:31,670 --> 00:05:35,670
ก็จะเป็นการรวมกันของข้อมูล 2 ตารางห รือว่า 2 รีเลชัน

223
00:05:36,034 --> 00:05:36,863

224
00:05:36,863 --> 00:05:40,327
นะคะ เพื่อแสดงข้อมูลทุกๆเรื่องของเรื่องคือทุกๆแถว

225
00:05:40,327 --> 00:05:42,957
ในรูปแบบของ UNION ตามทฤษฎีของเซต

226
00:05:42,957 --> 00:05:43,339

227
00:05:43,339 --> 00:05:43,469

228
00:05:43,469 --> 00:05:45,200
คำสั่งก็คือ

229
00:05:45,200 --> 00:05:46,600
ยูเนี่ยนนะคะ

230
00:05:46,600 --> 00:05:49,882
a Union b คือเอา a กับ b มารวมกัน

231
00:05:49,882 --> 00:05:50,203

232
00:05:50,203 --> 00:05:51,226

233
00:05:51,226 --> 00:05:51,543

234
00:05:51,543 --> 00:05:52,184

235
00:05:52,184 --> 00:05:53,596
อย่างเช่น ตัวนี้

236
00:05:53,596 --> 00:05:56,666
มีตาราง a กับตาราง B

237
00:05:56,666 --> 00:05:57,126

238
00:05:57,126 --> 00:06:01,126
ทฤษฎีเซตของยูเนียนนะคะจะสังเกตได้ว่าข้อมูลมันมีข้อมูลซ้ำกัน

239
00:06:03,850 --> 00:06:04,042

240
00:06:04,042 --> 00:06:04,552

241
00:06:04,552 --> 00:06:04,873

242
00:06:04,873 --> 00:06:06,543
ข้อมูล อย่างข้อมูล s1

243
00:06:06,543 --> 00:06:08,464
ตาราง a ก็มี

244
00:06:08,464 --> 00:06:10,457
ตาราง ดีก็มี

245
00:06:10,457 --> 00:06:11,345

246
00:06:11,345 --> 00:06:14,177
ตามทฤษฎียูเนี่ยนนะคะ

247
00:06:14,177 --> 00:06:17,760
ถ้ามันซ้ำกันเราก็เอามาแค่ข้อมูลเดียว

248
00:06:17,760 --> 00:06:18,139

249
00:06:18,139 --> 00:06:18,781

250
00:06:18,781 --> 00:06:22,781
จะเห็นว่าจากสี Records ก็คือสีแถวข้อมูลนะคะ

251
00:06:23,347 --> 00:06:27,347
แต่ว่าอันเนี้ยกำลังเอกก็มีแต่รังบีก็มีมันซ้ำกัน

252
00:06:27,886 --> 00:06:29,878
เราจะนับเป็นแค่ 1 ข้อมูลเท่านั้น

253
00:06:29,878 --> 00:06:30,968
นะคะ

254
00:06:30,968 --> 00:06:34,968
พอมันเอามายูเนียนกัน ข้อมูลจาก 4

255
00:06:35,320 --> 00:06:35,709

256
00:06:35,709 --> 00:06:36,469
บรรทัด

257
00:06:36,469 --> 00:06:39,621
จะเหลือแค่ 3 บรรทัด เพราะว่า s1

258
00:06:39,621 --> 00:06:39,812

259
00:06:39,812 --> 00:06:42,113
มันอยู่ทั้ง 2 ตารางก็คือ a b เลย

260
00:06:42,113 --> 00:06:42,315

261
00:06:42,315 --> 00:06:43,784
ยูเนียน

262
00:06:43,784 --> 00:06:44,614
นะคะ

263
00:06:44,614 --> 00:06:44,805

264
00:06:44,805 --> 00:06:45,256

265
00:06:45,256 --> 00:06:45,578

266
00:06:45,578 --> 00:06:48,208
ส่วนที่ทับซ้อนกันก็เอาแค่ข้อมูลเดียว

267
00:06:48,208 --> 00:06:48,400

268
00:06:48,400 --> 00:06:49,301

269
00:06:49,301 --> 00:06:49,623

270
00:06:49,623 --> 00:06:52,242
ต่อมา อินเตอร์เซกชัน

271
00:06:52,242 --> 00:06:53,974
ก็ตามทฤษฎีเซตเหมือนกันค่ะ

272
00:06:53,974 --> 00:06:57,974
มันจะเป็นการกระทำเพื่อแสดงข้อมูลของตารางหรือ

273
00:06:58,528 --> 00:06:58,917

274
00:06:58,917 --> 00:07:00,129

275
00:07:00,129 --> 00:07:03,020
Record ที่ปรากฏอยู่ทั้ง 2 ตาราง

276
00:07:03,020 --> 00:07:04,690
ที่มันทับซ้อนกันนั่นแหละ

277
00:07:04,690 --> 00:07:04,812

278
00:07:04,812 --> 00:07:05,584

279
00:07:05,584 --> 00:07:08,657
ในรูปแบบของ intersection ตามทฤษฎีของเซต

280
00:07:08,657 --> 00:07:10,259
คำสั่ง ก็คือ

281
00:07:10,259 --> 00:07:11,357
INTERSECT

282
00:07:11,357 --> 00:07:12,058

283
00:07:12,058 --> 00:07:15,519

284
00:07:15,519 --> 00:07:16,802

285
00:07:16,802 --> 00:07:17,379

286
00:07:17,379 --> 00:07:17,891

287
00:07:17,891 --> 00:07:18,592

288
00:07:18,592 --> 00:07:18,862

289
00:07:18,862 --> 00:07:20,976
ให้ A INTERSECT B ตัวอย่าง

290
00:07:20,976 --> 00:07:23,347
จากตารางเดิมเลยค่ะ A กับ B

291
00:07:23,347 --> 00:07:24,046

292
00:07:24,046 --> 00:07:26,347
ข้อมูลไหน ที่ทับซ้อนกัน

293
00:07:26,347 --> 00:07:26,928

294
00:07:26,928 --> 00:07:27,390

295
00:07:27,390 --> 00:07:29,048
คือ ข้อมูล s1

296
00:07:29,048 --> 00:07:29,310

297
00:07:29,310 --> 00:07:29,560

298
00:07:29,560 --> 00:07:29,880

299
00:07:29,880 --> 00:07:33,020
มันมีทั้ง 2 ตาราง

300
00:07:33,020 --> 00:07:33,722

301
00:07:33,722 --> 00:07:37,722
ตาราง a กับตาราง b เราจะแสดงผลเฉพาะตารางที่มันทับซ้อนกันเท่านั้น

302
00:07:38,025 --> 00:07:39,116

303
00:07:39,116 --> 00:07:39,947

304
00:07:39,947 --> 00:07:40,717

305
00:07:40,717 --> 00:07:44,717
เพราะฉะนั้น คำสั่ง A INTERSECT B จะมีผลลัพธ์แค่

306
00:07:45,722 --> 00:07:47,643
Record  เท่านั้น ก็คือ

307
00:07:47,643 --> 00:07:48,404

308
00:07:48,404 --> 00:07:48,665

309
00:07:48,665 --> 00:07:49,758

310
00:07:49,758 --> 00:07:51,356
ทฤษฎีของเซต

311
00:07:51,356 --> 00:07:52,200
นะคะ

312
00:07:52,200 --> 00:07:53,218

313
00:07:53,218 --> 00:07:53,989

314
00:07:53,989 --> 00:07:54,249

315
00:07:54,249 --> 00:07:54,571

316
00:07:54,571 --> 00:07:57,323
ต่อมา Difference

317
00:07:57,323 --> 00:07:58,213

318
00:07:58,213 --> 00:07:58,854

319
00:07:58,854 --> 00:08:02,854
ก็เป็นการกระทำเพื่อแสดงข้อมูลของแถวนั้นๆที่ปรากฏอยู่ในตาราง

320
00:08:05,074 --> 00:08:08,477
หนึ่ง แต่อีกตารางกหนึ่งไม่มีนะคะ ก็คือ

321
00:08:08,477 --> 00:08:08,859

322
00:08:08,859 --> 00:08:12,859
อะไรก็ตามที่อยู่ในตารางนั้นแต่ไม่อยู่กับกี่ตาราง 1 คำสั่งที่ใช้

323
00:08:15,009 --> 00:08:16,550
คือคำสั่งไว้นะ

324
00:08:16,550 --> 00:08:17,001

325
00:08:17,001 --> 00:08:19,942
MINUS แปลเป็นภาษาไทยคือเครื่องหมายลบแล้วนี่ไม่เอา

326
00:08:19,942 --> 00:08:20,653

327
00:08:20,653 --> 00:08:21,354

328
00:08:21,354 --> 00:08:25,354
อย่างเช่น A MINUS B ที่อยู่ในเอ

329
00:08:25,652 --> 00:08:27,635
แต่ไม่อยู่ใน B

330
00:08:27,635 --> 00:08:27,764

331
00:08:27,764 --> 00:08:28,595

332
00:08:28,595 --> 00:08:28,918

333
00:08:28,918 --> 00:08:31,868
เมื่อคืนเหมือนตัวที่ทำไฮไลท์สีเหลืองไว้

334
00:08:31,868 --> 00:08:33,150

335
00:08:33,150 --> 00:08:33,600

336
00:08:33,600 --> 00:08:34,112

337
00:08:34,112 --> 00:08:34,241

338
00:08:34,241 --> 00:08:36,611
นะ

339
00:08:36,611 --> 00:08:36,873

340
00:08:36,873 --> 00:08:37,836

341
00:08:37,836 --> 00:08:39,754
ตารางเดิมเลยค่ะ ให้คำสั่ง

342
00:08:39,754 --> 00:08:40,715

343
00:08:40,715 --> 00:08:41,936
A MINUS B

344
00:08:41,936 --> 00:08:42,896

345
00:08:42,896 --> 00:08:43,346

346
00:08:43,346 --> 00:08:46,097
อะไรที่อยู่ A

347
00:08:46,097 --> 00:08:46,677

348
00:08:46,677 --> 00:08:46,928

349
00:08:46,928 --> 00:08:47,320

350
00:08:47,320 --> 00:08:47,959

351
00:08:47,959 --> 00:08:51,959
แต่ไม่อยู่ใน B อันนี้ไม่ใช่แน่นอนเพราะ s1 มีทั้ง a ทั้ง B เพราะฉะนั้น

352
00:08:52,123 --> 00:08:54,045
ไม่นะบี

353
00:08:54,045 --> 00:08:56,095
ว่าจะเป็น S4

354
00:08:56,095 --> 00:08:56,544

355
00:08:56,544 --> 00:08:57,056

356
00:08:57,056 --> 00:08:58,087

357
00:08:58,087 --> 00:08:58,539

358
00:08:58,539 --> 00:08:59,119

359
00:08:59,119 --> 00:08:59,499

360
00:08:59,499 --> 00:08:59,890

361
00:08:59,890 --> 00:09:00,590

362
00:09:00,590 --> 00:09:00,912

363
00:09:00,912 --> 00:09:04,912
ในทางกลับกันค่ะ B MINUS A ก็คืออยู่ในบีแต่ไม่อยู่ใน A

364
00:09:05,725 --> 00:09:06,174

365
00:09:06,174 --> 00:09:08,158
อยู่ดีๆ

366
00:09:08,158 --> 00:09:10,720
S2

367
00:09:10,720 --> 00:09:13,279
F1 ไม่ได้ s1 อยู่ใน a เหมือนกัน

368
00:09:13,279 --> 00:09:13,931

369
00:09:13,931 --> 00:09:14,181

370
00:09:14,181 --> 00:09:16,105
ในทางกลับกันจะเป็นแบบนี้

371
00:09:16,105 --> 00:09:20,105
นะค ะ ขึ้นอยู่กับว่าเราจะเอาข้อมูลจากตารางไหน เราจะเอาข้อมูลในวันข้างหน้า

372
00:09:22,387 --> 00:09:26,387
นะคะ ถ้าอยู่ใน a ไม่อยู่ใน B จะเป็นแบบนี้ จะเขียนแบบนี้นะคะ

373
00:09:27,192 --> 00:09:27,391

374
00:09:27,391 --> 00:09:28,994
แต่ถ้าอยู่ในบี

375
00:09:28,994 --> 00:09:32,777
ไม่อยู่ใน a ก็จะเขียนขึ้นต้นด้วย B นำหน้าแบบนี้

376
00:09:32,777 --> 00:09:36,749
นะคะ ไม่ใช่ว่าทุกตารางจะชื่อ a กับb นะคะ แล้วแต่ว่า

377
00:09:36,749 --> 00:09:38,480
ตารางที่นักศึกษา

378
00:09:38,480 --> 00:09:39,440
ได้ทำ

379
00:09:39,440 --> 00:09:39,641

380
00:09:39,641 --> 00:09:40,213

381
00:09:40,213 --> 00:09:43,734
มันชื่อตารางอะไร อย่างเช่นตาราง Student

382
00:09:43,734 --> 00:09:44,635

383
00:09:44,635 --> 00:09:45,145

384
00:09:45,145 --> 00:09:45,336

385
00:09:45,336 --> 00:09:45,658

386
00:09:45,658 --> 00:09:46,427

387
00:09:46,427 --> 00:09:49,251

388
00:09:49,251 --> 00:09:51,303
student แล้วก็ MINUS

389
00:09:51,303 --> 00:09:51,435

390
00:09:51,435 --> 00:09:52,454

391
00:09:52,454 --> 00:09:53,034

392
00:09:53,034 --> 00:09:53,413

393
00:09:53,413 --> 00:09:55,796
address ก็ได้นะคะ

394
00:09:55,796 --> 00:09:56,306

395
00:09:56,306 --> 00:09:57,017

396
00:09:57,017 --> 00:09:59,959
อยู่ในตาราง student แต่ไม่อยู่ในร้าน Address

397
00:09:59,959 --> 00:10:01,108
ว่าไป

398
00:10:01,108 --> 00:10:01,368

399
00:10:01,368 --> 00:10:02,390
นะคะ

400
00:10:02,390 --> 00:10:02,709

401
00:10:02,709 --> 00:10:03,551

402
00:10:03,551 --> 00:10:05,733
ต่อมาจะเป็น

403
00:10:05,733 --> 00:10:08,298
ตัวดำเนินการแบบ

404
00:10:08,298 --> 00:10:12,298
พิเศษนะคะ เป็น Special ซึ่งมันจะแตกต่างจาก

405
00:10:12,397 --> 00:10:14,828
รูปแบบการทำงานของเซตโดยทั่วไป

406
00:10:14,828 --> 00:10:15,860

407
00:10:15,860 --> 00:10:16,239

408
00:10:16,239 --> 00:10:20,239
นะคะ โดยการกระทำของกลุ่มที่จะเป็น Special หรือแบบพิเศษ

409
00:10:20,673 --> 00:10:23,425
นี่ ไม่จำเป็นจะต้องมีจำนวน Attribute เท่ากัน

410
00:10:23,425 --> 00:10:25,858
Attribute คืออะไร คือตัวนี้

411
00:10:25,858 --> 00:10:26,688

412
00:10:26,688 --> 00:10:27,600

413
00:10:27,600 --> 00:10:28,238
นะคะ

414
00:10:28,238 --> 00:10:30,860
ถ้าเป็นแบบ Credit analyst เนี

415
00:10:30,860 --> 00:10:34,860
คอลัมน์ทั้ง 2 ตาราง 13 ตารางต้องเท่ากัน

416
00:10:34,892 --> 00:10:35,345

417
00:10:35,345 --> 00:10:36,125
เท่านั้น

418
00:10:36,125 --> 00:10:36,765

419
00:10:36,765 --> 00:10:37,275

420
00:10:37,275 --> 00:10:38,050

421
00:10:38,050 --> 00:10:39,767
ถ้าเป็น Special คือ

422
00:10:39,767 --> 00:10:41,690
คอลัมน์หรือ senior

423
00:10:41,690 --> 00:10:44,521
ไม่จำเป็นจะต้องมีจำนวนเท่ากัน

424
00:10:44,521 --> 00:10:45,350

425
00:10:45,350 --> 00:10:46,182
นะคะ ไม่จำเป็น

426
00:10:46,182 --> 00:10:46,372

427
00:10:46,372 --> 00:10:47,214

428
00:10:47,214 --> 00:10:48,745
ซึ่งคำสั่งพวกนี้เนี่ย

429
00:10:48,745 --> 00:10:51,818
จะถูกเรียกใช้บ่อย เพราะว่าฐานข้อมูล

430
00:10:51,818 --> 00:10:54,899
ข้อมูลอาจจะมีตารางที่บรรจุอยู่

431
00:10:54,899 --> 00:10:58,871
มีรูปแบบที่แตกต่างกันไปนะคะ

432
00:10:58,871 --> 00:10:59,702

433
00:10:59,702 --> 00:11:01,063
โดย

434
00:11:01,063 --> 00:11:05,063
ถึงแม้มันจะไม่มี Attribute ที่เท่ากันไม่ คือ คอลัมน์เท่ากันนั่นแหละ

435
00:11:05,416 --> 00:11:06,437

436
00:11:06,437 --> 00:11:09,271
Attribute ของทั้ง 2 ตาราง

437
00:11:09,271 --> 00:11:10,988
จะถูกนำมาใช้

438
00:11:10,988 --> 00:11:12,589
จะต้องมีเงื่อนไข

439
00:11:12,589 --> 00:11:14,000

440
00:11:14,000 --> 00:11:18,000
ต้องมีชื่อโดเมนของข้อมูลชื่อเดียวกัน

441
00:11:18,364 --> 00:11:19,963
ก็คือชื่อคอลัมน์เดียวกัน

442
00:11:19,963 --> 00:11:21,375
อาจจะเป็น

443
00:11:21,375 --> 00:11:24,128
ชื่อตารางใด ๆ

444
00:11:24,128 --> 00:11:25,997
ในตารางนั้น อาจจะมี

445
00:11:25,997 --> 00:11:28,681
10 คอลัมน์ อีกตารางหนึ่ง  8 ค่ำ

446
00:11:28,681 --> 00:11:29,581
แปล

447
00:11:29,581 --> 00:11:30,353

448
00:11:30,353 --> 00:11:33,105
ต้องมีสิ่งที่เราจะเอามาดำเนินการเนี่ย

449
00:11:33,105 --> 00:11:34,905
ชื่อคอลัมน์จะต้องเหมือนกัน

450
00:11:34,905 --> 00:11:35,605
นะคะ

451
00:11:35,605 --> 00:11:36,056

452
00:11:36,056 --> 00:11:38,620
คำสั่งจะมีอยู่ 4 คำสั่งด้วยกัน

453
00:11:38,620 --> 00:11:39,579

454
00:11:39,579 --> 00:11:40,858
อันแรก

455
00:11:40,858 --> 00:11:42,600
คำสั่งRestrict

456
00:11:42,600 --> 00:11:42,792

457
00:11:42,792 --> 00:11:44,451
หรือถ้าใน

458
00:11:44,451 --> 00:11:44,971

459
00:11:44,971 --> 00:11:48,174
ระบบจัดการฐานข้อมูลภาษาที่ใช้ภาษา SQL

460
00:11:48,174 --> 00:11:50,545
เราจะใช้คำสั่งเรียกว่า

461
00:11:50,545 --> 00:11:50,996

462
00:11:50,996 --> 00:11:51,896
Select นะคะ

463
00:11:51,896 --> 00:11:54,327
เดี๋ยวประมาณอีก 2 สัปดาห์

464
00:11:54,327 --> 00:11:54,898

465
00:11:54,898 --> 00:11:55,218

466
00:11:55,218 --> 00:11:58,561
จะต้องได้พิมพ์

467
00:11:58,561 --> 00:12:00,861
ลองทำโค้ดภาษา SQL ดู

468
00:12:00,861 --> 00:12:04,861
นะคะ ซึ่งการกระทำเพื่อแสดงข้อมูล ในเรคคอร์ดของตารางนั้นๆจะต้องตรงตามเงื่อนไขที่ระบุ

469
00:12:07,275 --> 00:12:07,534

470
00:12:07,534 --> 00:12:07,987

471
00:12:07,987 --> 00:12:08,747

472
00:12:08,747 --> 00:12:12,467
นะคะ เงื่อนไขที่ใช้จะใช้คำว่า

473
00:12:12,467 --> 00:12:13,548

474
00:12:13,548 --> 00:12:15,291

475
00:12:15,291 --> 00:12:15,739

476
00:12:15,739 --> 00:12:16,631
WHERE นะคะ เช่น

477
00:12:16,631 --> 00:12:16,831

478
00:12:16,831 --> 00:12:20,831
A WHERE X operator Y อันนี้เป็นต้นนะคะ

479
00:12:20,995 --> 00:12:22,986
แต่เดี๋ยวตอนที่เราทำ

480
00:12:22,986 --> 00:12:24,007

481
00:12:24,007 --> 00:12:28,007
โปรแกรมจริงๆนี่ นักศึกษาจะเห็นภาพได้เข้าใจมากกว่านี้

482
00:12:28,432 --> 00:12:28,752

483
00:12:28,752 --> 00:12:31,124
อันนี้เป็นแค่การเกริ่นก่อนเฉยๆ

484
00:12:31,124 --> 00:12:32,284
นะคะ ว่า

485
00:12:32,284 --> 00:12:36,284
เราจะต้องเจอคำสั่งพิเศษอะไรบ้างในการจัดการฐานข้อมูล

486
00:12:36,316 --> 00:12:36,698

487
00:12:36,698 --> 00:12:37,469

488
00:12:37,469 --> 00:12:38,170

489
00:12:38,170 --> 00:12:38,621

490
00:12:38,621 --> 00:12:41,252
นะคะ ตัวอย่างเดิมค่ะ ตาราง a กับ B

491
00:12:41,252 --> 00:12:42,024

492
00:12:42,024 --> 00:12:42,414

493
00:12:42,414 --> 00:12:46,414
นะคะ ในตัวอย่างอาจารย์อาจจะเห็นว่าเอ๊ะ Column มันก็ยังเท่ากันนี่ แต่ก็

494
00:12:46,636 --> 00:12:50,636
เพื่อให้เห็นภาพที่ชัดเจนนะคะ อาจารย์จะเลยจะยังยกตัวอย่างเป็นแบบนี้ก่อน

495
00:12:51,641 --> 00:12:52,281

496
00:12:52,281 --> 00:12:53,243

497
00:12:53,243 --> 00:12:54,971

498
00:12:54,971 --> 00:12:55,554

499
00:12:55,554 --> 00:12:57,023
บอกให้คำสั่ง

500
00:12:57,023 --> 00:12:57,285

501
00:12:57,285 --> 00:13:01,285
Select หรือ Restrict  นะคะจะต้องมาคู่กับคำว่า WHERE เสมอ

502
00:13:02,668 --> 00:13:04,660
อย่างเช่น

503
00:13:04,660 --> 00:13:05,111

504
00:13:05,111 --> 00:13:08,565
ขึ้นต้นด้วยดีก็คือในตารางดี

505
00:13:08,565 --> 00:13:08,694

506
00:13:08,694 --> 00:13:12,694
ให้ดูที่เงื่อนไข city city ตี้ตรงนี้แปลว่าชื่อเมืองนะคะ

507
00:13:14,715 --> 00:13:16,386
ในตาราง B

508
00:13:16,386 --> 00:13:19,268
ค่าของ Column City

509
00:13:19,268 --> 00:13:20,560
อันไหน

510
00:13:20,560 --> 00:13:23,953
ที่มีค่าเท่ากับชัยนาท

511
00:13:23,953 --> 00:13:25,102

512
00:13:25,102 --> 00:13:25,363

513
00:13:25,363 --> 00:13:26,004

514
00:13:26,004 --> 00:13:27,924
ขอดูหน่อยค่ะ

515
00:13:27,924 --> 00:13:30,236
ตาราง B City

516
00:13:30,236 --> 00:13:34,236
ชัยนาทนะคะ พอพิมพ์  City เท่ากับชัยนาท

517
00:13:35,607 --> 00:13:37,538
ผลลัพธ์ที่ได้จะต้อง

518
00:13:37,538 --> 00:13:39,589
แสดงผลลัพธ์ของ

519
00:13:39,589 --> 00:13:41,642
ที่ s2

520
00:13:41,642 --> 00:13:42,602
ทั้งหมด

521
00:13:42,602 --> 00:13:43,433

522
00:13:43,433 --> 00:13:43,884

523
00:13:43,884 --> 00:13:44,655

524
00:13:44,655 --> 00:13:44,916

525
00:13:44,916 --> 00:13:45,817
นะคะ

526
00:13:45,817 --> 00:13:49,342
เงื่อนไขในตารางบีจังหวัด

527
00:13:49,342 --> 00:13:52,021
ข้อมูลอะไรที่มีข้อมูลว่าชัยนาท

528
00:13:52,021 --> 00:13:52,544

529
00:13:52,544 --> 00:13:52,932

530
00:13:52,932 --> 00:13:53,384

531
00:13:53,384 --> 00:13:56,066
เราต้องยกมาทั้งหมดมาแสดงผล

532
00:13:56,066 --> 00:13:56,707

533
00:13:56,707 --> 00:13:57,157

534
00:13:57,157 --> 00:13:58,189

535
00:13:58,189 --> 00:13:58,568

536
00:13:58,568 --> 00:13:58,948

537
00:13:58,948 --> 00:13:59,398

538
00:13:59,398 --> 00:14:00,550

539
00:14:00,550 --> 00:14:01,269

540
00:14:01,269 --> 00:14:03,122

541
00:14:03,122 --> 00:14:03,952

542
00:14:03,952 --> 00:14:04,664

543
00:14:04,664 --> 00:14:04,984

544
00:14:04,984 --> 00:14:08,984
ต่อมา เป็น Project นะคะ ก็จะเป็นการเลือกข้อมูลทุกๆแถว โดยเลือกมาเพียงแค่บางคอลัมน์

545
00:14:13,506 --> 00:14:17,219
เช่น อาจารย์อยากดูแค่รหัสนักศึกษากับชื่อ

546
00:14:17,219 --> 00:14:19,720
ก็แสดงผลแค่ชื่อกับรหัสนักศึกษา

547
00:14:19,720 --> 00:14:23,720
โดยที่ในตารางข้อมูลศึกษาอาจจะมีคอลัมน์ประมาณ 20 คอลัมน์

548
00:14:24,464 --> 00:14:25,291

549
00:14:25,291 --> 00:14:26,323
ก็ได้ แ

550
00:14:26,323 --> 00:14:28,955
ต่อาจารย์อยากดูแค่ 2 คอลัมน์นี้เท่านั้น

551
00:14:28,955 --> 00:14:29,336

552
00:14:29,336 --> 00:14:32,347
เราจะใช้คำสั่งที่เกี่ยวข้องกับ

553
00:14:32,347 --> 00:14:34,468
การเรียกดูข้อมูล

554
00:14:34,468 --> 00:14:37,672
คือ มันจะเป็นคำสั่งเกี่ยวกับการทำ Projectนั่นเอง

555
00:14:37,672 --> 00:14:37,991

556
00:14:37,991 --> 00:14:38,441

557
00:14:38,441 --> 00:14:42,441
นะคะ รูปแบบคำสั่งก็จะขึ้นต้นด้วยชื่อตารางแล้วตามด้วยเงื่อนไข

558
00:14:43,505 --> 00:14:44,278

559
00:14:44,278 --> 00:14:46,329
นะคะ ตารางเดิมค่ะ ตารางเดิม

560
00:14:46,329 --> 00:14:47,102

561
00:14:47,102 --> 00:14:48,571

562
00:14:48,571 --> 00:14:51,845
คำสั่งใน a วง

563
00:14:51,845 --> 00:14:54,143
เล็บ sname กับเอดส์

564
00:14:54,143 --> 00:14:56,004
นะคะก็คือ

565
00:14:56,004 --> 00:14:57,286
อธิบายคือ

566
00:14:57,286 --> 00:15:00,236
เอาข้อมูลในตาราง a เท่านั้น

567
00:15:00,236 --> 00:15:01,067

568
00:15:01,067 --> 00:15:04,149
อยู่ใน Column sname

569
00:15:04,149 --> 00:15:04,789

570
00:15:04,789 --> 00:15:07,162
และคอลัมน์

571
00:15:07,162 --> 00:15:07,804

572
00:15:07,804 --> 00:15:08,634

573
00:15:08,634 --> 00:15:09,276

574
00:15:09,276 --> 00:15:11,006
ผลลัพธ์ที่ได้

575
00:15:11,006 --> 00:15:12,549
แสดงผลแค่นี้

576
00:15:12,549 --> 00:15:12,926

577
00:15:12,926 --> 00:15:16,926
จากตอนแรกมันมีแค่ มันมี 4 คอลัมน์ใช่ไหมคะ 1 2 3

578
00:15:18,057 --> 00:15:18,827

579
00:15:18,827 --> 00:15:19,599

580
00:15:19,599 --> 00:15:22,031
อาจารย์ให้แสดงผลแค่เฟซ name

581
00:15:22,031 --> 00:15:22,802

582
00:15:22,802 --> 00:15:23,192

583
00:15:23,192 --> 00:15:23,442

584
00:15:23,442 --> 00:15:24,984
เท่านั้น

585
00:15:24,984 --> 00:15:25,243

586
00:15:25,243 --> 00:15:27,416
นี่คือการทํางานของคําสั่ง project

587
00:15:27,416 --> 00:15:29,147

588
00:15:29,147 --> 00:15:29,978

589
00:15:29,978 --> 00:15:33,251
นะคะ เผื่อจะมีเป็นร้อย ๆ คอลัมน์ มาจากไหนจะเรียกดูแค่

590
00:15:33,251 --> 00:15:33,512

591
00:15:33,512 --> 00:15:33,961

592
00:15:33,961 --> 00:15:35,565
คอลัมน์ที่น่าสนใจ

593
00:15:35,565 --> 00:15:36,395

594
00:15:36,395 --> 00:15:37,866
จะใช้คำสั่ง project

595
00:15:37,866 --> 00:15:37,996

596
00:15:37,996 --> 00:15:38,128

597
00:15:38,128 --> 00:15:38,896
นะคะ

598
00:15:38,896 --> 00:15:39,478

599
00:15:39,478 --> 00:15:39,737

600
00:15:39,737 --> 00:15:39,858

601
00:15:39,858 --> 00:15:40,058

602
00:15:40,058 --> 00:15:40,569

603
00:15:40,569 --> 00:15:44,569
เดี๋ยวภาษาโปรแกรมยังมีอีกเยอะค่ะ อันนี้แค่ตัวอย่างคร่าวๆก่อนนะ

604
00:15:45,504 --> 00:15:45,945

605
00:15:45,945 --> 00:15:46,654

606
00:15:46,654 --> 00:15:48,646
หรืออย่างเช่

607
00:15:48,646 --> 00:15:48,965

608
00:15:48,965 --> 00:15:51,588
น ทำไมผลลัพธ์ทำไมมันโชว์แค่

609
00:15:51,588 --> 00:15:52,298

610
00:15:52,298 --> 00:15:54,028
รหัส s1

611
00:15:54,028 --> 00:15:55,180

612
00:15:55,180 --> 00:15:55,690

613
00:15:55,690 --> 00:15:58,901
คำสั่งที่จะต้องใช้คืออะไร

614
00:15:58,901 --> 00:15:59,542

615
00:15:59,542 --> 00:15:59,921

616
00:15:59,921 --> 00:16:03,896
เงื่อนไขของคำสั่ง คือ ดูในตาราง

617
00:16:03,896 --> 00:16:04,357

618
00:16:04,357 --> 00:16:04,607

619
00:16:04,607 --> 00:16:05,376

620
00:16:05,376 --> 00:16:06,019

621
00:16:06,019 --> 00:16:08,258
b นะคะ โดยค่าของคอลัมน์ City

622
00:16:08,258 --> 00:16:09,729
มีค่าเท่ากับ

623
00:16:09,729 --> 00:16:11,270

624
00:16:11,270 --> 00:16:11,592

625
00:16:11,592 --> 00:16:13,842
bangkok แล้วให้แสดงผลเฉพาะ

626
00:16:13,842 --> 00:16:15,691
เท่านั้น

627
00:16:15,691 --> 00:16:16,083

628
00:16:16,083 --> 00:16:16,462

629
00:16:16,462 --> 00:16:17,043

630
00:16:17,043 --> 00:16:17,235

631
00:16:17,235 --> 00:16:17,484

632
00:16:17,484 --> 00:16:18,327

633
00:16:18,327 --> 00:16:18,965

634
00:16:18,965 --> 00:16:21,146
กูอยากรู้แค่รหัส

635
00:16:21,146 --> 00:16:22,107

636
00:16:22,107 --> 00:16:24,928
มีเมืองที่อยู่ในเมืองกรุงเทพฯ

637
00:16:24,928 --> 00:16:25,179

638
00:16:25,179 --> 00:16:27,099
นะคะ

639
00:16:27,099 --> 00:16:29,220
ก็ส่งแค่ s1 เท่านั้น

640
00:16:29,220 --> 00:16:33,220
จากเมื่อก่อนนี้เรียกว่า Where City

641
00:16:33,320 --> 00:16:34,601
เท่ากับ Bangkok

642
00:16:34,601 --> 00:16:37,932
ปกติแล้วมันแสดงข้อมูลทุกๆคนใช่ไหมคะ

643
00:16:37,932 --> 00:16:41,932
แต่ถ้าตามกำหนดให้มาแสดงแค่คอลัมน์ใดคอลัมน์หนึ่งเท่านั้ น

644
00:16:42,355 --> 00:16:43,765
ก็สามารถทำได้

645
00:16:43,765 --> 00:16:44,335

646
00:16:44,335 --> 00:16:48,335
อันนี้คือความสามารถของคำสั่ง project

647
00:16:49,406 --> 00:16:49,858

648
00:16:49,858 --> 00:16:50,877

649
00:16:50,877 --> 00:16:51,198

650
00:16:51,198 --> 00:16:55,198
ต่อมา คำสั่ง Joinค่ะ จะเป็นการกระทำเพื่อแสดงข้อมูลที่เป็นไปได้ทั้งหมด

651
00:16:57,102 --> 00:17:01,102
ซึ่งเกิดจากการเชื่อมโยงข้อมูลของ 2 ตารางขึ้นไป

652
00:17:01,391 --> 00:17:04,726
โดยที่กำหนดค่าคอลัมน์หรือว่า Attribute อยู่ที่เหมือนกัน

653
00:17:04,726 --> 00:17:05,366

654
00:17:05,366 --> 00:17:08,188
อาจจะเป็นคอลัมเดียวหรือมากกว่าก็ได้

655
00:17:08,188 --> 00:17:09,077
นะคะ

656
00:17:09,077 --> 00:17:13,077
แต่ที่สำคัญคือคอลัมน์จะต้องชื่อเหมือนกัน โดเมนของข้อมูลต้องเท่ากัน

657
00:17:14,019 --> 00:17:16,580
รูปแบบคำสั่งก็คือ A JOIN  B

658
00:17:16,580 --> 00:17:17,279

659
00:17:17,279 --> 00:17:17,602

660
00:17:17,602 --> 00:17:19,473
มาดูตัวอย่างกัน

661
00:17:19,473 --> 00:17:19,985

662
00:17:19,985 --> 00:17:20,233

663
00:17:20,233 --> 00:17:21,074

664
00:17:21,074 --> 00:17:21,514

665
00:17:21,514 --> 00:17:22,674

666
00:17:22,674 --> 00:17:23,888

667
00:17:23,888 --> 00:17:24,276

668
00:17:24,276 --> 00:17:26,775
Join นะคะ

669
00:17:26,775 --> 00:17:28,059

670
00:17:28,059 --> 00:17:28,758

671
00:17:28,758 --> 00:17:28,959

672
00:17:28,959 --> 00:17:29,659

673
00:17:29,659 --> 00:17:32,731
จะคล้ายๆกับ

674
00:17:32,731 --> 00:17:33,443

675
00:17:33,443 --> 00:17:37,443
union แต่เงินไขคือจะต้องมีโดเมนหรือว่า Column ที่เท่ากันถึงจะจอยได้

676
00:17:39,403 --> 00:17:40,234
นะคะ

677
00:17:40,234 --> 00:17:42,415
อย่างตัวนี้มี 2

678
00:17:42,415 --> 00:17:43,825
คอลัมน์ มี 2 คอลัมน์

679
00:17:43,825 --> 00:17:46,328
รายการข้อมูลที่ซับซ้อนกัน

680
00:17:46,328 --> 00:17:46,519

681
00:17:46,519 --> 00:17:49,532
อยู่ในรูปแบบคล้ายๆกับคำสั่งอยู่เนีย

682
00:17:49,532 --> 00:17:50,234
นะคะ

683
00:17:50,234 --> 00:17:50,420

684
00:17:50,420 --> 00:17:50,624

685
00:17:50,624 --> 00:17:51,134

686
00:17:51,134 --> 00:17:51,336

687
00:17:51,336 --> 00:17:52,353

688
00:17:52,353 --> 00:17:52,864

689
00:17:52,864 --> 00:17:56,518
อย่างเช่นตัวนี้คำสั่ง

690
00:17:56,518 --> 00:17:58,567
join มีอะไรที่เหมือน กั

691
00:17:58,567 --> 00:17:59,149

692
00:17:59,149 --> 00:18:00,369
น มี City

693
00:18:00,369 --> 00:18:01,138

694
00:18:01,138 --> 00:18:02,160
ใช่ไหมคะ

695
00:18:02,160 --> 00:18:04,982

696
00:18:04,982 --> 00:18:05,625

697
00:18:05,625 --> 00:18:06,513

698
00:18:06,513 --> 00:18:09,085
อันนี้มี 6 คอลัมน์นะคะ

699
00:18:09,085 --> 00:18:09,856

700
00:18:09,856 --> 00:18:10,368

701
00:18:10,368 --> 00:18:11,387

702
00:18:11,387 --> 00:18:11,646

703
00:18:11,646 --> 00:18:12,227

704
00:18:12,227 --> 00:18:13,057

705
00:18:13,057 --> 00:18:13,759

706
00:18:13,759 --> 00:18:16,141
City เหมือนกัน

707
00:18:16,141 --> 00:18:16,713

708
00:18:16,713 --> 00:18:18,312
แต่เนื่องจาก

709
00:18:18,312 --> 00:18:20,684
Attribute ที่มีคำว่า City เหมือนกัน

710
00:18:20,684 --> 00:18:20,874

711
00:18:20,874 --> 00:18:21,074

712
00:18:21,074 --> 00:18:23,960
นี่ มันจะต้องดูพิจารณาในเรคอร์ดของ

713
00:18:23,960 --> 00:18:25,306
รหัสด้วย

714
00:18:25,306 --> 00:18:27,678
เพราะฉะนั้นถ้า

715
00:18:27,678 --> 00:18:29,210
มันเกินมา

716
00:18:29,210 --> 00:18:29,528

717
00:18:29,528 --> 00:18:30,359

718
00:18:30,359 --> 00:18:32,741
มันเกินแล้วต้องทำข้อมูลซ้ำ

719
00:18:32,741 --> 00:18:35,243
ให้เกิดขึ้น อันนี้ก็จะเป็นอีก

720
00:18:35,243 --> 00:18:39,085
รูปแบบหนึ่ง ของการทำงาน คือ เติมข้อมูลเข้าไป

721
00:18:39,085 --> 00:18:39,785
นะคะ

722
00:18:39,785 --> 00:18:39,985

723
00:18:39,985 --> 00:18:40,118

724
00:18:40,118 --> 00:18:42,287
เพื่อให้ผลลัพธ์ที่ได้นี่ ทุกๆ

725
00:18:42,287 --> 00:18:46,287
Record นะคะมีค่า Attribute ก็คือที่เท่ากัน

726
00:18:47,158 --> 00:18:48,506

727
00:18:48,506 --> 00:18:51,837
เดี๋ยวนี้เราจะไปดูอีกทีหนึ่งนะคะ

728
00:18:51,837 --> 00:18:53,307
ในตอนที่เราทำ

729
00:18:53,307 --> 00:18:55,740
โปรแกรมเลย

730
00:18:55,740 --> 00:18:57,029
ต่อมา

731
00:18:57,029 --> 00:18:59,530
จะเป็นการแสดงข้อมูลจาก 2 รีเลชัน

732
00:18:59,530 --> 00:19:00,491

733
00:19:00,491 --> 00:19:01,571
โดยที่

734
00:19:01,571 --> 00:19:01,831

735
00:19:01,831 --> 00:19:05,831
รีเลชันหรือว่าทั้งสองตารางนี่ มี Attribute หรือรอบมีคอลัมน์นี่ อย่างน้อย 1 คอลัมน์ที่เหมือนกัน

736
00:19:08,698 --> 00:19:08,817

737
00:19:08,817 --> 00:19:08,948

738
00:19:08,948 --> 00:19:09,210

739
00:19:09,210 --> 00:19:10,228

740
00:19:10,228 --> 00:19:12,934
กดรับจากคอลัมน์นะคะ

741
00:19:12,934 --> 00:19:16,005
จากตารางที่มีจำนวน Attribute มากกว่า

742
00:19:16,005 --> 00:19:16,645

743
00:19:16,645 --> 00:19:18,184
นี่ จะถูกจับคู่

744
00:19:18,184 --> 00:19:19,145

745
00:19:19,145 --> 00:19:19,264

746
00:19:19,264 --> 00:19:23,264
นะคะ กับอีกคอลัมน์หนึ่งที่มีคอลัมน์ของตารางที่มีคอลัมน์น้อยกว่า

747
00:19:25,300 --> 00:19:26,000

748
00:19:26,000 --> 00:19:29,984
คำสั่งรูปแบบก็คือ

749
00:19:29,984 --> 00:19:31,966
A DIVIDED BY B มันจะเป็นคล้ายๆกับการหาร

750
00:19:31,966 --> 00:19:32,605

751
00:19:32,605 --> 00:19:33,436

752
00:19:33,436 --> 00:19:33,957

753
00:19:33,957 --> 00:19:34,275

754
00:19:34,275 --> 00:19:35,427
นะคะ

755
00:19:35,427 --> 00:19:35,617

756
00:19:35,617 --> 00:19:35,939

757
00:19:35,939 --> 00:19:36,128

758
00:19:36,128 --> 00:19:36,770

759
00:19:36,770 --> 00:19:37,928

760
00:19:37,928 --> 00:19:39,020

761
00:19:39,020 --> 00:19:39,850

762
00:19:39,850 --> 00:19:40,041

763
00:19:40,041 --> 00:19:40,431

764
00:19:40,431 --> 00:19:41,003

765
00:19:41,003 --> 00:19:43,052
คำสั่งตัวนี้ การเป็นตัวหาร

766
00:19:43,052 --> 00:19:43,954
นะคะ

767
00:19:43,954 --> 00:19:45,685
จะต้องเป็น

768
00:19:45,685 --> 00:19:48,317
Sub set ของตัวตั้ง

769
00:19:48,317 --> 00:19:49,148

770
00:19:49,148 --> 00:19:50,048

771
00:19:50,048 --> 00:19:53,631
นะคะ ก็คือในตัวตั้งมี a ไหม มี

772
00:19:53,631 --> 00:19:56,773
มี b ไหมมี มี มี c ไหมมี

773
00:19:56,773 --> 00:19:57,673

774
00:19:57,673 --> 00:20:01,673
รับทุกตัวคือตัวที่แมทกับตัวหาร

775
00:20:01,774 --> 00:20:03,504
อะไรบ้างที่อยู่ใน A

776
00:20:03,504 --> 00:20:04,853

777
00:20:04,853 --> 00:20:07,215
นะคะ A มี XYZ

778
00:20:07,215 --> 00:20:07,797

779
00:20:07,797 --> 00:20:10,178
b มีแค่ X C มีแค่ x

780
00:20:10,178 --> 00:20:10,819

781
00:20:10,819 --> 00:20:12,032
เพราะฉะนั้น

782
00:20:12,032 --> 00:20:12,421

783
00:20:12,421 --> 00:20:13,820
สิ่งที่

784
00:20:13,820 --> 00:20:17,415
เอา ABC หารได้ครบทุกตัว

785
00:20:17,415 --> 00:20:17,607

786
00:20:17,607 --> 00:20:19,278
มีแค่ x ตัวเดียว

787
00:20:19,278 --> 00:20:20,496

788
00:20:20,496 --> 00:20:20,687

789
00:20:20,687 --> 00:20:24,208
ก็คือตรงตามเงื่อนไขทั้งหมด

790
00:20:24,208 --> 00:20:24,398

791
00:20:24,398 --> 00:20:24,528

792
00:20:24,528 --> 00:20:24,853

793
00:20:24,853 --> 00:20:27,610
นะคะ เราอาจจะมีการตั้งเงื่อนไขมา

794
00:20:27,610 --> 00:20:31,610
แล้วมีแค่ X ตัวเดียวเท่านั้น ที่เข้าตรงทุกเงื่อนไข 3 เงื่อนไขที่เราต้องตั้งไว้

795
00:20:33,435 --> 00:20:33,955

796
00:20:33,955 --> 00:20:34,984

797
00:20:34,984 --> 00:20:38,955
หลักการนี้จะใช้ตอนที่เราค้นหาข้อมูลใน google นะอย่างเช่นใน

798
00:20:38,955 --> 00:20:39,207

799
00:20:39,207 --> 00:20:40,166

800
00:20:40,166 --> 00:20:40,486

801
00:20:40,486 --> 00:20:40,808

802
00:20:40,808 --> 00:20:41,712

803
00:20:41,712 --> 00:20:44,340
อาจารย์อยากได้กระเป๋า

804
00:20:44,340 --> 00:20:45,111

805
00:20:45,111 --> 00:20:47,731
สีแดงมี 6 ล้อลาก

806
00:20:47,731 --> 00:20:48,764
เงื่อนไข

807
00:20:48,764 --> 00:20:51,063
กระเป๋าสีแดง

808
00:20:51,063 --> 00:20:53,125
มีล้อ 6 ล้อ

809
00:20:53,125 --> 00:20:53,316

810
00:20:53,316 --> 00:20:53,447

811
00:20:53,447 --> 00:20:53,701

812
00:20:53,701 --> 00:20:56,896
อาจจะมีผลลัพธ์ที่ตรงตามเงื่อนไขที่อาจารย์ต้องการแค่

813
00:20:56,896 --> 00:20:57,928
อย่างเดียวเท่านั้น

814
00:20:57,928 --> 00:20:58,247

815
00:20:58,247 --> 00:20:58,570

816
00:20:58,570 --> 00:20:59,599
เป็นต้น

817
00:20:59,599 --> 00:21:02,289
นะคะ เป็นต้น

818
00:21:02,289 --> 00:21:02,411

819
00:21:02,411 --> 00:21:02,611

820
00:21:02,611 --> 00:21:03,120

821
00:21:03,120 --> 00:21:05,171
เช่น ตัวอย่าง

822
00:21:05,171 --> 00:21:06,384

823
00:21:06,384 --> 00:21:07,284

824
00:21:07,284 --> 00:21:07,615

825
00:21:07,615 --> 00:21:09,917
มีข้อมูล

826
00:21:09,917 --> 00:21:10,496

827
00:21:10,496 --> 00:21:12,029

828
00:21:12,029 --> 00:21:15,040
นะคะ ในตาราง A มีข้อมูล

829
00:21:15,040 --> 00:21:16,010
ตามนี้

830
00:21:16,010 --> 00:21:19,212
ตาราง B มีคอลัมน์เดียว คือตัวนี้

831
00:21:19,212 --> 00:21:21,263
p2

832
00:21:21,263 --> 00:21:24,785
ให้ A DIVIDED BY B ก็คือ

833
00:21:24,785 --> 00:21:27,347
มีข้อมูล P2

834
00:21:27,347 --> 00:21:30,618
อยู่ในชุดข้อมูลอะไรบ้างของเอ

835
00:21:30,618 --> 00:21:31,957

836
00:21:31,957 --> 00:21:33,947

837
00:21:33,947 --> 00:21:36,447
อันนี้

838
00:21:36,447 --> 00:21:37,030

839
00:21:37,030 --> 00:21:37,407

840
00:21:37,407 --> 00:21:41,133
p 2 อันนี้ p 2 เพราะฉะนั้นผลลัพธ์ที่ได้จะมีแค่

841
00:21:41,133 --> 00:21:42,221
สองเรคอร์ด

842
00:21:42,221 --> 00:21:43,181
เท่านั้น

843
00:21:43,181 --> 00:21:43,374

844
00:21:43,374 --> 00:21:44,714

845
00:21:44,714 --> 00:21:47,084
ที่มี P2 อยู่ด้วย

846
00:21:47,084 --> 00:21:47,534

847
00:21:47,534 --> 00:21:48,564

848
00:21:48,564 --> 00:21:48,755

849
00:21:48,755 --> 00:21:49,146

850
00:21:49,146 --> 00:21:50,938
อันนี้ก็จะยัง

851
00:21:50,938 --> 00:21:52,990
ตรงตามเงื่อนไข

852
00:21:52,990 --> 00:21:53,308

853
00:21:53,308 --> 00:21:54,140

854
00:21:54,140 --> 00:21:54,779

855
00:21:54,779 --> 00:21:55,040

856
00:21:55,040 --> 00:21:55,291

857
00:21:55,291 --> 00:21:56,441

858
00:21:56,441 --> 00:21:56,641

859
00:21:56,641 --> 00:21:57,092

860
00:21:57,092 --> 00:21:59,524
นะคะ ถ้าเพิ่มอีกนะคะ

861
00:21:59,524 --> 00:21:59,914

862
00:21:59,914 --> 00:22:00,615

863
00:22:00,615 --> 00:22:01,006

864
00:22:01,006 --> 00:22:01,897

865
00:22:01,897 --> 00:22:02,157

866
00:22:02,157 --> 00:22:02,609

867
00:22:02,609 --> 00:22:02,729

868
00:22:02,729 --> 00:22:03,688

869
00:22:03,688 --> 00:22:04,778

870
00:22:04,778 --> 00:22:05,690
B p 1 p2 p3 p 6

871
00:22:05,690 --> 00:22:06,390

872
00:22:06,390 --> 00:22:08,691

873
00:22:08,691 --> 00:22:09,013

874
00:22:09,013 --> 00:22:09,533

875
00:22:09,533 --> 00:22:10,174

876
00:22:10,174 --> 00:22:12,026
S2 มีแค่นี้

877
00:22:12,026 --> 00:22:12,926

878
00:22:12,926 --> 00:22:13,256

879
00:22:13,256 --> 00:22:17,256
ไม่ตรง มีแค่นี้มีส่ง S4 มีแค่นี้ไม่ตรง

880
00:22:18,250 --> 00:22:22,250
มีที่ตรง มีแค่ s1 เท่านั้นที่เอา b ทุกตัว

881
00:22:22,423 --> 00:22:24,214
หารไม่ลงตัว

882
00:22:24,214 --> 00:22:24,785

883
00:22:24,785 --> 00:22:24,986

884
00:22:24,986 --> 00:22:26,265
I คือหลักการ

885
00:22:26,265 --> 00:22:26,457

886
00:22:26,457 --> 00:22:27,157
นะคะ

887
00:22:27,157 --> 00:22:30,499
ปัญหานั่นล่ะ ต้องหาลงตัวนะคะ

888
00:22:30,499 --> 00:22:31,393

889
00:22:31,393 --> 00:22:31,521

890
00:22:31,521 --> 00:22:34,082
วันนี้จะประมาณนี้ เพราะว่าเดี๋ยว

891
00:22:34,082 --> 00:22:34,211

892
00:22:34,211 --> 00:22:34,532

893
00:22:34,532 --> 00:22:37,544
อาจจะให้เช็คโปรแกรมค่ะ

894
00:22:37,544 --> 00:22:40,311
ล่าม เนื้อหาจะมีแค่นี้เดี๋ยวจะเช็คในห้องแลบว่า

895
00:22:40,311 --> 00:22:43,060
โปรแกรมที่จะใช้สมบูรณ์หรือเปล่า

896
00:22:43,060 --> 00:22:43,319

897
00:22:43,319 --> 00:22:46,272
ก็วันนี้ก็น่าจะ

898
00:22:46,272 --> 00:22:48,701
เนื้อหาจะประมาณนี้ค่ะเพราะเดี๋ยวจะให้เช็

899
00:22:48,701 --> 00:22:49,980
กโปรแกรมในห้องเรียน

900
00:22:49,980 --> 00:22:50,882
นะคะ

901
00:22:50,882 --> 00:22:51,523

902
00:22:51,523 --> 00:22:53,314

903
00:22:53,314 --> 00:22:56,396
ก็เลยสั้นนิดนึง เพราะว่าหลังปีใหม่ขอเช็คโปรแกรมก่อน

904
00:22:56,396 --> 00:22:56,645

905
00:22:56,645 --> 00:23:00,645
สัปดาห์หน้าอาจจะเริ่มใช้โปรแกรม อาทิตย์นี้ก็เลยเดี๋ย

906
00:23:01,010 --> 00:23:02,550
วเหนื้อหาจะสิ้นสุดเท่านี้

907
00:23:02,550 --> 00:23:05,052
เดี๋ยวเรามาเช็ก ดูว่าห้องเรียนเรา

908
00:23:05,052 --> 00:23:06,452
ใช้โปรแกรมได้หรือเปล่า

909
00:23:06,452 --> 00:23:06,842

910
00:23:06,842 --> 00:23:07,804
นะคะ

911
00:23:07,804 --> 00:23:08,186

912
00:23:08,186 --> 00:23:12,186
วันนี้ก็ขอบคุณล่ามกับขอบคุณค่ะความด้วยนะคะ ประมาณนี้ค่ะ เพราะว่าเดี๋ยวเช็กห้องแลปก่อน

913
00:23:14,725 --> 00:23:15,044

914
00:23:15,044 --> 00:23:16,385
ขอบคุณมากค่ะ

915
00:23:16,385 --> 00:23:16,833

916
00:23:16,833 --> 00:23:17,799

917
00:23:17,799 --> 00:23:19,086

918
00:23:19,086 --> 00:23:19,406

919
00:23:19,406 --> 00:23:20,237

920
00:23:20,237 --> 00:23:22,349

921
00:23:22,349 --> 00:23:25,042

922
00:23:25,042 --> 00:23:29,042

923
00:23:30,103 --> 00:23:34,103

924
00:23:34,393 --> 00:23:34,584

925
00:23:34,584 --> 00:23:34,905

926
00:23:34,905 --> 00:23:35,236

927
00:23:35,236 --> 00:23:35,366

928
00:23:35,366 --> 00:23:35,876

929
00:23:35,876 --> 00:23:36,836

930
00:23:36,836 --> 00:23:37,287

931
00:23:37,287 --> 00:23:41,287

932
00:23:41,390 --> 00:23:45,390


