🔥 และในวันนี้ แอดจะพาเพื่อน ๆ มาทำความรู้จักกับอีกหนึ่งคำสั่งเจ๋ง ๆ ใน 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 - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有8部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,-- command create user alpha with encrypted password '1234'; \c demo grant select on table public.benjerry to alpha; grant select, insert, update, del...
「sql select from (select)」的推薦目錄:
- 關於sql select from (select) 在 BorntoDev Facebook 的最佳貼文
- 關於sql select from (select) 在 BorntoDev Facebook 的最讚貼文
- 關於sql select from (select) 在 純靠北工程師 Facebook 的最讚貼文
- 關於sql select from (select) 在 prasertcbs Youtube 的最佳貼文
- 關於sql select from (select) 在 prasertcbs Youtube 的最讚貼文
- 關於sql select from (select) 在 prasertcbs Youtube 的最讚貼文
sql select from (select) 在 BorntoDev Facebook 的最讚貼文
🔥 ในวันนี้เราจะมาพูดถึงเกี่ยวกับ View ใน SQL กัน ว่าเจ้านี่สามารถทำอะไร หรือช่วยอะไรเราได้บ้าง
.
👉 View เป็นโครงสร้าง Table ที่จำลองขึ้นตาม Statement ที่เขียนไว้ โดยปกติแล้วในการ Query ข้อมูลจาก Table ถ้าเกิดมีการ JOIN ข้อมูลหลายตารางแล้วได้ผลลัพธ์ที่ต้องการแล้ว เมื่อเราจะนำ Query นั้นไปใช้งานบ่อย ๆ จะเกิดปัญหาว่าเราต้องเขียน SQL ซ้ำในทุก ๆ ครั้งที่มีการเรียกใช้งาน ซึ่ง View สามารถแก้ปัญหาจุดนี้ได้
.
🌈 ซึ่ง View เหมือนกับตัวจำลองตาราง ที่ไม่มีอยู่จริง แต่สามารถเรียกใช้ได้เหมือน Table เลย เหมือนกับว่ามันคือ Table จำลองที่ไม่มีอยู่จริงก็ได้ ถ้าข้อมูลใน Table ต้นฉบับเปลี่ยน View ก็จะเปลี่ยนตามด้วย (เจ๋งสุด ๆ) และเราสามารถสร้าง View จากการผสมกันหลาย ๆ Table ได้อีกด้วยนะ
.
📑 ตัวอย่าง
CREATE VIEW FullStackTable
AS
SELECT *
FROM Employee
WHERE position = 'fullstack'
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
sql select from (select) 在 純靠北工程師 Facebook 的最讚貼文
#純靠北工程師4z0
----------
公司一段 SQL 是這樣寫的:
select top 1 t2.xxx
from (
巴拉巴拉一大串,看到眼花
) t1
left outer join t2
on t1.xx = t2.xx
where t2.xx = XXX
所以我說,前輩中間寫那一大串是在裝忙嗎?
select top 1 t2.xx
from t2
where t2.xx = XXX
結果一模一樣 @@
最近大前輩一直抱怨公司資料庫效能太差,我彷彿知道了什麼
----------
💖 純靠北官方 Discord 歡迎在這找到你的同溫層!
👉 https://discord.gg/tPhnrs2
----------
💖 全平台留言、文章詳細內容
👉 https://init.engineer/cards/show/6444
sql select from (select) 在 prasertcbs Youtube 的最佳貼文
-- command
create user alpha with encrypted password '1234';
\c demo
grant select on table public.benjerry to alpha;
grant select, insert, update, delete on table public.menu to alpha;
grant select, insert, update, delete on all tables in schema public to alpha;
revoke all privileges on all tables in schema public from alpha;
grant all privileges on all tables in schema public to alpha;
ดาวน์โหลด saturn database (saturn.tar) ได้ที่ ► http://bit.ly/2E2uY7a
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
สอน SQL สำหรับ Data Science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGq8M6HO8xrpkaRhvEBsQhw
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
#prasertcbs_SQL #prasertcbs #prasertcbs_PostgreSQL
sql select from (select) 在 prasertcbs Youtube 的最讚貼文
script สำหรับสร้างตาราง sales;
drop table if exists sales;
create table sales (
branch text,
dt date,
revenue int,
primary key (branch, dt)
);
insert into sales
select 'bangkok' branch, dt::date, (10000 + random() * 20000)::int revenue
from generate_series('2018-01-01'::date, '2019-12-31'::date, '1 day') dt
UNION
select 'phuket' branch, dt::date, (10000 + random() * 10000)::int revenue
from generate_series('2018-01-01'::date, '2019-12-31'::date, '1 day') dt
order by branch, dt;
ดาวน์โหลด PostgreSQL script ไฟล์ที่ใช้ในคลิปได้ที่ ► http://bit.ly/2mdDVmm
ดาวน์โหลด saturn database (saturn.tar) ได้ที่ ► http://bit.ly/2E2uY7a
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
สอน SQL สำหรับ Data Science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGq8M6HO8xrpkaRhvEBsQhw
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
#prasertcbs_SQL #prasertcbs #prasertcbs_PostgreSQL
sql select from (select) 在 prasertcbs Youtube 的最讚貼文
ดาวน์โหลดไฟล์ที่ใช้ในคลิปได้ที่ ► http://bit.ly/2N6mLyI
select uid, name, region, sales
from gamesales
unpivot (
sales for region in (na, eu, jp, other)
) u
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
playlist สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
playlist การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
playlist การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
#prasertcbs_SQL #prasertcbs