Өгөгдлийг эрэмбэлэх

SQL-операторт эрэмбэлэх дарааллыг зааж өгөөгүй бол өгөгдлийг хүснэгтэд байгаа байрлалын дагуу татан ирнэ. Энэ нь бичлэгүүд хүснэгтэд нэмэгдсэн дараалал байж болно. Гэхдээ бичлэгүүд дараа нь өөрчлөгдөх, утсгах зэрэг ажиллагаанд хамрагдсан бол дараалал нь ӨСУС үлдсэн зайг хэрхэн ашигласнаас шалтгаалах болно.
SELECT оператораар татан авч байгаа өгөгдлүүдийн дарааллыг тогтоохдоо ORDER BY гэсэн түлхүүр үгийг ашиглана.

SELECT prod_name FROM Products ORDER BY prod_name;

Командын үр дүн

Энэ бичлэг нь Өгөгдлийг татан авах хичээлд гарсан жишээтэй ижил боловч ORDER BY нь ӨСУС-д татан авсан өгөгдлүүдийг prod_name баганаар цагаан толгойн үсгийн дараалалаар эрэмбэлэхийг зааж өгнө. Тоонууд нь үсгүүдээс кодын хувьд өмнө байрладаг тул энд тоонуудаар эхэлсэн нэрүүд өмнө нь гарч ирсэн болно.

Хэд хэдэн баганаар эрэмбэлэх

Өгөгдлийг хэд хэдэн баганаар эрэмбэлэх шаардлага их тохиолддог. Жишээлбэл ажилчдын нэрсийг овог нэрээр нь, бүтээгдхүүнийг нэр, үйлдвэрлэсэн хугацаагаар эрэмбэлэх гэх мэтээр. Өгөгдлийг хэд хэдэн баганаар эрэмбэлэхийн тулд ORDER BY –д эрэмбэлэгдэх багануудын нэрийг таслалаар тусгаарлан бичиж өгдөг.

SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price, prod_name;

Командын үр дүн

Энэ жишээ нь Products хүснэгтээс 3 баганыг татан эхлээд үнээр нь дараа нь нэрээр нь эрэмбэлэж байна. Олон баганаар эрэмбэлэхдээ ORDER BY -д заагдсан дарааллын дагуу эрэмбэлэгдэнэ. Өөрөөр хэлбэл дээрх жишээгээр prod_price талбарт ижил утгатай хэд хэдэн мөр байсан тохиолдолд үр дүн prod_name талбараар эрэмбэлэгдэнэ.

Баганы байрлалаар эрэмбэлэх

Эрэмбэлэх дарааллыг багануудын нэрээр өгөхөөс гадна баганы харьцангуй байрлалаар (энгийнээр баганы дугаараар) өгч болно. Жишээлбэл

SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3; 

Командын үр дүн

Операторын бичлэг нь ORDER BY д зөрж байгаа хэдий ч үр дүн өмнөхтэйгээ ижил байна. Энд эрэмбэлэх дарааллыг баганы нэрээр биш SELECT операторт байрлаж байгаа дарааллаар ORDER BY 2 гэдэг нь SELECT операторын баганы жагсаалтын 2 -р багана буюу prod_price –г зааж байгаа юм. Эндээс ORDER BY 2,3 нь ORDER BY prod_price, prod_name гэсэнтэй ижил болно. SELECT операторт нэрийг нь заагаагүй баганаар эрэмбэлэхэд энэ аргыг ашиглаж болохгүй.

Эрэмбэлэх дарааллыг тогтоох

Өгөгдлийг эрэмбэлэх анхдагч нөхцөл нь (А гаас Я) буюу өсөх дараалал байдаг хэдий ч  ORDER BY –д (Я гаас А) буурах дарааллыг өгч болдог. Үүнийг DESC гэсэн түлхүүр үгийн тусламжтайгаар хийнэ. Доорх жишээн дээр бүтээгдхүүний үнүүд буурах дарааллаар эрэмбэлэгдэж байна. Өөрөөр хэлбэл хамгийн эхэнд хамгийн их үнэтэйгээс эхэлнэ гэсэн үг.

SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC, prod_name;

Командын үр дүн

Дээрх жишээнээс харвал DESC -г зөвхөн prod_price баганад тавьж өгсөн болохоор бүтээгдхүүний үнэ буурах дарааллаар харин prod_name багана нь ердийн өсөх дарааллаар эрэмбэлэгдсэн байгаа нь харагдаж байна. Эндээс хэрвээ та хэд хэдэн баганаар буурах дарааллаар эрэмбэлэхийг хүсвэл буурах эрэмбэтэй багана бүрийн ард DESC түлхүүр үгийг тавьж өгөх шаардлагатай.
DESC гэсэн үг нь DESCENDING гэсэн үгний товчлол бөгөөд энэ хоёр үгний алиныг ч ашиглаж болно. Харин анхдагч утга болох ASC нь ASCENDING гэсэн үгний товчлол юм.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 1799 Төлбөртэй

SELECT оператор нь SQL шаардлагыг илэрхийлнэ. Бидний өмнө үзсэн бүх SELECT операторууд нь өгөгдлийг нэг хүснэгтээс татах энгийн SQL шаардлага байсан.

Шаардлага – Ямар нэгэн SQL операторыг хэлнэ. Гэхдээ энэ хэллэг нь голдуу SELECT операторт хамаарагдана.

SQL хэлэнд дэд шаардлага үүсгэж болдог. Яагаад дэд шаардлага хэрэгтэй болсон вэ? Энэ ойлголтыг жишээгээр тайлбарлах нь илүү.

Санамж: MySQL ӨСУС-ийн 4.1 ээс дээш хувилбар дэд шаардлагыг дэмждэг

  Нээгдсэн тоо: 2368 Төлбөртэй

Ямар нэгэн хүснэгтийн өгөгдлийг засварлахдаа UPDATE операторыг ашигладаг. Энэ операторыг хоёр янзаар ашигладаг.

  1. Хүснэгтийн тодорхой бичлэгийг өөрчлөх
  2. Хүснэгтийн бүх бичлэгийг өөрчлөх

Санамж: UPDATE операторыг ашиглахдаа маш болгоомжтой байхгүй бол хүснэгтийн бүх бичлэгийг алдаатай өөрчилж болохыг сануулъя. UPDATE операторыг ашиглахын өмнө хичээлийн материалтай гүйцэд танилцах хэрэгтэй.
 
Клиент-сервер бүтэцтэй системд UPDATE ашиглахын тулд ӨСУС-д хандах онцгой эрхтэй байхыг шаардаж магадгүй. Ийм эрх танд байгаа эсэхийг шалгаарай.

  Нээгдсэн тоо: 2575 Төлбөртэй

Бид өмнө нь Тооцоологдох талбар үүсгэх хичээлд хүснэгтийн баганад завсарын нэр /alias/ хэрхэн өгөх тухай үзсэн. Үүнээс гадна SQL нь хүснэгтийн нэрэнд завсарын нэр /alias/ олгох боломжой байдаг. Энэ нь дараах хоёр үндсэн шалтгаантай.

  1. SQL-ийн илүү богино бичлэг
  2. Нэг SELECT операторт нэг хүснэгтийг олон дахин ашиглах боломжийг нээнэ

Дараах операторыг авч үзье

  Нээгдсэн тоо: 1839 Бүртгүүлэх

Өгөгдлийн сангийн хүснэгтүүд нь асар их мэдээллийг агуулж байдаг тул хүснэгтийн бүх мөрийг татах шаардлага бага гардаг. Ихэвчлэн хүснэгтийн мэдээллийн нэг хэсгийг ямар нэгэн үйлдэлд зориулан татан авах нь элбэг тохиолдоно. Ийм тохиолдолд өгөгдлийг татан авахдаа хайлтын нөхцлийг хэрэглэнэ. Үүний тулд SELECT операторыг WHERE гэсэн түлхүүр үгтэй цуг ашиглана. Жишээ нь

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 31

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 29

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 26

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 43

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 39

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

Нээгдсэн тоо : 34

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

Нээгдсэн тоо : 35

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

Нээгдсэн тоо : 51

 

react програмд олон хуудас үүсгэн удирдахын тулд react -ийн бүрэлдхүүнд ордоггүй ч түүнтэй нягт холбоотой ажилладаг нэмэлт пакетийг…

Нээгдсэн тоо : 61

 
Энэ долоо хоногт

Нээгдсэн тоо : 1202

 

Болд 315 бодлого бодох хэрэгтэй байсан ба тэр өдөр бүр өмнөх өдрөөсөө нэг ижил тооны бодлогоор илүүг боджээ. Болд эхний өдөр 11 бодлогыг бодсон бөгөөд бүх бодлогыг 9 өдөрт бодож дуусгасан бол сүүлийн өдөр Болд хэдэн бодлого бодсон бэ?

Нээгдсэн тоо : 327

 

утгыг ол.

Нээгдсэн тоо : 185