😅 สมัยแอดเรียนหนังสือ มีอยู่ 2 คำสั่งที่ค่อนข้างกังวลเวลาใช้ภาษา SQL คือ Update กับ Delete เพราะว่าถ้าหากแก้ไปแล้ว จะเอากลับมาก็ต้องเสียเวลาอีก
.
และ ยิ่งไปกว่านั้น ถ้าเราลืมใส่ WHERE ไม่ว่าจะเพราะลืมจริง ๆ หรือ พิมพ์ไม่ครบหละก็ .. ไม่อยากพูดถึงความซวยที่จะเกิดขึ้นจริงๆ 🤣
.
ปล.อันนี้แอดแค่สร้างเป็นเคสตัวอย่างนะ ไม่เกี่ยวกับเว็บรัฐบาลอะไรนั่นนะฮะ แต่เห็นปัญหานั้น แล้วน่าพูดถึงประเด็นนี้เฉย ๆ 5555 <3
.
#BorntoDev - 🦖 Coding Academy ให้การพัฒนาเทคโนโลยีเป็นเรื่องง่ายสำหรับทุกคน
同時也有28部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,完整教學影音分享申請 http://goo.gl/lsqo7 完整影音:http://terry55wu.blogspot.com/p/excelvba.html EXCEL、 VBA與資料庫是分別屬於三個領域的知識, 但卻是目前大家都需要的一項專業技能,要把三者融和的很好實在非常不容易, 剛好...
sql update where 在 BorntoDev Facebook 八卦
🔥 และในวันนี้ แอดจะพาเพื่อน ๆ มาทำความรู้จักกับอีกหนึ่งคำสั่งเจ๋ง ๆ ใน SQL นั่นก็คือเจ้า EXPLAIN นั่นเองจ้าาา ~~
.
👉 เจ้านี่มันคืออะไร มีรายละเอียดและวิธีการใช้งานยังไง ถ้าพร้อมแล้วมาอ่านกันเลยยย !!
.
✨ EXPLAIN - เป็นคำสั่งที่ใช้บอกรายละเอียดในการ Query ข้อมูล เพื่อใช้วัดประสิทธิภาพในการ Query ข้อมูลนั่นเอง
.
👨💻 Syntax
EXPLAIN (QUERY Statement) ; /* ONLY TAKES COMMAND AS PARAMETER */
.
เจ้า EXPLAIN สามารถใช้นำหน้าคำสั่ง SELECT, UPDATE, INSERT และ DELETE ได้
.
📑 วิธีการใช้งาน
🔸 Query ปกติ
SELECT * FROM demo_table WHERE demo_column = 'Demo Value';
.
🔸 Query โดยใช้ EXPLAIN
EXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value';
.
จะได้ผลลัพธ์ ดังนี้
id: 1
select_type: SIMPLE
table: demo_table
partitions: NULL
type: const
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: const
rows: 1
filtered: 100.00
Extra: NULL
.
🔸 id - id ของ Query EXPLAIN
🔸 select_type - แสดงความซับซ้อนของ Query ผลลัพธ์ด้านบนจะอยู่ในระดับ SIMPLE
🔸 table - แสดงชื่อของตาราง
🔸 partitions - แสดง Partitions ของตารางที่ใช้ใน Query
🔸 type - ระบุประเภทของการ Join
🔸 possible_keys - แสดง Key ที่ใช้
🔸 key - แสดงความยาวของ Key ที่ใช้
🔸 ref - การอ้างอิงที่ใช้ใน Query เมื่อทำการ Comparing Columns
🔸 rows - แสดงจำนวนแถว
🔸 filtered - แสดงเปอร์เซ็นต์ของแถวตามเงื่อนไขที่ระบุ
🔸 Extra - ข้อมูลเพิ่มเติมของ Query
.
🌟 ประโยชน์
- ใช้เพื่อแสดงข้อมูลเกี่ยวกับการ Query
- มีประโยชน์มากในการออกแบบ Schema และ Index
- ใช้ตรวจสอบคำสั่ง Query ว่ามีประสิทธิภาพหรือไม่ เช่น วัดความเร็วในการ Query, ตรวจสอบการแบ่ง - Partition ของตาราง เป็นต้น
- ช่วยเพิ่มประสิทธิภาพในการ Query ข้อมูลใน Database
.
💥 Source : https://arctype.hashnode.dev/mysql-understanding-explain , https://www.geeksforgeeks.org/explain-in-sql/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
sql update where 在 91 敏捷開發之路 Facebook 八卦
有在使用 MS SQL server 的朋友,如果有需要找到 identity 跳號的資料,可以參考一下新的寫法,查詢成本省很大。
#長知識
【SQL Tips】之【了解為何identity會發生不連續號碼與快速找出那些號碼是跳號】20171224
**identity保證唯一,不保證連續**
**使用SARG規則與SET BASED方式找出不連續號碼**
**最後那三種找出不連續的技巧,成本比如下
50%(SELF JOIN搭配NOT IN) : 32%(SELF JOIN搭配 OFFSET 函數) : 18%(LAG 函數) **
許多SQL Server開發人員經常會使用identity自動產生連續編號,然而該identity卻有一個特質是發生交易退回(rollback)則會產生跳號的狀況,以下的狀況就是identity碰到交易退回後所產生的跳號情況。
***
use tempdb
go
if object_id('tblNum') is not null
drop table tblNum
go
create table tblNum
(c1 int identity ,
c2 nvarchar(30) unique --防止重複
)
go
insert into tblNum(c2) values ('lewis1')
insert into tblNum(c2) values ('lewis2')
insert into tblNum(c2) values ('lewis3')
insert into tblNum(c2) values ('lewis3') --重複姓名就發生跳號
insert into tblNum(c2) values ('lewis5')
insert into tblNum(c2) values ('lewis5') --重複姓名就發生跳號
insert into tblNum(c2) values ('lewis5') --重複姓名就發生跳號
insert into tblNum(c2) values ('lewis8')
insert into tblNum(c2) values ('lewis9')
insert into tblNum(c2) values ('lewis10')
go
select * from tblNum
GO
--結果
c1 c2
1 lewis1
2 lewis2
3 lewis3
5 lewis5 <--發生跳號
8 lewis8 <--發生跳號
9 lewis9
10 lewis10
***
基本上單一執行INSERT UPDATE DELETE 就是一種隱性交易,上述的範例就是因為條件約束(constraint)的unique緣故,當輸入的文字發生重複的時候,就會自動退回交易,緊接著identity也隨之發生跳號的狀況。
當瞭解identity會有發生跳號的特質之後,接下來分享三種從SQL Server 2005開始使用的抓取跳號的範例,以及從SQL Server 2012開始支援的Windows Offset函數抓取跳號的技巧。這三種技巧都是使用set-based的方式,不使用WHILE迴圈去比對資料的連續性,值得一試。
**從SQL Server 2005支援的抓取跳號的技巧
--使用自我查詢產生搭配CTE
--使用SET BASED技巧取代迴圈處理
WITH DS AS (
SELECT DS1.* FROM tblNum as DS1 JOIN
tblNum as DS2
on DS1.c1 = DS2.c1+1 )
SELECT * FROM tblNum
WHERE c1 NOT IN (SELECT TOP(1) c1 FROM tblNum ORDER BY c1)
EXCEPT
SELECT * FROM DS
GO
**從SQL Server 2012支援的抓取跳號的技巧
--使用自我查詢產生搭配OFFSET
--使用SET BASED技巧取代迴圈處理
WITH DS AS (
SELECT DS1.* FROM tblNum as DS1 JOIN
tblNum as DS2
on DS1.c1 = DS2.c1+1 ),
DS2 AS (SELECT * FROM tblNum ORDER BY 1 OFFSET 1 ROW )
SELECT * FROM DS2
EXCEPT
SELECT * FROM DS
GO
**從SQL Server 2012支援的抓取跳號的技巧
--使用自我查詢產生搭配LAG的Windows Offset技巧
--使用SET BASED技巧取代迴圈處理
WITH DIFF AS (
select *,LAG(c1, 1,0) OVER ( ORDER BY c1) as previous
,c1 - LAG(c1, 1,0) OVER ( ORDER BY c1) as diff
from tblNum
)
SELECT c1,c2 FROM DIFF WHERE diff>1
GO
--結果就是 5/8 之前就發生跳號
c1 c2
5 lewis5
8 lewis8
最後那三種找出不連續的技巧,成本比如下
50%(SELF JOIN搭配NOT IN) : 32%(SELF JOIN搭配 OFFSET) : 18%(LAG)
sql update where 在 吳老師教學部落格 Youtube 的評價
完整教學影音分享申請 http://goo.gl/lsqo7
完整影音:http://terry55wu.blogspot.com/p/excelvba.html
EXCEL、 VBA與資料庫是分別屬於三個領域的知識,
但卻是目前大家都需要的一項專業技能,要把三者融和的很好實在非常不容易,
剛好我有近20年的VB程式設計與資料庫設計的經驗,
教EXCEL函數與相關課程也有多年,因此清楚如何把最重要的知識教給大家,
ADO資料庫設計的知識非常多,但根據我多年的設計實務經驗,
覺得最重要的是掌握SQL語言,就可以輕易的完成查詢、新增、修改與刪除等功能,
就可以輕易的完成自己想處理的大量資料,大大提高工作效率了!
今天課程主軸:
1.如何連結資料庫
2.EXCEL與ACCESS資料庫的綜合應用效率提升
3.重點在SQL與ADO
4.要學得太多,但會SQL就很好用
5.ACCESS可以輕鬆學會SQL
6.資料庫的四大功能:查詢新增修改刪除
7.學知識學不完,學觀念很快上手,如手機的SQLite資料庫亦同
8.分享程式碼畫面
9.不一定要用最新的技術,會有相容性問題
EXCEL與資料庫:
但要先學會ACCESS與SQL語法,再來學習EXCEL VBA與資料庫會更快上手,
不然不懂關聯式資料庫,在連結資料庫時間容易問題多多,若能懂SQL就更好了,
因為SQL是資料庫的共通語言,直接下SQL就可以完成想要的工作,
諸如:查詢、新增、修改與刪除資料了!
課程內容:
01_VBA連結資料庫複習
02_SQL查詢語法練習
03_SQL新增語法練習
04_VBA與SQL新增語法
05_SQL的UPDATE修改語法
06_SQL的UPDATE語法加入條件
07_VBA與UPDATE語法結合更新結果
08_VBA與UPDATE語法加WHERE條件
09_DELETE語法加WHERE條件說明
10_VBA與DELETE語法程式說明
補充資料:
EXCEL函數與VBA進階班總整理:
http://terry55wu.blogspot.com/p/excelvba.html
目前 EXCEL函數與VBA完整影音論壇:
1.EXCEL函數與VBA設計
http://groups.google.com/group/labor_excel_vba?hl=zh-TW
2.EXCEL函數與VBA進階51
http://groups.google.com/group/excelvba51?hl=zh-TW
3.EXCEL函數與VBA雲端班
http://groups.google.com/group/excelvbacloud?hl=zh-TW
4.EXCEL VBA辦公自動化班
http://groups.google.com/group/excelvba_cloud?hl=zh-TW
5.EXCEL函數與VBA設計(自強基金會2012)
http://groups.google.com/group/excelvba2012?hl=zh-TW
EXCEL,VBA,函數,自強基金會,吳清輝老師,程式設計,線上教學,e化創新,雲端計算,吳老師提供,APP教學

sql update where 在 吳老師教學部落格 Youtube 的評價
EXCEL_VBA與資料庫--自強基金會2012(Ending)
完整影音:http://terry55wu.blogspot.com/p/excelvba.html
EXCEL、 VBA與資料庫是分別屬於三個領域的知識,
但卻是目前大家都需要的一項專業技能,要把三者融和的很好實在非常不容易,
剛好我有近20年的VB程式設計與資料庫設計的經驗,
教EXCEL函數與相關課程也有多年,因此清楚如何把最重要的知識教給大家,
ADO資料庫設計的知識非常多,但根據我多年的設計實務經驗,
覺得最重要的是掌握SQL語言,就可以輕易的完成查詢、新增、修改與刪除等功能,
就可以輕易的完成自己想處理的大量資料,大大提高工作效率了!
今天課程主軸:
1.如何連結資料庫
2.EXCEL與ACCESS資料庫的綜合應用效率提升
3.重點在SQL與ADO
4.要學得太多,但會SQL就很好用
5.ACCESS可以輕鬆學會SQL
6.資料庫的四大功能:查詢新增修改刪除
7.學知識學不完,學觀念很快上手,如手機的SQLite資料庫亦同
8.分享程式碼畫面
9.不一定要用最新的技術,會有相容性問題
EXCEL與資料庫:
但要先學會ACCESS與SQL語法,再來學習EXCEL VBA與資料庫會更快上手,
不然不懂關聯式資料庫,在連結資料庫時間容易問題多多,若能懂SQL就更好了,
因為SQL是資料庫的共通語言,直接下SQL就可以完成想要的工作,
諸如:查詢、新增、修改與刪除資料了!
課程內容:
01_VBA連結資料庫複習
02_SQL查詢語法練習
03_SQL新增語法練習
04_VBA與SQL新增語法
05_SQL的UPDATE修改語法
06_SQL的UPDATE語法加入條件
07_VBA與UPDATE語法結合更新結果
08_VBA與UPDATE語法加WHERE條件
09_DELETE語法加WHERE條件說明
10_VBA與DELETE語法程式說明
補充資料:
EXCEL函數與VBA進階班總整理:
http://terry55wu.blogspot.com/p/excelvba.html
目前 EXCEL函數與VBA完整影音論壇:
1.EXCEL函數與VBA設計
http://groups.google.com/group/labor_excel_vba?hl=zh-TW
2.EXCEL函數與VBA進階51
http://groups.google.com/group/excelvba51?hl=zh-TW
3.EXCEL函數與VBA雲端班
http://groups.google.com/group/excelvbacloud?hl=zh-TW
4.EXCEL VBA辦公自動化班
http://groups.google.com/group/excelvba_cloud?hl=zh-TW
5.EXCEL函數與VBA設計(自強基金會2012)
http://groups.google.com/group/excelvba2012?hl=zh-TW

sql update where 在 吳老師教學部落格 Youtube 的評價
EXCEL_VBA與資料庫--自強基金會2012(Ending)
完整影音:http://terry55wu.blogspot.com/p/excelvba.html
EXCEL、 VBA與資料庫是分別屬於三個領域的知識,
但卻是目前大家都需要的一項專業技能,要把三者融和的很好實在非常不容易,
剛好我有近20年的VB程式設計與資料庫設計的經驗,
教EXCEL函數與相關課程也有多年,因此清楚如何把最重要的知識教給大家,
ADO資料庫設計的知識非常多,但根據我多年的設計實務經驗,
覺得最重要的是掌握SQL語言,就可以輕易的完成查詢、新增、修改與刪除等功能,
就可以輕易的完成自己想處理的大量資料,大大提高工作效率了!
今天課程主軸:
1.如何連結資料庫
2.EXCEL與ACCESS資料庫的綜合應用效率提升
3.重點在SQL與ADO
4.要學得太多,但會SQL就很好用
5.ACCESS可以輕鬆學會SQL
6.資料庫的四大功能:查詢新增修改刪除
7.學知識學不完,學觀念很快上手,如手機的SQLite資料庫亦同
8.分享程式碼畫面
9.不一定要用最新的技術,會有相容性問題
EXCEL與資料庫:
但要先學會ACCESS與SQL語法,再來學習EXCEL VBA與資料庫會更快上手,
不然不懂關聯式資料庫,在連結資料庫時間容易問題多多,若能懂SQL就更好了,
因為SQL是資料庫的共通語言,直接下SQL就可以完成想要的工作,
諸如:查詢、新增、修改與刪除資料了!
課程內容:
01_VBA連結資料庫複習
02_SQL查詢語法練習
03_SQL新增語法練習
04_VBA與SQL新增語法
05_SQL的UPDATE修改語法
06_SQL的UPDATE語法加入條件
07_VBA與UPDATE語法結合更新結果
08_VBA與UPDATE語法加WHERE條件
09_DELETE語法加WHERE條件說明
10_VBA與DELETE語法程式說明
補充資料:
EXCEL函數與VBA進階班總整理:
http://terry55wu.blogspot.com/p/excelvba.html
目前 EXCEL函數與VBA完整影音論壇:
1.EXCEL函數與VBA設計
http://groups.google.com/group/labor_excel_vba?hl=zh-TW
2.EXCEL函數與VBA進階51
http://groups.google.com/group/excelvba51?hl=zh-TW
3.EXCEL函數與VBA雲端班
http://groups.google.com/group/excelvbacloud?hl=zh-TW
4.EXCEL VBA辦公自動化班
http://groups.google.com/group/excelvba_cloud?hl=zh-TW
5.EXCEL函數與VBA設計(自強基金會2012)
http://groups.google.com/group/excelvba2012?hl=zh-TW
EXCEL,VBA,函數,自強基金會,吳清輝老師,程式設計,線上教學,e化創新,雲端計算,吳老師提供,APP教學
