Spectacle correction ng presbyopia gamit ang grid. Mga tampok ng pagwawasto ng presbyopia

Ang SQL (Structured Query Language) ay isang unibersal na wika ng computer na ginagamit upang lumikha, baguhin at pamahalaan ang data sa mga relational na database. Ang wikang SQL ay batay sa relational algebra at isang koleksyon ng mga operator.

Mayroong 4 na grupo ng mga operator. Isaalang-alang natin ang isang pangkat ng mga operator ng pagmamanipula ng data (Data Manipulation Language, DML, SQL DML)

Pagpili ng data

Ang pagpili ng data ay ang pinakakaraniwang operasyon na ginagawa gamit ang SQL. Ang SELECT statement ay isa sa pinakamahalagang pahayag sa wikang ito, na ginagamit upang pumili ng data. Ang syntax ng operator na ito ay ang mga sumusunod:

PUMILI ng hanay MULA sa talahanayan

Ang mga SELECT statement ay dapat maglaman ng mga salitang SELECT at FROM; iba pa mga keyword ay opsyonal.

Ang SELECT keyword ay sinusundan ng impormasyon tungkol sa kung aling mga field ang isasama sa magreresultang set ng data. Ang asterisk (*) ay tumutukoy sa lahat ng mga patlang ng talahanayan, halimbawa:

Upang pumili ng isang column, gamitin ang sumusunod na syntax:

PUMILI kumpanya

Ganito ang hitsura ng isang halimbawa ng pagpili ng maraming column:

PUMILI kumpanya,Telepono,Mail

Upang tukuyin ang mga pangalan ng mga talahanayan kung saan pinili ang mga tala, gamitin ang keyword na MULA, halimbawa:

PUMILI * MULA SA Mga customer

Ibabalik ng query na ito ang lahat ng mga field mula sa talahanayan ng Mga Customer.

Maaari mong gamitin ang sugnay na WHERE (opsyonal) upang i-filter ang mga resulta na ibinalik ng SELECT statement

PUMILI * MULA SA Mga Produkto KUNG SAAN Kategorya = 4

Maaari kang gumamit ng iba't ibang mga expression sa sugnay na WHERE,

SAAN expression1 [(AT | O) expression2 ...]

Halimbawa:

PUMILI * MULA SA Mga Produkto KUNG SAAN Kategorya = 2 AT Postavshik > 10

PUMILI ng Pangalan, Presyo MULA SA Mga Produkto KUNG SAAN Kategorya= 3 O Presyo< 50

Maaari mong gamitin ang mga sumusunod na operator:

< Меньше

<= Меньше или равно

<>Hindi pantay

> Higit pa

>= Higit sa o katumbas ng

Ang ORDER BY clause (opsyonal) ay ginagamit upang pagbukud-bukurin ang nagresultang data na itinakda ng isa o higit pang mga column. Ang mga keyword na ASC (pataas) o DESC (pababa) ay ginagamit upang matukoy ang pagkakasunud-sunod ng pag-uuri. Bilang default, ang data ay pinagsunod-sunod sa pataas na pagkakasunud-sunod.

Pagbabago ng data

Bilang karagdagan sa pagkuha ng data, ang SQL ay maaaring gamitin upang i-update at tanggalin ang data, kopyahin ang mga tala sa iba pang mga talahanayan, at magsagawa ng iba pang mga operasyon. Sa ibaba ay titingnan natin ang UPDATE, DELETE, at INSERT na mga pahayag na ginamit upang malutas ang ilan sa mga problemang ito.

I-UPDATE ang pahayag

Upang baguhin ang mga halaga sa isa o higit pang mga column ng isang table, gamitin ang UPDATE statement. Ang syntax ng operator na ito ay:

I-UPDATE ang talahanayan SET column1 = expression1 WHERE pamantayan

Ang expression sa SET clause ay maaaring isang pare-pareho o ang resulta ng isang pagkalkula. Halimbawa, upang taasan ang mga presyo ng lahat ng produkto na mas mababa sa $10, maaari mong patakbuhin ang sumusunod na query:

I-UPDATE Mga Produkto SET Presyo = Presyo * 1.1 SAAN Presyo< 10

I-DELETE ang pahayag

Upang tanggalin ang mga hilera mula sa mga talahanayan, dapat mong gamitin ang DELETE operator, ang syntax na kung saan ay:

I-DELETE MULA SA talahanayan kung saan pamantayan

Tanggalin ang lahat ng produkto na ang halaga ay mas mababa sa 100:

I-DELETE MULA SA Mga Produkto KUNG SAAN Presyo< 100

OperatorINSERT

Upang magdagdag ng mga tala sa mga talahanayan, dapat mong gamitin ang INSERT statement, ang syntax na kung saan ay:

INSERT INTO table ( VALUES (expression [, ...])

Halimbawa, upang magdagdag ng bagong customer sa talahanayan ng Mga Customer, maaari mong gamitin ang sumusunod na query:

INSERT INTO Customers (CustomerID, CompanyName) VALUES ('XYZ', 'XYZ Deli')

Ang pamantayang wika ng SQL ay pinagtibay noong 1992 at ginagamit pa rin hanggang ngayon. Ito ang naging pamantayan para sa marami. Siyempre, ang ilang mga tagagawa ay gumagamit ng kanilang sariling mga interpretasyon ng pamantayan. Ngunit ang anumang sistema ay mayroon pa ring mga pangunahing bahagi - mga pahayag ng SQL.

Panimula

Gamit ang mga pahayag ng SQL, ang mga halaga at talahanayan ay pinamamahalaan at nakuha para sa karagdagang pagsusuri at pagpapakita. Ang mga ito ay isang hanay ng mga keyword kung saan nauunawaan ng system kung ano ang gagawin sa data.

Ang ilang mga kategorya ng mga SQL statement ay tinukoy:

  • pagtukoy ng mga bagay sa database;
  • pagmamanipula ng mga halaga;
  • proteksyon at kontrol;
  • mga parameter ng session;
  • impormasyon tungkol sa database;
  • static na SQL;
  • dynamic na SQL.

Mga pahayag ng SQL para sa pagmamanipula ng data

INSERT. Naglalagay ng mga row sa isang umiiral na talahanayan. Maaari itong magamit para sa isang halaga o ilan, na tinukoy ng isang tiyak na kundisyon. Halimbawa:

pangalan ng talahanayan (pangalan ng column 1, pangalan ng column 2)

VALUES(value 1, value 2).

Para gamitin ang INSERT statement sa maraming value, gamitin ang sumusunod na syntax:

pangalan ng talahanayan 1 (pangalan ng column 1, pangalan ng column 2)

PUMILI ng pangalan ng column 1, pangalan ng column 2

MULA sa pangalan ng talahanayan 2

WHERE table name 2.column name 1>2

Pipiliin ng query na ito ang lahat ng data mula sa talahanayan 2 na mas malaki sa 2 sa column 1 at ipasok ito sa una.

I-UPDATE. Gaya ng iminumungkahi ng pangalan, ang SQL query statement na ito ay nag-a-update ng data sa isang umiiral na talahanayan batay sa isang partikular na feature.

I-UPDATE ang pangalan ng talahanayan 1

SET column name 2 = "Vasily"

WHERE table name 1.column name 1 = 1

Ang konstruksiyon na ito ay pupunuin ng halagang Vasily lahat ng mga linya kung saan nakatagpo nito ang numero 1 sa unang hanay.

Data mula sa talahanayan. Maaari kang tumukoy ng kundisyon o alisin ang lahat ng linya.

TANGGALIN MULA sa pangalan ng talahanayan

WHERE table name.column name 1 = 1

Aalisin ng query sa itaas mula sa database ang lahat ng data na may halagang isa sa unang column. Narito kung paano mo i-clear ang buong talahanayan:

PUMILI ng pahayag

Ang pangunahing layunin ng SELECT ay pumili ng data ayon sa ilang mga kundisyon. Ang resulta ng kanyang trabaho ay palaging isang bagong talahanayan na may napiling data. Ang MS operator ay maaaring gamitin sa iba't ibang mga query. Samakatuwid, kasama nito, maaari mong isaalang-alang ang iba pang nauugnay na mga keyword.

Upang piliin ang lahat ng data mula sa tiyak na talahanayan ang "*" sign ay ginagamit.

MULA sa pangalan ng talahanayan 1

Ang resulta ng query na ito ay isang eksaktong kopya ng talahanayan 1.

At narito ang isang pagpili ay ginawa gamit ang WHERE na kundisyon, na kinukuha mula sa talahanayan 1 ang lahat ng mga halaga na higit sa 2 sa hanay 1.

MULA sa pangalan ng talahanayan 1

WHERE table name 1.column name 1 > 2

Maaari mo ring tukuyin sa pagpili na ilang mga column lang ang kailangan.

PUMILI ng pangalan ng talahanayan 1.pangalan ng column 1

MULA sa pangalan ng talahanayan 1

Ang resulta ng query na ito ay ang lahat ng mga hilera na may mga halaga mula sa hanay 1. Gamit ang mga MS SQL na pahayag, maaari kang lumikha ng iyong sariling talahanayan, palitan, kalkulahin at palitan ang ilang mga halaga sa mabilisang.

pangalan ng talahanayan 1.pangalan ng hanay 1

pangalan ng talahanayan 1.pangalan ng hanay 2

pangalan ng talahanayan 1.pangalan ng hanay 3

pangalan ng talahanayan 1.pangalan ng hanay 2 * pangalan ng talahanayan 1.pangalan ng hanay 3 AS SUMMA

MULA sa pangalan ng talahanayan 1

Kinukuha ng mukhang kumplikadong query na ito ang lahat ng value mula sa Talahanayan 1, pagkatapos ay lumilikha ng mga bagong column na EQ at SUMMA. Ang una ay puno ng tanda na "+", at ang pangalawa ay ang produkto ng data mula sa mga haligi 2 at 3. Ang resulta na nakuha ay maaaring ipakita sa anyo ng isang talahanayan upang maunawaan kung paano ito gumagana:

Kapag ginagamit ang SELECT statement, maaari mong agad na ayusin ang data ayon sa anumang pamantayan. Ang salitang ORDER BY ay ginagamit para dito.

pangalan ng talahanayan 1.pangalan ng hanay 1

pangalan ng talahanayan 1.pangalan ng hanay 2

pangalan ng talahanayan 1.pangalan ng hanay 3

MULA sa pangalan ng talahanayan 1

ORDER BY column name 2

Ang resultang talahanayan ay magiging ganito:

Iyon ay, ang lahat ng mga hilera ay itinakda sa isang pagkakasunud-sunod na ang mga halaga sa hanay 2 ay nasa pataas na pagkakasunud-sunod.

Ang data ay maaari ding makuha mula sa ilang mga talahanayan. Para sa kalinawan, kailangan mo munang isipin na mayroong dalawa sa kanila sa database, tulad nito:

Talahanayan "Mga Empleyado"

Talahanayan na "Suweldo"

Ngayon ay kailangan mong ikonekta ang dalawang talahanayan na ito upang makuha pangkalahatang halaga. Gamit ang mga pangunahing pahayag ng SQL maaari mong gawin ito tulad nito:

Mga empleyado.Bilang

Pangalan ng empleyado

Salary.Rate

Sahod.Naipon

MULA sa mga empleyado, suweldo

WHERE Employees.Number = Salary.Number

Dito kami pumili mula sa dalawang magkaibang mga talahanayan ng mga halaga, na pinagsama ng numero. Ang magiging resulta ay ang sumusunod na set ng data:

Kaunti pa tungkol sa SELECT. Paggamit ng Pinagsama-samang Mga Pag-andar

Ang isa sa mga pangunahing operator ay maaaring magsagawa ng ilang mga kalkulasyon kapag kinukuha. Upang gawin ito, gumagamit siya ng ilang mga function at formula.

Halimbawa, upang makuha ang bilang ng mga talaan mula sa talahanayan ng Mga Empleyado, kailangan mong gamitin ang query:

PUMILI NG BILANG (*) BILANG N

MULA sa mga Empleyado

Ang resulta ay isang talahanayan na may isang halaga at isang haligi.

Maaari kang magpatakbo ng query tulad nito at makita kung ano ang mangyayari:

SUM(Suweldo. Naipon) AS SUMMA

MAX(Suweldo. Naipon) AS MAX

MIN(Suweldo. Naipon) AS MIN

AVG(Suweldo. Naipon) BILANG SRED

MULA sa suweldo

Ang huling talahanayan ay magiging ganito:

Ito ay kung paano ka makakapili mula sa database mga kinakailangang halaga, nagsasagawa ng mga kalkulasyon ng iba't ibang mga function sa mabilisang.

Union, intersection at mga pagkakaiba

Pagsamahin ang maraming query sa SQL

SELECT Employees.Pangalan

MULA sa mga Empleyado

WHERE Employees.Number = 1

SELECT Employees.Pangalan

MULA sa mga empleyado, suweldo

SAAN Salary.Number = 1

Dapat itong isipin na sa gayong unyon, ang mga talahanayan ay dapat na magkatugma. Ibig sabihin, may parehong bilang ng mga column.

SELECT statement syntax at processing order

Ang unang bagay na ginagawa ng SELECT ay tukuyin ang lugar kung saan ito kukuha ng data. Ang keyword na FROM ay ginagamit para dito. Kung hindi ipinahiwatig kung ano ang eksaktong pipiliin.

Pagkatapos ay maaaring naroroon ang SQL WHERE clause. Sa tulong nito, ang SELECT ay tumatakbo sa lahat ng mga row ng talahanayan at sinusuri ang data para sa pagsunod sa kundisyon.

Kung ang query ay naglalaman ng GROUP BY, kung gayon ang mga halaga ay pinagsama-sama ayon sa tinukoy na mga parameter.

Mga operator para sa paghahambing ng data

Mayroong ilang mga uri. Sa SQL paghahambing operator ay maaaring suriin Iba't ibang uri mga halaga.

    "=". Nagsasaad, gaya ng maaari mong hulaan, ang pagkakapantay-pantay ng dalawang expression. Halimbawa, nagamit na ito sa mga halimbawa sa itaas - WHERE Salary.Number = 1.

    ">". Higit pang tanda. Kung ang halaga ng kaliwang bahagi ng expression ay mas malaki, ang lohikal na TRUE ay ibabalik at ang kundisyon ay itinuturing na nasiyahan.

    «<». Знак меньше. Обратный предыдущему оператор.

    Palatandaan "<=» и «>=". Ito ay naiiba mula sa mga simpleng mas at mas kaunting mga operator na kung ang mga operand ay pantay, ang kundisyon ay magiging totoo din.

GAYA NG

Maaaring isalin ang keyword na ito bilang "katulad". Ang LIKE operator sa SQL ay ginagamit sa humigit-kumulang sa parehong paraan - ito ay nagpapatupad ng isang query batay sa isang template. Iyon ay, pinapayagan ka nitong palawakin ang pagpili ng data mula sa database gamit ang mga regular na expression.

Halimbawa, itinakda ang sumusunod na gawain: mula sa kilalang database ng "Mga Empleyado", kunin ang lahat ng mga tao na ang pangalan ay nagtatapos sa "I". Pagkatapos ang query ay maaaring isulat tulad nito:

MULA sa mga Empleyado

SAAN Pangalan TULAD ng `%i`

Porsiyento ng pag-sign in sa kasong ito nangangahulugang isang maskara, iyon ay, anumang karakter at kanilang numero. At sa pamamagitan ng titik na "I", matutukoy ng SQL na ang huling character ay dapat na eksaktong katulad nito.

KASO

Ang pahayag ng SQL Server na ito ay isang pagpapatupad ng maramihang pagpili. Ito ay nakapagpapaalaala sa switch construct sa maraming programming language. Ang CASE statement sa SQL ay gumaganap ng isang aksyon batay sa ilang kundisyon.

Halimbawa, kailangan mong piliin ang maximum at minimum na mga halaga mula sa talahanayan ng "Suweldo".

Pagkatapos ang query ay maaaring isulat tulad nito:

MULA sa suweldo

SAAN KASO KAPAG PUMILI NG MAX(Naipon) THEN Maximum

WHEN SELECT MIN(Accrued) THEN Minimum

Sa kontekstong ito, hinahanap ng system ang maximum at minimum na halaga sa column na Naipon. Pagkatapos, gamit ang END, ang isang "kabuuan" na field ay gagawin, kung saan ang "Maximum" o "Minimum" ay ilalagay, depende sa resulta ng kundisyon.

Sa pamamagitan ng paraan, ang SQL ay mayroon ding isang mas compact na anyo ng CASE - COALESCE.

Mga Operator ng Kahulugan ng Data

Binibigyang-daan ka ng view na ito na magsagawa ng iba't ibang mga pagbabago sa mga talahanayan - paglikha, pagtanggal, pagbabago at pagtatrabaho sa mga index.

Ang unang dapat isaalang-alang ay CREATE TABLE. Wala itong ginagawa kundi ang gumawa ng table. Kung i-type mo lang ang CREATE TABLE query, walang mangyayari, dahil kailangan mo pa ring tumukoy ng ilang parameter.

Halimbawa, upang lumikha ng pamilyar na talahanayan ng "Mga Empleyado", kailangan mong gamitin ang mga utos:

GUMAWA NG TABLE Empleyado

(Bilang(10) HINDI NULL

Pangalan varchar(50) NOT NULL

Apelyido varchar(50) NOT NULL)

Sa query na ito, ang mga pangalan ng mga patlang at ang kanilang mga uri ay agad na tinutukoy sa mga panaklong, pati na rin kung maaari itong maging katumbas ng NULL.

DROP TABLE

Gumagawa ng isang simpleng gawain - pag-drop sa tinukoy na talahanayan. May karagdagang parameter KUNG MAY MAY. Ito ay sumisipsip ng isang drop error kung ang talahanayan na iyong hinahanap ay wala. Halimbawa ng paggamit:

DROP TABLE Empleyado KUNG MAY MAY.

GUMAWA NG INDEX

Ang SQL ay may index system na nagbibigay-daan sa iyong mapabilis ang pag-access ng data. Sa pangkalahatan, ito ay isang link na tumuturo sa isang partikular na column. Maaari kang lumikha ng isang index na may isang simpleng query:

GUMAWA NG INDEX index_name

SA table_name(column_name)

Ginagamit ang operator na ito sa T-SQL, Oracle, PL SQL at marami pang ibang teknolohiya ng interpretasyon.

ALTER TABLE

Isang napaka-functional na operator na may maraming mga pagpipilian. Sa pangkalahatan, binabago nito ang istraktura, kahulugan at paglalagay ng mga talahanayan. Ginagamit na operator sa Oracle SQL, Postgres at marami pang iba.

    ADD. Nagdaragdag ng column sa table. Ang syntax nito ay ang sumusunod: ALTER TABLE table_name ADD column_name stored_data_type. Maaaring magkaroon ng opsyon na KUNG HINDI UMARI upang sugpuin ang error kung umiiral na ang column na ginagawa;

    I-DROP. Nag-aalis ng column. Mayroon din itong IF EXISTS key, kung wala ito ay bubuo ng error na nagsasaad na nawawala ang kinakailangang column;

    PAGBABAGO. Nagsisilbing palitan ng pangalan ang pangalan ng field sa tinukoy. Halimbawa ng paggamit: ALTER TABLE table_name CHANGE old_name new_name;

    BAGUHIN. Tutulungan ka ng command na ito na baguhin ang uri at karagdagang mga katangian ng isang partikular na column. At ito ay ginagamit tulad nito: ALTER TABLE table_name MAGBAGO ng column_name data_type attributes;

GUMAWA NG VIEW

Sa SQL mayroong isang bagay bilang isang view. Sa madaling salita, ito ay isang uri ng virtual na talahanayan na may data. Ito ay nabuo bilang resulta ng pagpili gamit ang SQL SELECT statement. Maaaring paghigpitan ng mga view ang pag-access sa database, itago ang mga ito, at palitan ang mga tunay na pangalan ng column.

Ang proseso ng paglikha ay nangyayari gamit ang isang simpleng kahilingan:

GUMAWA NG VIEW view name BILANG PUMILI MULA SA * pangalan ng talahanayan

Maaaring mangyari ang pagsa-sample mula sa buong database o batay sa ilang kundisyon.

Kaunti tungkol sa mga pag-andar

Ang mga query sa SQL ay madalas na gumagamit ng iba't ibang mga built-in na function na nagbibigay-daan sa iyong makipag-ugnayan sa data at baguhin ito sa mabilisang. Ito ay nagkakahalaga ng pagsasaalang-alang sa mga ito dahil sila ay bumubuo ng isang mahalagang bahagi ng isang nakabalangkas na wika.

    COUNT. Nagbibilang ng mga tala o mga hilera sa isang partikular na talahanayan. Maaari mong tukuyin ang pangalan ng column bilang isang parameter, pagkatapos ay kukunin ang data mula dito. PUMILI NG BILANG * MULA SA Mga Empleyado;

    AVG. Nalalapat lang sa mga column na may numeric data. Ang resulta nito ay ang pagpapasiya ng arithmetic mean ng lahat ng value;

    MIN at MAX. Nagamit na ang mga function na ito sa artikulong ito. Tinutukoy nila ang maximum at minimum na mga halaga mula sa isang tinukoy na hanay;

    SUM. Ito ay simple - kinakalkula ng function ang kabuuan ng mga halaga ng column. Eksklusibong nalalapat sa numeric data. Sa pamamagitan ng pagdaragdag ng DISTINCT parameter sa query, tanging ang mga natatanging halaga ang susumahin;

    BILOG. Function para sa rounding decimal fractions. Ginagamit ng syntax ang pangalan ng column at ang bilang ng mga decimal na lugar;

    LEN. Isang simpleng function na kinakalkula ang haba ng mga value ng column. Ang resulta ay isang bagong talahanayan na nagsasaad ng bilang ng mga character;

    NGAYON. Ang keyword na ito ay ginagamit upang kalkulahin ang kasalukuyang petsa at oras.

Mga Karagdagang Operator

Maraming mga halimbawa ng SQL statement ang may mga keyword na nagsasagawa ng maliliit na gawain ngunit lubos pa ring nagpapasimple sa pagkuha o pagmamanipula ng database.

    AS. Ginagamit ito kapag kailangan mong biswal na i-format ang resulta sa pamamagitan ng pagtatalaga ng tinukoy na pangalan sa resultang talahanayan.

    PAGITAN. Isang napaka-maginhawang tool sa sampling. Tinutukoy nito ang hanay ng mga halaga kung saan ang data ay kukunin. Kinukuha bilang input ang isang parameter mula sa at hanggang sa anong numero ginagamit ang hanay;.

    HINDI. Ang operator ay nagbibigay ng kabaligtaran ng expression.

    TRUNCATE. Tinatanggal ang data mula sa tinukoy na seksyon ng database. Naiiba ito sa mga katulad na operator dahil imposibleng maibalik ang data pagkatapos gamitin ito. Ito ay nagkakahalaga ng pagsasaalang-alang na ang pagpapatupad ng keyword na ito sa iba't ibang interpretasyon ng SQL ay maaaring magkaiba. Samakatuwid, bago subukang gamitin ang TRUNCATE, mas mabuting basahin ang impormasyon ng tulong.

    LIMIT. Itinatakda ang bilang ng mga linya sa output. Ang kakaiba ng operator ay palaging matatagpuan ito sa dulo. Tumatanggap ng isang kinakailangang parameter at isang opsyonal. Ang una ay tumutukoy kung gaano karaming mga hilera ng napiling data ang dapat ipakita. At kung ang pangalawa ay ginagamit, kung gayon ang operator ay gumagana bilang para sa isang hanay ng mga halaga.

    UNYON. Isang napaka-maginhawang operator para sa pagsasama-sama ng maramihang mga query. Natagpuan na ito sa mga halimbawa nito sa artikulong ito. Maaari mong ipakita ang nais na mga hilera mula sa ilang mga talahanayan sa pamamagitan ng pagsasama-sama ng mga ito sa UNION para sa mas maginhawang paggamit. Ang syntax nito ay ang sumusunod: SELECT column_name FROM table_name UNION SELECT other_column_name FROM other_table_name. Ang resulta ay isang pivot table na may pinagsamang mga query.

    PANGUNAHING SUSI. Isinalin bilang "pangunahing susi". Sa katunayan, ito mismo ang terminolohiya na ginagamit sa mga reference na materyales. Nangangahulugan ito ng isang natatanging row identifier. Ginagamit ito, bilang panuntunan, kapag lumilikha ng isang talahanayan upang ipahiwatig ang patlang na maglalaman nito.

    DEFAULT. Tulad ng nakaraang operator, ginagamit ito sa panahon ng pagpapatupad ng kahilingan sa paglikha. Tinutukoy nito ang default na halaga kung saan mapo-populate ang field kapag ito ay ginawa.

    WALA. Ang mga nagsisimula at hindi lamang mga programmer, kapag nagsusulat ng mga query, ay madalas na nakakalimutan ang tungkol sa posibilidad na makuha ang NULL na halaga. Bilang resulta, ang isang error ay gumagapang sa code, na mahirap subaybayan sa panahon ng pag-debug. Samakatuwid, kapag lumilikha ng mga talahanayan, pumipili o muling pagkalkula ng mga halaga, kailangan mong ihinto at isipin kung ang paglitaw ng NULL sa bahaging ito ng query ay isinasaalang-alang.

    Alaala. Nagpakita ang artikulong ito ng ilang function na maaaring magsagawa ng ilang gawain. Kapag bumubuo ng isang shell para sa pagtatrabaho sa isang database, maaari mong i-outsource ang pagkalkula ng mga simpleng expression sa database management system. Sa ilang mga kaso, nagbibigay ito ng makabuluhang pagtaas sa pagganap.

    Mga paghihigpit. Kung kailangan mong makakuha lamang ng dalawang row mula sa isang database na may libu-libong row, dapat mong gamitin ang mga operator tulad ng LIMIT o TOP. Hindi na kailangang mag-extract ng data gamit ang isang shell development language.

    Tambalan. Pagkatapos makatanggap ng data mula sa ilang mga talahanayan, maraming programmer ang nagsimulang pagsama-samahin ang mga ito gamit ang memorya ng shell. Pero bakit? Pagkatapos ng lahat, maaari kang lumikha ng isang kahilingan kung saan ang lahat ng ito ay naroroon. Hindi na kailangang magsulat ng karagdagang code at magreserba ng karagdagang memorya sa system.

    Pag-uuri. Kung posible na ilapat ang pag-order sa isang query, iyon ay, gamit ang DBMS, pagkatapos ay kailangan mong gamitin ito. Papayagan ka nitong makatipid nang malaki sa mga mapagkukunan kapag nagpapatakbo ng isang programa o serbisyo.

    Ang daming request. Kung kailangan mong magpasok ng maraming mga tala nang sunud-sunod, pagkatapos ay para sa pag-optimize dapat mong isipin ang tungkol sa batch na pagpasok ng data sa isang kahilingan. Papataasin din nito ang pagganap ng buong sistema sa kabuuan.

    Maingat na paglalagay ng data. Bago i-compile ang istraktura ng database, kailangan mong isipin kung napakaraming mga talahanayan at mga patlang ang kinakailangan. Marahil ay may isang paraan upang pagsamahin ang mga ito o itapon ang ilan. Kadalasan ang mga programmer ay gumagamit ng labis na dami ng data na hindi kailanman gagamitin kahit saan.

    Mga uri. Upang makatipid ng espasyo at mga mapagkukunan, kailangan mong maging sensitibo sa mga uri ng data na iyong ginagamit. Kung posible na gumamit ng isang uri na hindi gaanong "mabigat" para sa memorya, dapat mo itong gamitin. Halimbawa, kung alam mo na ang numeric na halaga sa isang ibinigay na field ay hindi lalampas sa 255, bakit gagamit ng 4-byte na INT kung mayroong 1-byte na TINYINT.

Konklusyon

Sa konklusyon, dapat tandaan na ang nakabalangkas na wika ng query na SQL ay ginagamit na ngayon sa halos lahat ng dako - mga website, mga serbisyo sa web, mga programa sa PC, mga aplikasyon para sa mga mobile device. Samakatuwid, ang kaalaman sa SQL ay makakatulong sa lahat ng sangay ng pag-unlad.

Gayunpaman, ang mga pagbabago sa orihinal na pamantayan ng wika ay minsan ay naiiba sa bawat isa. Halimbawa, ang mga pahayag ng PL SQL ay maaaring may ibang syntax kaysa sa SQL Server. Samakatuwid, bago ka magsimulang bumuo ng teknolohiyang ito, sulit na basahin ang mga tutorial dito.

Sa hinaharap, ang mga analogue na maaaring malampasan ang SQL sa pag-andar at pagganap ay malamang na hindi lumitaw, kaya ang lugar na ito ay isang medyo promising niche para sa sinumang programmer.

Ang SQL (Structured Query Language) ay isang unibersal na wika ng computer na ginagamit upang lumikha, baguhin at pamahalaan ang data sa mga relational na database. Ang wikang SQL ay batay sa relational algebra at isang koleksyon ng mga operator.

Mayroong 4 na grupo ng mga operator. Isaalang-alang natin ang isang pangkat ng mga operator ng pagmamanipula ng data (Data Manipulation Language, DML, SQL DML)

Pagpili ng data

Ang pagpili ng data ay ang pinakakaraniwang operasyon na ginagawa gamit ang SQL. Ang SELECT statement ay isa sa pinakamahalagang pahayag sa wikang ito, na ginagamit upang pumili ng data. Ang syntax ng operator na ito ay ang mga sumusunod:

PUMILI ng hanay MULA sa talahanayan

Ang mga SELECT statement ay dapat maglaman ng mga salitang SELECT at FROM; iba pang mga keyword ay opsyonal.

Ang SELECT keyword ay sinusundan ng impormasyon tungkol sa kung aling mga field ang isasama sa magreresultang set ng data. Ang asterisk (*) ay tumutukoy sa lahat ng mga patlang ng talahanayan, halimbawa:

Upang pumili ng isang column, gamitin ang sumusunod na syntax:

PUMILI ng Kumpanya

Ganito ang hitsura ng isang halimbawa ng pagpili ng maraming column:

PUMILI ng Kumpanya, Telepono, Mail

Upang tukuyin ang mga pangalan ng mga talahanayan kung saan pinili ang mga tala, gamitin ang keyword na MULA, halimbawa:

PUMILI * MULA SA Mga Customer

Ibabalik ng query na ito ang lahat ng mga field mula sa talahanayan ng Mga Customer.

Maaari kang gumamit ng sugnay na WHERE (opsyonal) upang i-filter ang mga resulta na ibinalik ng isang SELECT statement

PUMILI * MULA SA Mga Produkto KUNG SAAN Kategorya = 4

Maaari kang gumamit ng iba't ibang mga expression sa sugnay na WHERE,

SAAN expression1 [(AT | O) expression2 ...]

Halimbawa:

PUMILI * MULA SA Mga Produkto KUNG SAAN Kategorya = 2 AT Postavshik > 10

PUMILI ng Pangalan, Presyo MULA SA Mga Produkto KUNG SAAN Kategorya= 3 O Presyo< 50

Maaari mong gamitin ang mga sumusunod na operator:

< Меньше

<= Меньше или равно

<>Hindi pantay

> Higit pa

>= Higit sa o katumbas ng

Ang ORDER BY clause (opsyonal) ay ginagamit upang pagbukud-bukurin ang nagresultang data na itinakda ng isa o higit pang mga column. Ang mga keyword na ASC (pataas) o DESC (pababa) ay ginagamit upang matukoy ang pagkakasunud-sunod ng pag-uuri. Bilang default, ang data ay pinagsunod-sunod sa pataas na pagkakasunud-sunod.

Pagbabago ng data

Bilang karagdagan sa pagkuha ng data, ang SQL ay maaaring gamitin upang i-update at tanggalin ang data, kopyahin ang mga tala sa iba pang mga talahanayan, at magsagawa ng iba pang mga operasyon. Sa ibaba ay titingnan natin ang UPDATE, DELETE, at INSERT na mga pahayag na ginamit upang malutas ang ilan sa mga problemang ito.

I-UPDATE ang pahayag

Upang baguhin ang mga halaga sa isa o higit pang mga column ng isang table, gamitin ang UPDATE statement. Ang syntax ng operator na ito ay:

I-UPDATE ang talahanayan SET column1 = expression1 WHERE pamantayan

Ang expression sa SET clause ay maaaring isang pare-pareho o ang resulta ng isang pagkalkula. Halimbawa, upang taasan ang mga presyo ng lahat ng produkto na mas mababa sa $10, maaari mong patakbuhin ang sumusunod na query:

I-UPDATE Mga Produkto SET Presyo = Presyo * 1.1 SAAN Presyo< 10

I-DELETE ang pahayag

Upang tanggalin ang mga hilera mula sa mga talahanayan, dapat mong gamitin ang DELETE operator, ang syntax na kung saan ay:

I-DELETE MULA SA talahanayan kung saan pamantayan

Alisin ang lahat ng produkto na mas mababa sa 100 ang halaga.

Sa isang wika ng query SQL sumasakop sa isang makabuluhang lugar PUMILI ng pahayag, dahil ginagamit namin ito upang gumawa ng pagpili sa database. Sa artikulong ito titingnan natin ang mga pangunahing kaalaman ng napakahalagang SQL statement na ito.

Mayroong maraming iba't ibang mga artikulo, libro, at mga tutorial sa SQL sa Internet, ngunit ang lahat ng ito ay mahirap para sa isang tao na hindi pa nakakarinig ng SQL, o marahil kahit tungkol sa programming sa pangkalahatan, at samakatuwid ang lahat ng mga mapagkukunang ito ay mahirap para sa kanya na pag-aralan. . Dito sinusubukan kong ipaliwanag ang mga pangunahing kaalaman ng isang operator nang hindi malalim ( Ito ang nagpapahirap sa pag-aaral, na diretso silang lumipat mula sa mga pangunahing kaalaman patungo sa mga kumplikadong query), kaya kailangan mo munang matutunan ang mga pangunahing kaalaman, at pagkatapos ay lumipat sa mas kumplikado, na nagpapadali sa pag-aaral ng wikang SQL. Ang artikulong ito ay perpekto para sa mga nagsisimula na gustong matuto kung paano magsulat ng mga simpleng query sa SQL upang mabawi ang data.

Ano ang wikang SQL at ang SELECT statement

SQL ay isang query language na ginagamit upang manipulahin (pamahalaan) ang data sa mga relational database. Ito ay malawak na sikat at samakatuwid ang sinumang may paggalang sa sarili na IT na tao ay dapat malaman ang mga pangunahing kaalaman ng wikang ito, dahil halos lahat ng kumpanya ay may mga database.

PUMILI– Ang operator ng wikang SQL, ay kabilang sa pangkat ng mga operator ng pagmamanipula ng data ( Wika sa Pagmamanipula ng Data, DML) at nagsisilbing kunin ang data mula sa database.

Tandaan! Upang matutunan ang wika at database ng SQL, mayroong mga espesyal na libreng edisyon ng malalaking DBMS, halimbawa, ang SQL Server mula sa Microsoft ay may Express na edisyon. Mababasa mo kung paano i-install ang DBMS na ito sa materyal - Paglalarawan ng pag-install ng Microsoft SQL Server 2016 Express.

Narito ang pinakasimpleng halimbawa ng paggamit ng SELECT statement.

PUMILI * MULA sa Talahanayan

  • * — ipakita ang lahat ng data;
  • MULA - mula sa pinagmulan;
  • Talahanayan - pangalan ng pinagmulan ( sa aming kaso ang mesa).

Ngunit, sa pagsasagawa, madalas na hindi namin kailangan ang lahat ng data mula sa talahanayan, ngunit kung minsan ay ilang mga haligi lamang; upang gawin ito, ipinapahiwatig lamang namin ang pangalan ng kinakailangang haligi sa halip na * ( o mga tagapagsalita), Halimbawa:

PUMILI NG Presyo MULA SA Talahanayan

kung saan, ang Presyo ay ang pangalan ng column.

Tandaan! Bilang halimbawa, gumagamit kami ng isang simpleng talahanayan na naglilista ng mga modelo ng computer, ang kanilang mga presyo at pangalan.

Kung kailangan mong tumukoy ng ilang column, ilista lang ang mga ito na pinaghihiwalay ng mga kuwit pagkatapos ng SELECT statement, halimbawa.

PUMILI ng presyo, pangalan, modelo MULA sa Talahanayan

kung saan, ang presyo, pangalan, modelo ay mga column mula sa Table.

Kondisyon ng pagpili – WHERE clause

Sa panahon ng proseso ng sampling, medyo madalas kailangan naming i-filter ang data ayon sa isang partikular na kundisyon, i.e. hindi lahat ng data, ngunit ang mga nakakatugon lamang sa kundisyon; sa SELECT construct, maaari mong gamitin ang operator para dito SAAN.

PUMILI ng presyo MULA SA Talahanayan KUNG SAAN ang presyo > 100

kung saan, NASAAN ang kondisyon, i.e. ipinapakita lamang namin ang mga hilera na tumutugma sa aming kundisyon ( presyo na higit sa 100).

Mga Operator ng Paghahambing sa SQL

  • “>” – higit sa isang bagay;
  • «<» – меньше чего-нибудь;
  • “=" – katumbas;
  • «<>" - hindi pantay;
  • “>=" – mas malaki sa o katumbas ng;
  • «<=» – меньше или равно.

Maaari ka ring tumukoy ng keyword sa kundisyon PAGITAN, ibig sabihin. kung ang halaga ay bumaba o hindi nasa loob ng isang tiyak na hanay, halimbawa

PUMILI ng presyo MULA sa talahanayan KUNG SAAN ang presyo SA PAGITAN ng 400 AT 600

kung saan, ipinapahiwatig namin na ang presyo ay dapat nasa hanay mula 400 hanggang 600.

Upang suriin kung ang value ng expression na sinusubok ay kasama sa isang partikular na hanay ng mga value, maaari kang gumamit ng predicate SA.

PUMILI ng presyo MULA sa talahanayan SAAN ang presyo SA (400, 600)

Sa kasong ito, gusto lang naming makuha ang presyo na may halagang 400 at 600.

Kung kailangan lang naming makakuha ng mga natatanging source string, maaari naming tukuyin ang keyword KAIBIGAN, Halimbawa

PUMILI NG DISTINCT na presyo MULA SA Talahanayan KUNG SAAN ang presyo > 100

Tandaan! Ang wikang SQL ay hindi case sensitive; maaaring isulat ang mga query sa isang linya o hatiin sa ilan. Halimbawa, ang sumusunod na dalawang query ay eksaktong pareho.

PUMILI ng presyo MULA sa Talahanayan

Piliin ang presyo Mula sa Talahanayan

Pag-aayos NG ORDER BY

Kadalasan kinakailangan na pag-uri-uriin ang resulta ng isang query ayon sa isang partikular na field ( hanay). Upang gawin ito, pagkatapos ng kahilingan ipinapahiwatig namin ang konstruksiyon INIUTOS NI at ang mga patlang na iyon ( siguro ilang pinaghihiwalay ng kuwit) kung saan nais mong pagbukud-bukurin.

PUMILI ng presyo MULA SA Talahanayan ORDER BY DESC ng presyo

Ito ay isang halimbawa ng pag-uuri sa pababang pagkakasunud-sunod, ngunit maaari mo ring pag-uri-uriin sa pataas na pagkakasunud-sunod; sa halip na DESC ay isinusulat namin ang ASC, ngunit kadalasan ay hindi namin ito isinusulat nang ganoon, dahil ang pataas na pag-uuri ay ang default.

Pagsasama-sama ng mga function sa SQL

Ang SQL ay may napakakapaki-pakinabang na tinatawag na aggregation function, katulad ng:

  • COUNT— ang bilang ng mga halaga sa tinukoy na hanay;
  • SUM— ang kabuuan ng mga halaga sa tinukoy na hanay;
  • AVG— ang average na halaga sa tinukoy na hanay;
  • MIN— ang pinakamababang halaga sa tinukoy na hanay;
  • MAXpinakamataas na halaga sa tinukoy na hanay.

Halimbawa, kailangan nating makuha ang average na presyo ng isang computer, maximum at minimum, para dito maaari nating isulat ang sumusunod na query

PUMILI NG AVG(presyo), MAX(presyo), MIN(presyo) MULA sa talahanayan

GROUP BY

Maaari mong pangkatin ang mga halaga ayon sa mga column, halimbawa, kailangan nating malaman ang average na presyo para sa bawat modelo ng computer, sa kasong ito ang kahilingan ay magiging ganito

PUMILI ng modelo, AVG (presyo) BILANG AVGPrice MULA sa talahanayan GROUP BY model

Kung napansin mo, ginamit ko ang assignment dito " pseudonym» para sa isang mas maginhawang pang-unawa sa mga resulta ng kahilingang ito, i.e. pagkatapos ng column ay isulat ang AS at ang pangalan na gusto mong ipakita sa mga resulta.

Tulad ng kapag gumagamit ng mga kundisyon sa mga indibidwal na column, maaari ka ring tumukoy ng kundisyon para sa isang buong grupo gamit ang function MAY. Halimbawa, kailangan nating tukuyin ang pinakamataas na presyo ng isang computer, na pinagsama ayon sa mga modelo ng mga computer na ito, ngunit pinakamataas na presyo kung saan mayroong mas mababa sa 500.

PUMILI ng modelo, MAX(presyo) MULA sa talahanayan GROUP NG modelo NA MAY MAX(presyo)< 500

Sa kasong ito, ang aming kahilingan ay magbibigay sa amin ng mga computer na nakagrupo ayon sa modelo, ang maximum na presyo nito ay mas mababa sa 500.

Tandaan! Maaari kang magbasa nang higit pa tungkol sa pagpapangkat sa SQL sa materyal na ito.

NULL na halaga sa SQL

Sa SQL mayroong isang halaga bilang NULL. Sa katunayan, ang NULL ay ang kawalan ng isang halaga ( mga. walang laman). Upang maipakita ang lahat ng mga linya na naglalaman ng ganoong halaga ( halimbawa, hindi pa kami nagtatakda ng presyo para sa ilang computer) maaari mong gamitin ang sumusunod na kondisyon.

PUMILI * MULA sa talahanayan KUNG SAAN NULL ang presyo

Na nangangahulugang paghahanap para sa lahat ng mga hilera na walang halaga para sa field ng presyo.

Pinasimpleng SELECT statement syntax

PUMILI<Список полей>o * , ...] , ...]

Ang tala! Kung interesado ka sa wikang T-SQL, inirerekomenda kong basahin ang aking aklat na "The T-SQL Programmer's Way", kung saan ipinapaliwanag ko nang detalyado, kasama ang malaking halaga halimbawa, pinag-uusapan ko ang mga pangunahing kaalaman sa wikang Transact-SQL lalo na para sa mga nagsisimula.

Iyon lang para sa araw na ito, tiningnan namin ang isang maliit na bahagi ng wikang SQL, katulad ng SELECT statement. Good luck!

SQL (interactive).

12.1. Pag-unawa sa Basic SQL Operators

Tulad ng nabanggit na sa "Software para sa pagtatrabaho sa mga modernong database", ang lahat ng mga operator ng wikang SQL ay nahahati sa tatlong bahagi: DDL - wika ng kahulugan ng data, DCL - wika sa pamamahala ng data, DML - wika sa pagproseso ng data.

Nagbibigay kami ng mga halimbawa ng mga pangunahing operator mula sa mga bahagi sa itaas (nang hindi inilalarawan ang syntax). Ang isang paglalarawan ng syntax ng mga SQL statement ay makikita sa maraming aklat sa wikang SQL, sa menu na "Tulong" ng mga partikular na DBMS.

Mga operator para sa paghihigpit sa pag-access ng user sa mga object ng database (DCL).

GRANT - paglikha ng isang entry sa seguridad na nagpapahintulot sa isang user na magtrabaho kasama ang data o magsagawa ng ilang partikular na operasyon ng SQL.

DENY - paglikha ng isang entry sa sistema ng seguridad na tinatanggihan ang access para sa isang partikular na account.

Mga Pahayag ng Kahulugan ng Data (DDL).

Ang kaukulang mga operator ay inilaan para sa paglikha, pagtanggal, pagbabago ng mga pangunahing bagay ng relational na modelo ng data ng DBMS: mga talahanayan, view, index.

GUMAWA NG TALAAN<имя>- paglikha ng bagong talahanayan sa database.

DROP TABLE<имя> - pagtanggal ng talahanayan mula sa database.

ALTER TABLE<имя>- pagbabago ng istraktura ng isang umiiral na talahanayan o mga hadlang sa integridad na tinukoy para sa talahanayang ito.

Kapag nagsasagawa ng mga katulad na operasyon na may mga view o index sa tinukoy na mga operator, sa halip na ang service word TABLE, ang salitang VIEW (view) o ang salitang INDEX (index) ay isinusulat.

Mga operator ng pagmamanipula ng data (DML).

Ang mga pahayag ng DML ay gumagana sa database at ginagamit upang baguhin ang data at kunin ang kinakailangang impormasyon.

SELECT – pagpili ng mga row na tumutugon sa mga tinukoy na kundisyon. Ang operator ay nagpapatupad, sa partikular, ang mga sumusunod mga pagpapatakbo ng relational algebra tulad ng "selection" at "projection".

I-UPDATE - pagbabago ng mga halaga ng ilang mga patlang sa mga hilera ng talahanayan na nakakatugon sa mga tinukoy na kundisyon.

INSERT – naglalagay ng mga bagong row sa talahanayan.

DELETE – pagtanggal ng mga hilera ng talahanayan na nakakatugon sa mga tinukoy na kundisyon. Isinasaalang-alang ng paggamit ng operator na ito ang mga prinsipyo ng pagpapanatili ng integridad, kaya maaaring hindi ito palaging naisasagawa nang tama.

12.2 Interactive na mode ng pagtatrabaho sa SQL (interactive SQL)

Ang kaukulang mode ay nagbibigay para sa direktang gawain ng user sa database ayon sa sumusunod na algorithm: gamit ang isang application program (client application) o isang standard na utility na kasama sa DBMS, ang user:

  • nagtatatag ng koneksyon sa database (pagkumpirma ng mga karapatan sa pag-access);
  • pumapasok sa naaangkop na SQL statement, kung kinakailangan, ay nagpasok ng karagdagang impormasyon sa dialog mode;
  • sinisimulan ang pagpapatupad ng utos.

Ang text ng kahilingan ay ipinadala sa

Ibahagi