ลักษณะเช่นเดียวกับการใช้ Alias แทนชื่อตาราง เพียงแต่เปลี่ยนมาใช้แทนในส่วน column name
ตัวอย่าง
SELECT e.emp_id as employee_id, e.emp_name as employee_name
FROM employee as e
จากตัวอย่างคือ การตั้งชื่อ column ใหม่จาก SQL Query จากเดิม emp_id เป็น employee_id
และจาก emp_name เป็น employee_name
Mssql, Microsoft sql server, SSAS, SSRS ,SSIS , Analysis Service, Reporting Service, Integration Service, XMLA ,MDX ,SQL
วันพฤหัสบดีที่ 18 มีนาคม พ.ศ. 2553
การใช้ Alias แทนชื่อตารางในคำสั่ง SQL
เปรียบเหมือนการตั้งชื่อเล่นให้กับบุคคล เช่นคนที่ชื่อยาว ๆ ก็มีชื่อเล่นให้เรียกง่าย ๆนั่นเอง
ตัวอย่างการใช้ Alias ในคำสั่ง SQL
SELECT e.emp_id,e.emp_name,e.salary
FROM employee as e
ตัวอย่างการใช้ Alias ในคำสั่ง SQL
SELECT e.emp_id,e.emp_name,e.salary
FROM employee as e
คำสั่ง Group By ใน SQL
คำสั่ง Group By ใน SQL คือคำสั่งที่ใช้จัดกลุ่ม column จากการ Select ข้อมูล ซึ่งต้องใช้ร่วมกับ Aggregate function เช่น
-Count , Sum , Max , Min , Avg
ตัวอย่างการใช้ Group by
SELECT dept_no,COUNT(emp_id) as emp_count,SUM(salary) as sum_salary,MAX(salary) as max_salary,MIN(salary) as min_salary,AVG(salary) as avg_salary
FROM emp
GROUP BY dept_no
ความหมายของ Query นี้คือ การ นับจำนวนพนักงาน,ยอม Summary ของเงินเดือน ,เงินสูงสุด , เงินเดือนต่ำสุด และเงินเดือนเฉี่ยของพนักงาน ตามรหัสแผนกนั่นเอง
-Count , Sum , Max , Min , Avg
ตัวอย่างการใช้ Group by
SELECT dept_no,COUNT(emp_id) as emp_count,SUM(salary) as sum_salary,MAX(salary) as max_salary,MIN(salary) as min_salary,AVG(salary) as avg_salary
FROM emp
GROUP BY dept_no
ความหมายของ Query นี้คือ การ นับจำนวนพนักงาน,ยอม Summary ของเงินเดือน ,เงินสูงสุด , เงินเดือนต่ำสุด และเงินเดือนเฉี่ยของพนักงาน ตามรหัสแผนกนั่นเอง
คำสั่ง SQL , SQL Command
SQL คือ Simple Query Language (ย่อมาจาก) แปลตรง ๆ ก็คือ ภาษาพื้นฐานที่ใช้ในการสืบค้นข้อมูลนั่นเอง
SQL Query ส่วนใหญ่แล้วจะมี Syntax ที่คล้าย ๆ แตกต่างกันเพียงรายละเอียดปลีกย่อยเท่านั้น
การที่จะทำความเข้าใจกับ SQL ไม่ใช่เรื่องยาก เพียงแต่จะต้องมีความเข้าใจพื้นฐานสักเล็กน้อย
เกี่ยวกับฐานข้อมูล ซึ่งก็มีมากมายให้เลือกใช้ครับ ตั้งแต่ของฟรีไปยังที่ต้องจ่ายเงิน(มาก)
ตัวอย่าง Free Database ก็เช่น Mysql , SQL Server Express Edition,
ส่วนที่ต้องเสียเงินก็เช่น SQL Server 2005,2008 , Microsoft Access, ORACLE , DB2
คำสั่ง SQL พื้นฐาน
SELECT FROM WHERE ORDER BY
SELECT : คือ "การเลือก" ความหมายก็ตรงตัว
FROM : คือ "จาก"
WHERE : คือ "ที่ตรงตามเงื่อนไข"
ORDER BY : คือ "การเรียงลำดับข้อมูล" ASC (Ascendant) คือจากน้อยไปหามาก , DESC (Descendant) คือ จากมากไปหาน้อย
หากไม่ใส่ ASC / DESC ค่า Default จะเป็น ASC
ดังนั้น SELECT FROM WHERE + ORDER BY ก็คือ การเลือกข้อมูลจากแหล่งข้อมูล (ตาราง / Table,View) ที่ต้องการ
โดยสามารถระบุเงื่อนไขลงไปนั่นเอง
ตัวอย่างเช่น
SELECT * FROM employee ORDER BY emp_id ASC
ก็หมายความว่าเลือกทุกคอลัมน์จากตาราง employee โดยเรียงลำดับด้วยฟิลด์ emp_id จากน้อยไปหามาก
การใช้ WHERE ใน SQL
SELECT * FROM employee
WHERE emp_id ='100234'
หมายความว่า เลือกข้อมูลทุกคอลัมน์จากตาราง employee ที่ค่าในคอลัมน์ emp_id เท่ากับ '100234'
SELECT * FROM employee
WHERE emp_id LIKE '100%'
หมายความว่า เลือกข้อมูลทุกคอลัมน์จากตาราง employee ที่ค่าในคอลัมน์ emp ขึ้นต้นด้วย '100'
ค่าที่เหลือจะเป็นอะไรก็ได้
SELECT emp_id,emp_name,tel_no,salary,(salary *1.1) as new_salary
FROM employee
ORDER BY salary DESC
หมายความว่า เลือกข้อมูล ตาม column ที่ระบุ และมีการคำนวนค่าจาก column เงินเดือนเพิ่มเติม
จากตาราง employee โดยขึ้นเงินเดือน 10% (salary *1.1)
SQL Query ส่วนใหญ่แล้วจะมี Syntax ที่คล้าย ๆ แตกต่างกันเพียงรายละเอียดปลีกย่อยเท่านั้น
การที่จะทำความเข้าใจกับ SQL ไม่ใช่เรื่องยาก เพียงแต่จะต้องมีความเข้าใจพื้นฐานสักเล็กน้อย
เกี่ยวกับฐานข้อมูล ซึ่งก็มีมากมายให้เลือกใช้ครับ ตั้งแต่ของฟรีไปยังที่ต้องจ่ายเงิน(มาก)
ตัวอย่าง Free Database ก็เช่น Mysql , SQL Server Express Edition,
ส่วนที่ต้องเสียเงินก็เช่น SQL Server 2005,2008 , Microsoft Access, ORACLE , DB2
คำสั่ง SQL พื้นฐาน
SELECT FROM WHERE ORDER BY
SELECT : คือ "การเลือก" ความหมายก็ตรงตัว
FROM : คือ "จาก"
WHERE : คือ "ที่ตรงตามเงื่อนไข"
ORDER BY : คือ "การเรียงลำดับข้อมูล" ASC (Ascendant) คือจากน้อยไปหามาก , DESC (Descendant) คือ จากมากไปหาน้อย
หากไม่ใส่ ASC / DESC ค่า Default จะเป็น ASC
ดังนั้น SELECT FROM WHERE + ORDER BY ก็คือ การเลือกข้อมูลจากแหล่งข้อมูล (ตาราง / Table,View) ที่ต้องการ
โดยสามารถระบุเงื่อนไขลงไปนั่นเอง
ตัวอย่างเช่น
SELECT * FROM employee ORDER BY emp_id ASC
ก็หมายความว่าเลือกทุกคอลัมน์จากตาราง employee โดยเรียงลำดับด้วยฟิลด์ emp_id จากน้อยไปหามาก
การใช้ WHERE ใน SQL
SELECT * FROM employee
WHERE emp_id ='100234'
หมายความว่า เลือกข้อมูลทุกคอลัมน์จากตาราง employee ที่ค่าในคอลัมน์ emp_id เท่ากับ '100234'
SELECT * FROM employee
WHERE emp_id LIKE '100%'
หมายความว่า เลือกข้อมูลทุกคอลัมน์จากตาราง employee ที่ค่าในคอลัมน์ emp ขึ้นต้นด้วย '100'
ค่าที่เหลือจะเป็นอะไรก็ได้
SELECT emp_id,emp_name,tel_no,salary,(salary *1.1) as new_salary
FROM employee
ORDER BY salary DESC
หมายความว่า เลือกข้อมูล ตาม column ที่ระบุ และมีการคำนวนค่าจาก column เงินเดือนเพิ่มเติม
จากตาราง employee โดยขึ้นเงินเดือน 10% (salary *1.1)
วันจันทร์ที่ 15 มีนาคม พ.ศ. 2553
Error Restore database in sql server 2005 Express
RestoreContainer::ValidateTargetForCreation
ในกรณีที่เคยเจอว่าไม่สามารถ Restore database ที่ Backup จากเครื่องอื่นลงเครื่องเราได้
ให้ลอง Check ใน Configuration manager ดังนี้
- Open SQL Server configuration manager
- Choose SQL Server 2005 service
- Right click on your sql server instant and select properties
- On logon tab --> Select "build in account"
- Select "Local System" from drop down list
Site Ref : http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/7b259f06-e1e2-47f5-8303-77775ee80400
ในกรณีที่เคยเจอว่าไม่สามารถ Restore database ที่ Backup จากเครื่องอื่นลงเครื่องเราได้
ให้ลอง Check ใน Configuration manager ดังนี้
- Open SQL Server configuration manager
- Choose SQL Server 2005 service
- Right click on your sql server instant and select properties
- On logon tab --> Select "build in account"
- Select "Local System" from drop down list
Site Ref : http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/7b259f06-e1e2-47f5-8303-77775ee80400
สมัครสมาชิก:
บทความ (Atom)