SQL: Querying Data With SELECT
Querying Data
Section titled “Querying Data”SQL ကိုအသုံးပြုပြီး Database ထဲက ကိုယ်လိုချင်တဲ့ data တွေကို ဘယ်လိုရယူမလဲ (သို့) ဘယ်လိုဆွဲထုတ်မလဲ (Data Retrieval) ဆိုတာကို လေ့လာကြပါမယ်။
Concepts တွေကို ရှင်းပြဖို့အတွက် Employees
လို့ခေါ်တဲ့ နမူနာ table တစ်ခုကို အသုံးပြုသွားပါမယ်။
Employees
Table -
EmployeeID | FirstName | LastName | Department | Salary | HireDate |
---|---|---|---|---|---|
101 | Alice | Williams | HR | $60000.00 | 2022-07-15 |
102 | Bob | Smith | IT | $85000.00 | 2021-03-01 |
103 | Charlie | Brown | IT | $95000.00 | 2020-05-12 |
104 | Diana | Jones | Marketing | $72000.00 | 2023-01-20 |
105 | Eve | Miller | HR | $62000.00 | 2023-09-01 |
The Core - SELECT and FROM
Section titled “The Core - SELECT and FROM”SQL တွင် data ဆွဲထုတ်သည့် query တိုင်းကို အခြေခံအကျဆုံး clause နှစ်ခုဖြင့် တည်ဆောက်ထားပါတယ်။
- SELECT: သင်လိုချင်တဲ့ data column (field) တွေကို သတ်မှတ်ရန်။ (“ဘာလိုချင်လဲ”)
- FROM: Data တွေ ဆွဲထုတ်ယူမယ့် Table ကို သတ်မှတ်ရန်။ (“ဘယ်ကယူမလဲ”)
Column အားလုံးကို ဆွဲထုတ်ခြင်း
Section titled “Column အားလုံးကို ဆွဲထုတ်ခြင်း”SQL မှာ Asterisk *
ဆိုတာက “column အားလုံး” လို့ အဓိပ္ပာယ်ရတဲ့ အတိုကောက် သင်္ကေတ တစ်ခုဖြစ်ပါတယ်။
Table ထဲက data အချက်အလက်အားလုံးကို ကြည့်ရှုလိုတဲ့အခါ Asterisk *
(Wildcard) ကိုသုံးနိုင်ပါတယ်။
Syntax:
SELECT * FROM table_name;
ဥပမာ - ဝန်ထမ်းအားလုံးရဲ့ data အကုန်လုံးကို ဆွဲထုတ်ပါ။
SELECT * FROM Employees;
ရလဒ် - ဒီ query က အပေါ်မှာဖော်ပြထားတဲ့ Employees table တစ်ခုလုံးကို အတိအကျ ပြန်လည်ပြသပေးပါလိမ့်မယ်။
သတ်မှတ်ထားသော Columns များကို ရွေးထုတ်ခြင်း
Section titled “သတ်မှတ်ထားသော Columns များကို ရွေးထုတ်ခြင်း”လိုအပ်တဲ့ column အနည်းငယ်ကိုပဲ ရွေးထုတ်ဖို့ဆိုရင် SELECT keyword ရဲ့နောက်မှာ ကိုယ်လိုတဲ့ column အမည်တွေကို ကော်မာ (,) ခြားပြီး တစ်ခုချင်းစီ ရေးပေးရပါမယ်။
Syntax:
SELECT column1, column2 FROM table_name;
ဥပမာ - ဝန်ထမ်းတစ်ဦးချင်းစီရဲ့ FirstName, LastName နှင့် Department တို့ကိုသာ ဆွဲထုတ်ပါ။
SELECT FirstName, LastName, DepartmentFROM Employees;
ရလဒ် -
FirstName | LastName | Department |
---|---|---|
Alice | Williams | HR |
Bob | Smith | IT |
Charlie | Brown | IT |
Diana | Jones | Marketing |
Eve | Miller | HR |
အကြံပြုချက် - SELECT * က အချက်အလက်တွေကို အမြန်စစ်ဆေးဖို့အတွက် အသုံးဝင်ပေမယ့် တကယ့် application တွေမှာတော့ ကိုယ်လိုအပ်တဲ့ column တွေကိုပဲ တိတိကျကျ ရွေးချယ်ရေးသားတာက ပိုကောင်းပါတယ်။ query ကို ပိုရှင်းလင်းစေပြီး ပိုမိုထိရောက်စေပါတယ်။
Column များအား Alias (ယာယီအမည်) သတ်မှတ်ခြင်း - AS keyword
Section titled “Column များအား Alias (ယာယီအမည်) သတ်မှတ်ခြင်း - AS keyword”AS keyword ကို Column သို့မဟုတ် Table တစ်ခုကို ယာယီအမည် (Alias) ပေးဖို့အတွက် အသုံးပြုပါတယ်။ တစ်ခါတစ်လေမှာ Database ထဲက column နာမည်တွေကို အတိုကောက်တွေပေးထားတာမျိုး၊ underscore (_) သုံးထားတာမျိုးတွေ ရှိတတ်ပါတယ်။ ဒီလိုအခြေအနေမျိုးမှာ Data တွေကို ပြန်လည်ဆွဲထုတ်ပြသတဲ့အခါ ဖတ်ရတာပိုနားလည်လွယ်အောင် column ခေါင်းစဉ်တွေကို ပြောင်းလဲနိုင်ပါတယ်။ AS keyword က ကျွန်တော်တို့ရဲ့ query ရလဒ် (result set) မှာ column ကို နာမည်ပြောင်းလဲပေးပါတယ်။ ဒါကို “alias” သတ်မှတ်ခြင်းဟု ခေါ်ပါတယ်။
Syntax:
SELECT column_name AS alias_nameFROM table_name;
ဥပမာ - ဝန်ထမ်းရဲ့ FirstName နှင့် Salary ကို ရွေးထုတ်ပြီး column ခေါင်းစဉ်ကို “Name” နှင့် “Annual Salary” အဖြစ် ပြောင်းလဲဖော်ပြပါ။
SELECT FirstName AS "Name", Salary AS "Annual Salary"FROM Employees;
ရလဒ် -
Name | Annual Salary |
---|---|
Alice | $60000.00 |
Bob | $85000.00 |
Charlie | $95000.00 |
Diana | $72000.00 |
Eve | $62000.00 |
အကြံပြုချက် - သင်ပေးမယ့် alias မှာ space ပါရင် သို့မဟုတ် reserved keyword ဖြစ်နေပါက အထက်ပါဥပမာကဲ့သို့ double quote (”) များကြားတွင် ထည့်သွင်းရေးသားရပါမယ်။
သင်္ချာဆိုင်ရာ တွက်ချက်မှုများ ပြုလုပ်ခြင်း
Section titled “သင်္ချာဆိုင်ရာ တွက်ချက်မှုများ ပြုလုပ်ခြင်း”SELECT statement အတွင်းမှာပဲ သင်္ချာဆိုင်ရာ တွက်ချက်မှုများကို တိုက်ရိုက်လုပ်ဆောင်နိုင်ပါတယ်။ Database က row တစ်ခုချင်းစီအတွက် တွက်ချက်မှုများကို လုပ်ဆောင်ပေးပါလိမ့်မယ်။
အသုံးများသော Operator များ
+
(ပေါင်းခြင်း)-
(နှုတ်ခြင်း)*
(မြှောက်ခြင်း)/
(စားခြင်း)
ဥပမာ - ဝန်ထမ်းတစ်ဦးချင်းစီ၏ လစာကို တွက်ချက်ပါ။
SELECT FirstName, Salary / 12 AS "Monthly Salary"FROM Employees;
ရလဒ် -
FirstName | Monthly Salary |
---|---|
Alice | $5000.00 |
Bob | $7083.33 |
Charlie | $7916.67 |
Diana | $6000.00 |
Eve | $5166.67 |
Data ထပ်နေတာတွေကို ဖယ်ရှားခြင်း - DISTINCT Keyword
Section titled “Data ထပ်နေတာတွေကို ဖယ်ရှားခြင်း - DISTINCT Keyword”တစ်ခါတစ်ရံ column တစ်ခုမှာ တန်ဖိုးတွေ ထပ်နေတတ်ပါတယ်။ (ဥပမာ - ‘HR’ ဌာနတစ်ခုတည်းမှာ ဝန်ထမ်းများစွာ ရှိနေခြင်း)။ အကယ်၍ ထပ်နေသောတန်ဖိုးများမပါဘဲ မတူကွဲပြားတဲ့ တန်ဖိုးတွေကိုပဲ ရရှိလိုပါက SELECT နောက်မှာ DISTINCT Keyword ကိုကပ်ပြီး အသုံးပြုနိုင်ပါတယ်။
Syntax:
SELECT DISTINCT column_nameFROM table_name;
ဥပမာ -
SELECT DISTINCT DepartmentFROM Employees;
ရလဒ် -
Department |
---|
HR |
IT |
Marketing |