แบบฝึกหัดท้ายบท 4

คิวรี่ (Query)

 

   ตอนที่ 1

กำหนดให้ Sudent Database Schema

        Student(Name,StudentNumber,class,Major)

        Course(CourseName,CourseNumber,Creditstburs,DeptNo)

        Section(SectionID,CourseNumber,Semester,Year,Instructor)

        Grade - Report(StudentNumber,SectionID,Grade)

ให้เขียนคำสั่ง Transaction - SQL เพื่อค้นหาสิ่งต่อไปนี้

1.หานักศึกษา ปวส,1,2 ทุกคนในสาขาคอมพิวเตอณืธุรกิจ

    ตอบ    SELECT Major

                FROM student

                WHERE Major = 'คอมพิวเตอร์'

 

2. หาชื่อวิชาที่สอนโดยอาจารย์ "นพรัตน์" ในระหว่างปี 1997 ถึง 1999

    ตอบ    SELECT CourseName

                From Course C,Section s

                WHERE C.CourseNumber = S.CourseNumber and Instructor = 'นพรัตน์' and Year >= 1997 and Year <= 1999

 

3. พิมพ์ Transection ของน.ศ. ปวส.2 ในสาขาวิชาคอมพิวเตอร์ธุรกิจโดนใน Transcript จะมีข้อมูลชื่อ , ชั้น , ชื่อวิชาที่ลง , หน่วย

กิจ , เทอมและมีที่ลง , Grade ที่ได้

    ตอบ    SELECT Name, Coursename,Credits Hours,Semeber,Year,Grade

                FROM student st,Course C,Section Se,Grade_Report

                WHERE st.class='ปวส.2' and st.Major=คอมพิวเตอร์

    C.Course Number = se.CourseNumber and G.StudentNumber = S.studentNumber and Se.SectionID=G.SectionID

 

4. หาชื่อ น.ศ. ที่ได้ A ทุกวิชา

    ตอบ    SELECT name

                FROM Student S,Grade_Report G

                WHERE S.StudentName=G.StudentName and Grade = 'A'

 

5. อธิบายคำสั่ง Transaction_SQL ต่อไปนี้

    SELECNumber,Location

    FROM Address

    Where location LIKE "Bang%"

ตอบ    ค้นหาหมายเลขและ Location จากตาราง Address โดย Location ขั้นต้นด้วย Bang และจะมีอะไรต่อหรือไม่ก็ได้

 

6. SELECT Number,LOCATION

    FROM Address

    WHERE Location LIKR "BANG_ _"

ตอบ    ค้นหา Number,Locationจากตาราง address โดย Location ขั้นต้นด้วย Bang และมีตัวอักษรข้างหลังอีก 2 ตัวอักษร

 

7. SELECT Department AVG(Salary)

    FROM Employee

    GROUP BY Department

    HAVING AVG(Salary)>15000

        ตอบ        หาค่าเฉลี่ยของ Department และ AVG(salary) จากตาราง Employee ที่มีค่ามากกว่า 15,000

 

8. SELECT Count(*)

    FROM Employee

     ตอบ         นับจำนวนแถวทั้งหมดในตารง Employee 

 

9. SELECT Fname,Lname

    FROM EMPLOYEE

    WHERE Salary>IN

            (SELECT Salary FROM Employee WHERE Department = 'ธุรการ'

    ตอบ

 

 

 

 

10. SELECT Fname,Lname

    From Employee

    WHERE City="London"

    ตอบ    หาชื่อ-สกุลจากตาราง Employee ที่มีอยู่ในเมือง London

 

ตอนที่ 2

 

1. Distinction

    ตอบ    คำสั่งที่ทำให้ข้อมูลที่มีกันแสดงแค่ครั้งเดียว

2. Arifmetic Operators

    ตอบ    โอเปอร์เรเตอร์คณิตศาสตร์

3. Comparison Operators

    ตอบ    โอเปอร์เรเตอร์เปรียบเทียบ

4.Logical Operators

    ตอบ    โอเปอร์เรเตอร์ตรรกะ

5. Character Operators

    ตอบ    โอเปอร์เรเตอร์อักขระ

6. Aggregate Functions

    ตอบ    ฟังก์ชั่นในการรวม

7. Arithmetic   Function

    ตอบ    ฟังก์ชั่นคณิตศาสตร์

8. Miscellaneous Functions

    ตอบ    ฟังก์ชั่นอื่น ๆ

9. Date and Tune Functions

    ตอบ    ฟังก์ชั่นวันที่และเวลา

10. Conversion Functions

    ตอบ    ฟังก์ชั่นการแปล

 



นายธีระทัศน์ เสียงอ่อน
5039011012