เปรียบเหมือนการตั้งชื่อเล่นให้กับบุคคล เช่นคนที่ชื่อยาว ๆ ก็มีชื่อเล่นให้เรียกง่าย ๆนั่นเอง
ตัวอย่างการใช้ Alias ในคำสั่ง SQL
SELECT e.emp_id,e.emp_name,e.salary
FROM employee as e
Mssql, Microsoft sql server, SSAS, SSRS ,SSIS , Analysis Service, Reporting Service, Integration Service, XMLA ,MDX ,SQL
วันพฤหัสบดีที่ 18 มีนาคม พ.ศ. 2553
คำสั่ง 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
Error installation sql server 2005 express , MSXML 6.0
เกิดจากการที่ Version ของ MSXML6 ที่มีในเครื่องใหม่กว่า Version ที่กำลังจะ Install
ให้ Remove ของเดิมออกก่อน โดยใช้โปรแกรม Windows Install cleanup
รายละเอียดของวิธีการ
http://support.microsoft.com/kb/968749
ให้ Remove ของเดิมออกก่อน โดยใช้โปรแกรม Windows Install cleanup
รายละเอียดของวิธีการ
http://support.microsoft.com/kb/968749
สมัครสมาชิก:
บทความ (Atom)