วันพุธที่ 17 ธันวาคม พ.ศ. 2557

คำสั่ง SQL เบื้องต้น [2]

5.การใช้ตัวแปร NULL 
ในเงื่อนไขใช้คำสั่ง xxx IS NOT NULL เช่นต้องการดูสิ่งมีชีวิตที่ไม่มีเพศ
 SELECT *
 FROM   human
 WHERE sex IS NOT NULL;

6.การตั้งชื่อเป็นชื่อที่เราต้องการ
 หมายถึงเวลา select บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
 SELECT name AS ‘NAME-SURNAME’
 FROM   human;

7.COUNT การนับจำนวน + GROUP BY การจัดกลุ่ม
 COUNT ใช้ในการนับจำนวนของตารางต่างๆ จะใช้คู่กับ GROUP BY ได้ดีเพราะจะช่วยในการจัดกลุ่มชุดข้อมูลได้ดีขึ้น
 SELECT <อื่นๆ> COUNT(*)
 FROM <ชื่อtable>
 WHERE <เงื่อนไข>
 GROUP BY <จัดกลุ่มโดยใช้อะไร>
 เช่นต้องการนับจำนวนคนในแต่ละเพศ
 SELECT sex , COUNT(*)
 FROM   human
 GROUP BY sex;
SET การกำหนดตัวแปร
 SET @<ชื่อตัวแปร> = <ค่า>
 เช่น  SET @A1 = ‘Natsu Sencho’;
  SET @A2 = ‘1999-09-09’;

8.คำสั่งแบบหลายเงื่อนไข
Select  <filed_1 , filed_2 , … , filed_n  /  *  >
From  <Table_name>
Where  < condition-1 >
<And / Or >  <condition-2>  ;
And ให้ผลเหมือนการ  Intersection
Or ให้ผลเหมือนการ  Union
เช่น    Select * from work
                    Where proj_num = 15 ;  (เลือกข้อมูลการทำงานโครงการ 15)
Select * from work
                    Where hours  > 3 ;  (เลือกข้อมูลการทำงานที่มากกว่า 3 ชั่วโมง)
Select * from employee
                    where job = "Programmer"  ; (เลือกพนักงานที่เป็น Programmer)

9.คำสั่งแบบหลายเงื่อนไข
Select  <filed_1 , filed_2 , … , filed_n  /  *  >
From  <Table_name>
Where  < condition-1 >
<And / Or >  <condition-2>  ;
And ให้ผลเหมือนการ  Intersection
Or ให้ผลเหมือนการ  Union
เช่น select * from work
where proj_num  = 15   and hours  > 3 ;
(เลือกพนักงานที่ทำงานโครงการ 15 และทำงานมากกว่า 3 ชั่วโมง : ต้องอยู่โครงการ 15)
select * from work
where proj_num  = 15  or hours  > 3 ;
(เลือกพนักงานที่ทำงานโครงการ 15 หรือทำงานมากกว่า 3 ชั่วโมง : อาจทำงานอยู่โครงการอื่น)

10.คำสั่งที่มีการใช้งานหลายตาราง (join)
Select  <filed_1 , filed_2 , … , filed_n  /  *  >
From  <table_1 , table_2 , …, table_n>
Where  < condition-1 > ;
       1. ต้องมีการเชื่อม PK และ FK ของทั้งสองตารางเข้าด้วยกัน (Join)
       2.หากมี field ใดที่ชื่อซ้ำกันทั้งสองตาราง
          เมื่ออ้างถึง ต้อง ระบุชื่อตาราง ตามด้วยชื่อฟิลด์ เช่น
          work.emp_num หรือ employee.emp_num
เช่น Select  employee.emp_num , emp_name , hours
From    employee , work
Where  employee.emp_num = work.emp_num  ;
แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
 เนื่องจาก  ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงานจึงต้องมีการ join ตารางที่มีข้อมูลเข้าด้วยกัน)


ไม่มีความคิดเห็น:

แสดงความคิดเห็น