SlideShare a Scribd company logo
9 долоо хоног ӨС-ийн боловсруулалт Агуулга  Select команд  Хүснэгтүүдийг холбох  энгийн холболт  гадаад холболт  Эрэмбэлэлт,бүлэглэлт
ӨС-ийн боловсруулалт  Select команд Үндсэн үйлдлүүд Хүснэгтүүд холбох  Энгийн холболт  SELECT  < хүснэгт1>.<талбар1>, <хүснэгт1>.<талбар2>, <хүснэгт2>.<талбар1>, <хүснэгт2>. <талбар2>,...  FROM  <хүснэгт1> INNER JOIN < хүснэгт2> ON  <хүснэгт1>.<түлхүүр >=<хүснэгт2>.<түлхүүр > Талбарыг ямар хүснэгтээс уншихыг заахын тулд хүснэгтийн нэр, талбарын нэр хоёрыг  цэгээр тусгаарлаж  өгнө
ӨС-ийн боловсруулалт  Select команд Энгийн холболт Жишээ нь: Оюутан ба оюутны мэргэжил хүснэгтийг мэргэжлийн кодоор холбож оюутны мэргэжлийг дэлгэрүүлж гаргах  Select  St.*, Pr. Prof_Name  From   Students St  Inner   Join  Profession Pr  ON  St. Prof_ID = Pr. Pr_ID  Тайлбар: St.*- оюутан хүснэгтээс бүх талбарыг уншина
ӨС-ийн боловсруулалт  Select команд Энгийн холболт Зэрэгцээ энгийн холболт  Жишээ Оюутны 7 хоногийн цагийн ачааллыг бодох зорилгоор  Хичээл( Course) , Хичээлийн хэлбэр( Course_Type) , Оюутны хичээл сонголт( Student _Course)  гэсэн 3 хүснэгтийг холбоё SELECT  St_Crs. St_ID, Crs. *, Crs_T.Type,  Crs_T. Hour  FROM  Course Crs  INNER   JOIN  Course_type Crs_T    ON  Crs. Crs_ID=Crs_T. Crs_ID,     INNER JOIN  Student _Course St_Crs    ON  Crs. Crs_ID=St_Crs.Crs_ID  INTO TEMP  Student_Hour
ӨС-ийн боловсруулалт  Select команд Энгийн холболт Үр дүнгийн  Student_Hour  хүснэгт  St_ID  Crs_ID Crs_Name Credit Type Hour  HW03D025 SW207 Ө С 3 Лекц 2 HW03D025 SW207 Ө С 3 Семинар 2 HW03D025 SW230 Веб дизайн 2 Лекц 2 HW03D025 SW230 Веб дизайн 2 Лаборатор 1 SW03D026 SW207 Ө С 3 Лекц 2 SW03D026 SW207 Ө С 3 Семинар 2 SW03D026 SW230 Веб дизайн 2 Лекц 2 SW03D025 SW230 Веб дизайн 2 Лаборатор 1
ӨС-ийн боловсруулалт  Select команд Энгийн холболт Холболтын үр дүнгээс бичлэг сонгох  Жишээ Програм хангамжийн оюутнуудын 7 хоногийн цагийн ачааллыг бодоё гэвэл бичлэг сонгох үйлдэл нэмэгдэнэ  SELECT  St_Crs. St_ID, Crs. *, Crs_T.Type,  Crs_T. Hour  FROM  Course Crs  INNER JOIN  Course_type Crs_T  ON  Crs. Crs_ID=Crs_T. Crs_ID,     INNER   JOIN  Student _Course St_Crs  ON  Crs. Crs_ID=St_Crs.Crs_ID  WHERE  Left(St_ID, 2)=“SW” INTO TEMP  SW_student_hour
ӨС-ийн боловсруулалт  Select команд Энгийн холболт Эсвэл  SELECT  St_Crs. St_ID, Crs. *, Crs_T.Type,  Crs_T. Hour  FROM S tudent_Hour WHERE  Left(St_ID, 2)=“SW” INTO TEMP  SW_student_hour Хуудас 4 дээрх  Select – ийн  Student_Hour  гэсэн хайлтыг ашиглаж болно
ӨС-ийн боловсруулалт  Select команд Энгийн холболт Үр дүнгийн SW_s tudent_hour  хүснэгт  St_ID  Crs_ID Crs_Name Credit Type Hour  SW03D026 SW207 Ө С 3 Лекц 2 SW03D026 SW207 Ө С 3 Семинар 2 SW03D026 SW230 Веб дизайн 2 Лекц 2 SW03D025 SW230 Веб дизайн 2 Лаборатор 1
ӨС-ийн боловсруулалт  Select команд Үндсэн үйлдлүүд Гадаад холболт  SELECT команданд зүүн гадаад холболтыг  Left Outer Join  гэж заадаг  Select  < харьцаа1>.<талбар1>,<харьцаа1>.<талбар2>,...  <харьцаа2>.<талбар1>, <харьцаа2>. <талбар2>, ... From  <эх харьцаа>  Left Outer   Join  <охин харьцаа>  On  <харьцаа1>.<түлхүүр> =<харьцаа2>.<түлхүүр>
ӨС-ийн боловсруулалт  Select команд Гадаад холболт Баруун гадаад холболтыг  Right Outer Join  гэж заадаг  Select  < харьцаа1>.<талбар1>, харьцаа1>.<талбар2>,...  <харьцаа2>.<талбар1>,<харьцаа2>.<талбар2>,…  From  <охин харьцаа>  Right Outer   Join  <эх харьцаа> On  <харьцаа1>.<түлхүүр> =<харьцаа2>.<түлхүүр>
ӨС-ийн боловсруулалт  Select команд Гадаад холболт Жишээ нь:  оюутан  ба  мэргэжил  хүснэгтүүдийг гадаадаар холбох  Select  St. *, Pr. Prof_Name  From  Student St   Left Outer   Join  Profession Pr   On  St. Prof_ID = Pr. Prof_ID  Оюутны код  Оюутны нэр  Мэрг. код    Мэрг. нэр  SW99B027 Д.Болор  D484105 Комп.ПХ  SW99B028 Х.Тамир  D484105 Комп.ПХ  SW99B029 M.Сувд  D484110 Комп.ТХ  SW99B039 С. Баяр  D484112  
Зэрэгцээ гадаад холболт  Жишээ1: Оюутны цагийн ачааллыг бодохын тулд хичээл сонголт ( Student _Course)  гэсэн гол мэдээллийг агуулж буй хүснэгтийг эх болгон, түүн рүү ( Course) , хичээлийн хэлбэрийг ( Course_Type)  хоёрыг   зэрэг холбоё SELECT  St_Crs. St_ID, Crs. *, Crs_T.Type,  Crs_T. Hour  FROM  Student _Course St_Crs    LEFT OUTER   JOIN  Course Crs  ON  St_Crs.Crs_ID=Crs.Crs_ID,   LEFT OUTER   JOIN  Course_type Crs_T  O N  St_Crs.   Crs_ID=Crs_T. Crs_ID   INTO TEMP  Student_Hour  ӨС-ийн боловсруулалт  Select команд Гадаад холболт
ӨС-ийн боловсруулалт  Select команд Гадаад холболт Дараалсан гадаад холболт  Жишээ1-ийг оюутны хичээл сонголт ( Student _Course)  гэсэн гол мэдээллийг агуулж буй хүснэгтийг эх болгон, түүн рүү 1-рт хичээлийг   ( Course) , 2-рт хичээлийн хэлбэрийг ( Course_Type)  холбож бас болох боловч илүү Select хийгдэнэ. SELECT  St_Crs. St_ID, Crs. *, Crs_T.Type,  Crs_T. Hour  FROM ( SELECT   St_Crs. St_ID, Crs. *  FROM  Student _Course St_Crs  LEFT OUTER   JOIN  Course Crs  ON  St_Crs.Crs_ID=Crs.Crs_ID) LEFT OUTER   JOIN  Course_type Crs_T  O N  St_Crs.   Crs_ID=Crs_T. Crs_ID  INTO TEMP  Student_Hour
Буруу холболтын жишээ  Харин жишээ1-ийг хичээл( Course) , хичээлийн хэлбэрийг ( Course_Type)  гэсэн мэдээллийг түрүүлж   холбоход тухайн улиралд ордоггүй, нэг ч оюутан сонгоогүй хичээлүүд үр ашиггүй холбогдоно  SELECT  St_Crs. St_ID, Crs. *, Crs_T.Type,  Crs_T. Hour  FROM (SELECT  Crs. *, Crs_T.Type,  Crs_T. Hour  FROM  Course Crs  INNER JOIN  Course_type Crs_T  ON  Crs.Crs_ID=Crs_T. Crs_ID ) LEFT OUTER   JOIN  Student _Course St_Crs  O N  Crs.Crs_ID=St_Crs.   Crs_ID  INTO TEMP  Student_Hour  ӨС-ийн боловсруулалт  Select команд Гадаад холболт
ӨС-ийн боловсруулалт  Select команд  Хүснэгтүүдийг холбох Холболт хийхэд анхаарах зүйлс  Үр ашиггүй холболт хийхгүй байх  Тайлан боловсруулалтанд орох гол мэдээллийн хүснэгтүүдээ эхлэж холбох  ямар нэгэн vйл ажиллагааны бvртгэл дэх єгєгдлийг нэгтгэсэн тайлан  Гол мэдээллийг нэгтгэж боловсруулсны дараа бүртгэл дэх кодуудыг дэлгэрүүлж задлах зорилгоор лавлахуудыг холбож байх  Лавлахуудыг хооронд нь түрүүлж холбохгүй байх
ӨС-ийн боловсруулалт  Select команд  Эрэмбэлэлт Хайлтын үр дүнг эрэмбэлэх  Хайлтын үр дүнг тодорхой эрэмбэтэй гаргая гэвэл Select командыг дараахи хэлбэрээр хэрэглэнэ  Select  < талбарын жагсаалт>  From  <хүснэгтийн нэр>   Order By  <эрэмбэлэх түлхүүр>   Тайлбар:  ORDER BY <эрэмбэлэх түлхүүр> - эрэмбэлэх түлхүүр талбар  Олон талбараар эрэмбэлэх үед талбаруудыг таслалаар тусгаарлаж заана
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт Бүлэглэх Select командын ерөнхий хэлбэр   SELECT   <талбаруудын жагсаалт>  FROM  <хүснэгтийн нэр>   GROUP BY  <бүлэглэх түлхүүр>  [ HAVING  <бичлэг сонгох нөхцөл>]  Тайлбар: GROUP BY <бүлэглэх түлхүүр>- бүлэглэх түлхүүр Олон талбараар бүлэглэх үед талбаруудыг таслалаар тусгаарлана  HAVING <нөхцөл>-бүлэглэлтийн үр дүнгээс бичлэг сонгох  HAVING –ийг GROUP BY заалтууртай давхар хэрэглэнэ
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт Бүлэглэлтийн жишээ  Багшийн хичээлийн нэгтгэлийг гаргах  Select  T_ID  As  Багшийн код,  COUNT  (хичээлийн код)  As  Нийт хичээл,   Sum  (кредит)  As  Нийт кредит  From  COURSE  Group by  T_ID  Order by  T_ID  Into temp  Teacher_Courses
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт 2 хичээлтэй, 8-аас илүү кредит заасан багш нарын нэгтгэлийг гаргах  Select   T_ID  As  Багшийн код,  Count  (хичээлийн код)  As  Нийт хичээл,  Sum  (кредит)  As  Нийт кредит  From  COURSE  Group by  T_ID  Having  Нийт хичээл=2  and  Нийт кредит>=8  Into temp  Teacher_Courses
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт Үр дүнгийн  Student_Hour  хүснэгтээс оюутны хичээлийн ачааллыг  улирлаар  нэгтгэж гаргая    Үүсэх бүлгүүд HW SW St_ID  Crs_ID Credit Type Hour  HW03D025 SW207 3 Лекц  2 HW03D025 SW207 3 Семинар 2 HW03D025 SW230 2 Лекц 2 HW03D025 SW230 2 Лаборатор 1 SW03D026 SW207 3 Лекц 2 SW03D026 SW207 3 Семинар 2
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт Нэгтгэлийн үр дүн  Тэнхмийн код  Суусан хичээлийн дундаж Дундаж цаг  HW 20.5 41 SW 20.1 45 BA 14.5 29
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт Завсрын  Query1 Select   St_ID  As   Оюутны_ код,  Count(Crs_Type)  As   Суусан цаг.тоо ,  Sum(Crs_Type_Hour*15)  As   Суусан нийт  цаг  From  Student_hour  Group by  St_ID, Crs_ID  Into  Query1   1 дэх шатанд оюутан тус бvрээр бvлэглэж нэгтгэлийг хийнэ St_ID Crs_ID Credit Type Hour  HW03D025 SW207 3 Лекц 2 HW03D025 SW207 3 Семинар 2 HW03D025 SW230 2 Лекц 2 HW03D025 SW230 2 Лаборатор 1 … … … … … SW03D026 SW207 3 Лекц 2 SW03D026 SW207 3 Семинар 2 Оюутны  код Суусан цаг.тоо  Суусан нийт  цаг  HW03D025 4 105 ... .. ... SW03D026 2 60
ӨС-ийн боловсруулалт  Select команд  Бүлэглэлт Завсрын  Query1 Select  Left( Оюутны  код, 2 )  As  Тэнхмийн код,  Avg ( Суусан цаг. тоо )  As  Суусан хичээлийн дундаж, Avr( Суусан нийт  цаг) As Дундаж цаг  From Query1 Group by Left( Оюутны  код, 2 )  Into Department_Totals  Оюутны  код  Суусан цаг.тоо  Суусан нийт  цаг  HW03D025 4 105 ... .. ... SW03D026 2 60 Тэнхмийн  код  Суусан хичээлийн дундаж  Дундаж цаг  HW 20.5 41 SW 20.1 45 BA 14.5 29
Унших материал “ ӨС” ном, бүлэг 6  хуудас 62-71 хуудас 76-81 Харьцаа алгебрийн илэрхийлэл Select командыг харьцуулж унших

More Related Content

PPT
Pp Lect9
PDF
10000mw blue laserpointer
PDF
Nautilus портал внедрения инноваций v3
PPT
Seminar 8.06.10
PDF
2. Business Model Creation For Startups By Altantuya
PDF
Презентация KM Russia 2014
PPTX
Embodied Facilitator Course Russia
PPTX
Виртуальное обучение: инструменты и методы
Pp Lect9
10000mw blue laserpointer
Nautilus портал внедрения инноваций v3
Seminar 8.06.10
2. Business Model Creation For Startups By Altantuya
Презентация KM Russia 2014
Embodied Facilitator Course Russia
Виртуальное обучение: инструменты и методы

Viewers also liked (15)

PDF
3000мвт зеленая лазерная указка
PDF
04 lecture creation создание
PPTX
Inbox Zero is Not a Unicorn - Here's How to Get There
PDF
Flash Point 2014, Мексика. Стратегия в формате Co-creation.
PPTX
Democratic Deliberation on YouTube?
PDF
Rain water harvesting
PPT
Lecture 2
PPT
E-waste recycling-L
PPTX
PPT
Huntington Park Lacrosse Team
PPT
waste management
PDF
20091012_Personal data_02
PPT
Baby and Kids Buyers Show - Melbourne 2012
PDF
Samvit Insights Profile
PPT
Land Trust Ranching in Their Hands by Anne Muller
3000мвт зеленая лазерная указка
04 lecture creation создание
Inbox Zero is Not a Unicorn - Here's How to Get There
Flash Point 2014, Мексика. Стратегия в формате Co-creation.
Democratic Deliberation on YouTube?
Rain water harvesting
Lecture 2
E-waste recycling-L
Huntington Park Lacrosse Team
waste management
20091012_Personal data_02
Baby and Kids Buyers Show - Melbourne 2012
Samvit Insights Profile
Land Trust Ranching in Their Hands by Anne Muller
Ad

Similar to Pp Lect8 1 (12)

PPT
Pp Lect6 1
PPT
Pp Lect8
PPT
Pp Lect6
PPT
Pp Lect7 1
PPSX
6.1 6.3 excel
PPTX
Copy of 6.1 6.3 excel
PPTX
6.1 6.3 excel
PPTX
6.1 6.3 excel
DOC
SW206 labo
PPT
Pp Lect9 10 1
PPT
Pp Lect10 11
PDF
U.cs101 лаборатори 1
Pp Lect6 1
Pp Lect8
Pp Lect6
Pp Lect7 1
6.1 6.3 excel
Copy of 6.1 6.3 excel
6.1 6.3 excel
6.1 6.3 excel
SW206 labo
Pp Lect9 10 1
Pp Lect10 11
U.cs101 лаборатори 1
Ad

More from ulziibaatar (20)

PPT
Lecture 3 4
PPT
Lecture 1
DOCX
лабораторийн ажил 5
DOCX
лабораторийн ажил 4
DOCX
лабораторийн ажил 3
DOCX
лабораторийн ажил 2
DOCX
лабораторийн ажил 1
DOCX
Lab4 Report
DOCX
Lab2 Query
PPT
Pp Lect12 13
PPT
Pp Lect4 5
PPT
Access Table
PPT
Pp Lect41 1
PPT
Pp Lect13 1
PPT
Pp Lect5
DOC
PPT
Pp Lect4
DOC
Proj Example2
DOC
Proj Example1
DOC
Proj Descr
Lecture 3 4
Lecture 1
лабораторийн ажил 5
лабораторийн ажил 4
лабораторийн ажил 3
лабораторийн ажил 2
лабораторийн ажил 1
Lab4 Report
Lab2 Query
Pp Lect12 13
Pp Lect4 5
Access Table
Pp Lect41 1
Pp Lect13 1
Pp Lect5
Pp Lect4
Proj Example2
Proj Example1
Proj Descr

Pp Lect8 1

  • 1. 9 долоо хоног ӨС-ийн боловсруулалт Агуулга Select команд Хүснэгтүүдийг холбох энгийн холболт гадаад холболт Эрэмбэлэлт,бүлэглэлт
  • 2. ӨС-ийн боловсруулалт Select команд Үндсэн үйлдлүүд Хүснэгтүүд холбох Энгийн холболт SELECT < хүснэгт1>.<талбар1>, <хүснэгт1>.<талбар2>, <хүснэгт2>.<талбар1>, <хүснэгт2>. <талбар2>,... FROM <хүснэгт1> INNER JOIN < хүснэгт2> ON <хүснэгт1>.<түлхүүр >=<хүснэгт2>.<түлхүүр > Талбарыг ямар хүснэгтээс уншихыг заахын тулд хүснэгтийн нэр, талбарын нэр хоёрыг цэгээр тусгаарлаж өгнө
  • 3. ӨС-ийн боловсруулалт Select команд Энгийн холболт Жишээ нь: Оюутан ба оюутны мэргэжил хүснэгтийг мэргэжлийн кодоор холбож оюутны мэргэжлийг дэлгэрүүлж гаргах Select St.*, Pr. Prof_Name From Students St Inner Join Profession Pr ON St. Prof_ID = Pr. Pr_ID Тайлбар: St.*- оюутан хүснэгтээс бүх талбарыг уншина
  • 4. ӨС-ийн боловсруулалт Select команд Энгийн холболт Зэрэгцээ энгийн холболт Жишээ Оюутны 7 хоногийн цагийн ачааллыг бодох зорилгоор Хичээл( Course) , Хичээлийн хэлбэр( Course_Type) , Оюутны хичээл сонголт( Student _Course) гэсэн 3 хүснэгтийг холбоё SELECT St_Crs. St_ID, Crs. *, Crs_T.Type, Crs_T. Hour FROM Course Crs INNER JOIN Course_type Crs_T ON Crs. Crs_ID=Crs_T. Crs_ID, INNER JOIN Student _Course St_Crs ON Crs. Crs_ID=St_Crs.Crs_ID INTO TEMP Student_Hour
  • 5. ӨС-ийн боловсруулалт Select команд Энгийн холболт Үр дүнгийн Student_Hour хүснэгт St_ID Crs_ID Crs_Name Credit Type Hour HW03D025 SW207 Ө С 3 Лекц 2 HW03D025 SW207 Ө С 3 Семинар 2 HW03D025 SW230 Веб дизайн 2 Лекц 2 HW03D025 SW230 Веб дизайн 2 Лаборатор 1 SW03D026 SW207 Ө С 3 Лекц 2 SW03D026 SW207 Ө С 3 Семинар 2 SW03D026 SW230 Веб дизайн 2 Лекц 2 SW03D025 SW230 Веб дизайн 2 Лаборатор 1
  • 6. ӨС-ийн боловсруулалт Select команд Энгийн холболт Холболтын үр дүнгээс бичлэг сонгох Жишээ Програм хангамжийн оюутнуудын 7 хоногийн цагийн ачааллыг бодоё гэвэл бичлэг сонгох үйлдэл нэмэгдэнэ SELECT St_Crs. St_ID, Crs. *, Crs_T.Type, Crs_T. Hour FROM Course Crs INNER JOIN Course_type Crs_T ON Crs. Crs_ID=Crs_T. Crs_ID, INNER JOIN Student _Course St_Crs ON Crs. Crs_ID=St_Crs.Crs_ID WHERE Left(St_ID, 2)=“SW” INTO TEMP SW_student_hour
  • 7. ӨС-ийн боловсруулалт Select команд Энгийн холболт Эсвэл SELECT St_Crs. St_ID, Crs. *, Crs_T.Type, Crs_T. Hour FROM S tudent_Hour WHERE Left(St_ID, 2)=“SW” INTO TEMP SW_student_hour Хуудас 4 дээрх Select – ийн Student_Hour гэсэн хайлтыг ашиглаж болно
  • 8. ӨС-ийн боловсруулалт Select команд Энгийн холболт Үр дүнгийн SW_s tudent_hour хүснэгт St_ID Crs_ID Crs_Name Credit Type Hour SW03D026 SW207 Ө С 3 Лекц 2 SW03D026 SW207 Ө С 3 Семинар 2 SW03D026 SW230 Веб дизайн 2 Лекц 2 SW03D025 SW230 Веб дизайн 2 Лаборатор 1
  • 9. ӨС-ийн боловсруулалт Select команд Үндсэн үйлдлүүд Гадаад холболт SELECT команданд зүүн гадаад холболтыг Left Outer Join гэж заадаг Select < харьцаа1>.<талбар1>,<харьцаа1>.<талбар2>,... <харьцаа2>.<талбар1>, <харьцаа2>. <талбар2>, ... From <эх харьцаа> Left Outer Join <охин харьцаа> On <харьцаа1>.<түлхүүр> =<харьцаа2>.<түлхүүр>
  • 10. ӨС-ийн боловсруулалт Select команд Гадаад холболт Баруун гадаад холболтыг Right Outer Join гэж заадаг Select < харьцаа1>.<талбар1>, харьцаа1>.<талбар2>,... <харьцаа2>.<талбар1>,<харьцаа2>.<талбар2>,… From <охин харьцаа> Right Outer Join <эх харьцаа> On <харьцаа1>.<түлхүүр> =<харьцаа2>.<түлхүүр>
  • 11. ӨС-ийн боловсруулалт Select команд Гадаад холболт Жишээ нь: оюутан ба мэргэжил хүснэгтүүдийг гадаадаар холбох Select St. *, Pr. Prof_Name From Student St Left Outer Join Profession Pr On St. Prof_ID = Pr. Prof_ID Оюутны код Оюутны нэр Мэрг. код   Мэрг. нэр SW99B027 Д.Болор D484105 Комп.ПХ SW99B028 Х.Тамир D484105 Комп.ПХ SW99B029 M.Сувд D484110 Комп.ТХ SW99B039 С. Баяр D484112  
  • 12. Зэрэгцээ гадаад холболт Жишээ1: Оюутны цагийн ачааллыг бодохын тулд хичээл сонголт ( Student _Course) гэсэн гол мэдээллийг агуулж буй хүснэгтийг эх болгон, түүн рүү ( Course) , хичээлийн хэлбэрийг ( Course_Type) хоёрыг зэрэг холбоё SELECT St_Crs. St_ID, Crs. *, Crs_T.Type, Crs_T. Hour FROM Student _Course St_Crs LEFT OUTER JOIN Course Crs ON St_Crs.Crs_ID=Crs.Crs_ID, LEFT OUTER JOIN Course_type Crs_T O N St_Crs. Crs_ID=Crs_T. Crs_ID INTO TEMP Student_Hour ӨС-ийн боловсруулалт Select команд Гадаад холболт
  • 13. ӨС-ийн боловсруулалт Select команд Гадаад холболт Дараалсан гадаад холболт Жишээ1-ийг оюутны хичээл сонголт ( Student _Course) гэсэн гол мэдээллийг агуулж буй хүснэгтийг эх болгон, түүн рүү 1-рт хичээлийг ( Course) , 2-рт хичээлийн хэлбэрийг ( Course_Type) холбож бас болох боловч илүү Select хийгдэнэ. SELECT St_Crs. St_ID, Crs. *, Crs_T.Type, Crs_T. Hour FROM ( SELECT St_Crs. St_ID, Crs. * FROM Student _Course St_Crs LEFT OUTER JOIN Course Crs ON St_Crs.Crs_ID=Crs.Crs_ID) LEFT OUTER JOIN Course_type Crs_T O N St_Crs. Crs_ID=Crs_T. Crs_ID INTO TEMP Student_Hour
  • 14. Буруу холболтын жишээ Харин жишээ1-ийг хичээл( Course) , хичээлийн хэлбэрийг ( Course_Type) гэсэн мэдээллийг түрүүлж холбоход тухайн улиралд ордоггүй, нэг ч оюутан сонгоогүй хичээлүүд үр ашиггүй холбогдоно SELECT St_Crs. St_ID, Crs. *, Crs_T.Type, Crs_T. Hour FROM (SELECT Crs. *, Crs_T.Type, Crs_T. Hour FROM Course Crs INNER JOIN Course_type Crs_T ON Crs.Crs_ID=Crs_T. Crs_ID ) LEFT OUTER JOIN Student _Course St_Crs O N Crs.Crs_ID=St_Crs. Crs_ID INTO TEMP Student_Hour ӨС-ийн боловсруулалт Select команд Гадаад холболт
  • 15. ӨС-ийн боловсруулалт Select команд Хүснэгтүүдийг холбох Холболт хийхэд анхаарах зүйлс Үр ашиггүй холболт хийхгүй байх Тайлан боловсруулалтанд орох гол мэдээллийн хүснэгтүүдээ эхлэж холбох ямар нэгэн vйл ажиллагааны бvртгэл дэх єгєгдлийг нэгтгэсэн тайлан Гол мэдээллийг нэгтгэж боловсруулсны дараа бүртгэл дэх кодуудыг дэлгэрүүлж задлах зорилгоор лавлахуудыг холбож байх Лавлахуудыг хооронд нь түрүүлж холбохгүй байх
  • 16. ӨС-ийн боловсруулалт Select команд Эрэмбэлэлт Хайлтын үр дүнг эрэмбэлэх Хайлтын үр дүнг тодорхой эрэмбэтэй гаргая гэвэл Select командыг дараахи хэлбэрээр хэрэглэнэ Select < талбарын жагсаалт> From <хүснэгтийн нэр> Order By <эрэмбэлэх түлхүүр> Тайлбар: ORDER BY <эрэмбэлэх түлхүүр> - эрэмбэлэх түлхүүр талбар Олон талбараар эрэмбэлэх үед талбаруудыг таслалаар тусгаарлаж заана
  • 17. ӨС-ийн боловсруулалт Select команд Бүлэглэлт Бүлэглэх Select командын ерөнхий хэлбэр SELECT <талбаруудын жагсаалт> FROM <хүснэгтийн нэр> GROUP BY <бүлэглэх түлхүүр> [ HAVING <бичлэг сонгох нөхцөл>] Тайлбар: GROUP BY <бүлэглэх түлхүүр>- бүлэглэх түлхүүр Олон талбараар бүлэглэх үед талбаруудыг таслалаар тусгаарлана HAVING <нөхцөл>-бүлэглэлтийн үр дүнгээс бичлэг сонгох HAVING –ийг GROUP BY заалтууртай давхар хэрэглэнэ
  • 18. ӨС-ийн боловсруулалт Select команд Бүлэглэлт Бүлэглэлтийн жишээ Багшийн хичээлийн нэгтгэлийг гаргах Select T_ID As Багшийн код, COUNT (хичээлийн код) As Нийт хичээл, Sum (кредит) As Нийт кредит From COURSE Group by T_ID Order by T_ID Into temp Teacher_Courses
  • 19. ӨС-ийн боловсруулалт Select команд Бүлэглэлт 2 хичээлтэй, 8-аас илүү кредит заасан багш нарын нэгтгэлийг гаргах Select T_ID As Багшийн код, Count (хичээлийн код) As Нийт хичээл, Sum (кредит) As Нийт кредит From COURSE Group by T_ID Having Нийт хичээл=2 and Нийт кредит>=8 Into temp Teacher_Courses
  • 20. ӨС-ийн боловсруулалт Select команд Бүлэглэлт Үр дүнгийн Student_Hour хүснэгтээс оюутны хичээлийн ачааллыг улирлаар нэгтгэж гаргая Үүсэх бүлгүүд HW SW St_ID Crs_ID Credit Type Hour HW03D025 SW207 3 Лекц 2 HW03D025 SW207 3 Семинар 2 HW03D025 SW230 2 Лекц 2 HW03D025 SW230 2 Лаборатор 1 SW03D026 SW207 3 Лекц 2 SW03D026 SW207 3 Семинар 2
  • 21. ӨС-ийн боловсруулалт Select команд Бүлэглэлт Нэгтгэлийн үр дүн Тэнхмийн код Суусан хичээлийн дундаж Дундаж цаг HW 20.5 41 SW 20.1 45 BA 14.5 29
  • 22. ӨС-ийн боловсруулалт Select команд Бүлэглэлт Завсрын Query1 Select St_ID As Оюутны_ код, Count(Crs_Type) As Суусан цаг.тоо , Sum(Crs_Type_Hour*15) As Суусан нийт цаг From Student_hour Group by St_ID, Crs_ID Into Query1 1 дэх шатанд оюутан тус бvрээр бvлэглэж нэгтгэлийг хийнэ St_ID Crs_ID Credit Type Hour HW03D025 SW207 3 Лекц 2 HW03D025 SW207 3 Семинар 2 HW03D025 SW230 2 Лекц 2 HW03D025 SW230 2 Лаборатор 1 … … … … … SW03D026 SW207 3 Лекц 2 SW03D026 SW207 3 Семинар 2 Оюутны код Суусан цаг.тоо Суусан нийт цаг HW03D025 4 105 ... .. ... SW03D026 2 60
  • 23. ӨС-ийн боловсруулалт Select команд Бүлэглэлт Завсрын Query1 Select Left( Оюутны код, 2 ) As Тэнхмийн код, Avg ( Суусан цаг. тоо ) As Суусан хичээлийн дундаж, Avr( Суусан нийт цаг) As Дундаж цаг From Query1 Group by Left( Оюутны код, 2 ) Into Department_Totals Оюутны код Суусан цаг.тоо Суусан нийт цаг HW03D025 4 105 ... .. ... SW03D026 2 60 Тэнхмийн код Суусан хичээлийн дундаж Дундаж цаг HW 20.5 41 SW 20.1 45 BA 14.5 29
  • 24. Унших материал “ ӨС” ном, бүлэг 6 хуудас 62-71 хуудас 76-81 Харьцаа алгебрийн илэрхийлэл Select командыг харьцуулж унших