Հարցումների կառուցում sql սերվերում: Մուտք գործեք հարցումներ

Access-ում հարցումները տվյալների բազայի աղյուսակներում տվյալների առբերման, թարմացման և մանիպուլյացիայի հիմնական գործիքն են: Access-ը, հարաբերական տվյալների բազաների հայեցակարգին համապատասխան, հարցումներ կատարելու համար օգտագործում է Structured Query Language (SQL): Access-ում ցանկացած հարցում իրականացվում է SQL հայտարարությունների միջոցով:

Հարցման հիմնական տեսակը ընտրովի հարցումն է: Այս հարցման արդյունքը նոր աղյուսակ է, որը գոյություն ունի նախքան հարցումը փակելը: Գրառումները ձևավորվում են աղյուսակների գրառումները համադրելով, որոնց վրա կառուցված է հարցումը: Աղյուսակի գրառումները միավորելու եղանակը նշվում է տվյալների սխեմայում դրանց հարաբերությունները սահմանելիս կամ հարցում ստեղծելիս: Հարցման մեջ ձևակերպված ընտրության պայմանները թույլ են տալիս զտել աղյուսակների միացման արդյունքը կազմող գրառումները:

Access-ը կարող է ստեղծել մի քանի տեսակի հարցումներ.

  • վերցնել հարցումը- ընտրում է տվյալներ մեկ աղյուսակից կամ հարցումից, կամ մի քանի հարակից աղյուսակներից և այլ հարցումներից: Արդյունքը աղյուսակ է, որը գոյություն ունի նախքան հարցումը փակելը: Արդյունքների աղյուսակի գրառումների ձևավորումն իրականացվում է ընտրության նշված պայմաններին համապատասխան և մի քանի աղյուսակներ օգտագործելիս՝ դրանց գրառումները համադրելով.
  • հարցում՝ աղյուսակ ստեղծելու համար- ընտրում է տվյալներ փոխկապակցված աղյուսակներից և այլ հարցումներից, բայց, ի տարբերություն ընտրված հարցման, արդյունքը պահպանում է նոր մշտական ​​աղյուսակում.
  • թարմացնել, ավելացնել, ջնջել հարցումները- գործողությունների հարցումներ են, որոնց արդյունքում փոփոխվում են աղյուսակների տվյալները։

Դիզայնի ռեժիմում Access-ի հարցումները պարունակում են տվյալների սխեման, որը ցուցադրում է օգտագործված աղյուսակները, և հարցման ձև, որը կառուցում է հարցման աղյուսակի կառուցվածքը և գրառումների ընտրության պայմանները (Նկար 4.1):

Օգտագործելով հարցումը, կարող եք կատարել տվյալների մշակման հետևյալ տեսակները.

  • ներառել հարցման աղյուսակում օգտագործողի կողմից ընտրված աղյուսակի դաշտերը.
  • հաշվարկներ կատարել ստացված գրառումներից յուրաքանչյուրում.
  • ընտրել գրառումները, որոնք համապատասխանում են ընտրության չափանիշներին.
  • ստեղծել նոր վիրտուալ աղյուսակ՝ հիմնված հարակից աղյուսակների գրառումների միավորման վրա.
  • խմբային գրառումներ, որոնք ունեն նույն արժեքները մեկ կամ մի քանի դաշտերում, միաժամանակ կատարում են վիճակագրական գործառույթներ խմբի այլ դաշտերում և արդյունքում ներառում են մեկ գրառում յուրաքանչյուր խմբի համար.
  • ստեղծել տվյալների բազայի նոր աղյուսակ՝ օգտագործելով առկա աղյուսակների տվյալները.
  • թարմացնել դաշտերը ընտրված գրառումների ենթաբազմության մեջ.
  • ջնջել ընտրված գրառումների ենթաբազմությունը տվյալների բազայի աղյուսակից.
  • ավելացնել ընտրված գրառումների ենթաբազմությունը մեկ այլ աղյուսակում:

Access-ում հարցումները ծառայում են որպես այլ հարցումների, ձևերի, հաշվետվությունների գրանցման աղբյուրներ: Օգտագործելով հարցումը, դուք կարող եք հավաքել ամբողջական տեղեկատվություն թեմայի տարածքի որոշակի փաստաթղթի ձևավորման համար մի քանի աղյուսակներից, այնուհետև օգտագործել այն ձև ստեղծելու համար՝ այս փաստաթղթի էլեկտրոնային ներկայացում: Եթե ​​մի ձև կամ հաշվետվություն ստեղծվում է կախարդի կողմից՝ հիմնված մի քանի փոխկապակցված աղյուսակների վրա, ապա նրանց համար ինքնաբերաբար ստեղծվում է հարցում՝ որպես ռեկորդային աղբյուր:
Համախմբելու համար դիտեք տեսանյութի ձեռնարկը:

Հարցումները գրվում են առանց չակերտներից խուսափելու, քանի որ MySQL, MS SQLև PostGreeնրանք տարբեր են:

SQL հարցում. աղյուսակից նշված (պարտադիր) դաշտերի ստացում

SELECT ID, country_title, count_people FROM table_name

Մենք ստանում ենք գրառումների ցանկ՝ ԲՈԼՈՐ երկրները և նրանց բնակչությունը: Պահանջվող դաշտերի անվանումները բաժանված են ստորակետերով:

SELECT * FROM table_name-ից

* նշանակում է բոլոր դաշտերը: Այսինքն՝ տպավորություններ կլինեն ԱՄԵՆ ԻՆՉտվյալների դաշտերը:

SQL հարցում. ելքային գրառումներ աղյուսակից՝ բացառությամբ կրկնօրինակների

ԸՆՏՐԵՔ ՀԱՏՈՒԿ երկրի_վերնագիր աղյուսակի_անունից

Մենք ստանում ենք գրառումների ցուցակ՝ այն երկրները, որտեղ գտնվում են մեր օգտատերերը: Մեկ երկրից շատ օգտվողներ կարող են լինել: Այս դեպքում սա ձեր խնդրանքն է։

SQL հարցում. ցուցադրում է գրառումները աղյուսակից՝ ըստ սահմանված պայմանի

SELECT ID, country_title, city_title FROM table_name WHERE count_people> 100000000

Մենք ստանում ենք ռեկորդների ցանկ՝ երկրներ, որտեղ մարդկանց թիվն ավելի քան 100,000,000 է։

SQL հարցում. աղյուսակից գրառումների ցուցադրում պատվերով

SELECT ID, city_title FROM table_name-ից ՊԱՏՎԻՐԵԼ ԸՍՏ քաղաքի_վերնագրի

Մենք ստանում ենք գրառումների ցանկ՝ քաղաքներ այբբենական կարգով: Ա–ի սկզբին, Ի–ի վերջում։

SELECT ID, city_title FROM table_name ORDER BY city_title DESC

Մենք ստանում ենք ռեկորդների ցանկ. քաղաքներ հակառակ ուղղությամբ ( DESC) լավ. Սկզբում ես, վերջում Ա.

SQL հարցում. հաշվում է գրառումների քանակը

SELECT COUNT (*) FROM table_name-ից

Մենք ստանում ենք աղյուսակի գրառումների թիվը (թիվը): Այս դեպքում գրառումների ցուցակ ՉԿԱ։

SQL հարցում. թողարկեք գրառումների պահանջվող տիրույթը

SELECT * FROM table_name LIMIT 2, 3

Աղյուսակից ստանում ենք 2 (երկրորդ) և 3 (երրորդ) գրառումները։ Հարցումը օգտակար է ՎԵԲ էջերում նավիգացիա ստեղծելիս:

SQL հարցումներ պայմաններով

Գրառումների ելք աղյուսակից՝ ըստ տրված պայմանի, օգտագործելով տրամաբանական օպերատորներ:

SQL հարցում՝ ԵՎ կառուցում

SELECT ID, city_title FROM table_name ՈՐՏԵՂ երկիր = «Ռուսաստան» ԵՎ նավթ = 1

Մենք ստանում ենք ռեկորդների ցանկ՝ քաղաքներ Ռուսաստանից ԵՎմուտք ունենալ նավթի. Երբ օպերատորն օգտագործվում է ԵՎ, ապա երկու պայմաններն էլ պետք է համապատասխանեն։

SQL հարցում՝ ԿԱՄ կառուցում

SELECT ID, city_title FROM table_name-ից WHERE երկիր = «Ռուսաստան» ԿԱՄ երկիր = «ԱՄՆ»

Մենք ստանում ենք ռեկորդների ցանկ՝ բոլոր քաղաքները Ռուսաստանից ԿԱՄԱՄՆ. Երբ օպերատորն օգտագործվում է ԿԱՄ, ապա առնվազն մեկ պայման պետք է համապատասխանի:

SQL հարցում. ԵՎ ՉԻ կառուցում

SELECT ID, user_login FROM table_name WHERE country = «Russia» ԵՎ ՉԻ հաշվում_մեկնաբանությունները<7

Մենք ստանում ենք գրառումների ցանկ՝ բոլոր օգտվողները Ռուսաստանից ԵՎով պատրաստեց ՈՉ ՊԱԿԱՍ 7 մեկնաբանություն.

SQL հարցում. IN (B) կառուցում

SELECT ID, user_login FROM table_name WHERE country IN («Ռուսաստան», «Բուլղարիա», «Չինաստան»)

Մենք ստանում ենք գրառումների ցանկ՝ բոլոր օգտվողները, ովքեր ապրում են ( IN) (Ռուսաստան, կամ Բուլղարիա, կամ Չինաստան)

SQL հարցում. ՉԻ կառուցման մեջ

SELECT ID, user_login FROM table_name-ից, ՈՐՏԵՂ երկիրը ՉԷ («Ռուսաստան», «Չինաստան»)

Մենք ստանում ենք գրառումների ցուցակ. բոլոր օգտվողները, ովքեր չեն ապրում ( ՄԵՋ ՉԻ) (Ռուսաստան կամ Չինաստան):

SQL հարցում. IS NULL կառուցվածք (դատարկ կամ ՈՉ դատարկ արժեքներ)

SELECT ID, user_login FROM table_name-ից, որտեղ կարգավիճակը զրոյական է

Մենք ստանում ենք գրառումների ցանկ. բոլոր օգտվողները, որտեղ կարգավիճակը սահմանված չէ: NULL-ը առանձին թեմա է և, հետևաբար, ստուգվում է առանձին:

SELECT ID, user_login FROM table_name-ից, ՈՐՏԵՂ վիճակը ԶԵՐԿ ՉԷ

Մենք ստանում ենք գրառումների ցանկ. բոլոր օգտվողները, որտեղ կարգավիճակը սահմանված է (ՈՉ ԶՐՈ):

SQL հարցում. LIKE կառուցում

SELECT ID, user_login FROM table_name-ից, որտեղ ազգանունը Հավանում է «Ivan%»

Մենք ստանում ենք գրառումների ցանկ. օգտվողներ, որոնց ազգանունը սկսվում է «Իվան» համակցությամբ: % նշանը նշանակում է ՑԱՆԿԱՑԱԾ նիշերի ՑԱՆԿԱՑԱԾ քանակ: % նշանը գտնելու համար հարկավոր է օգտագործել փախչող «Ivan \%»:

SQL հարցում՝ BETWEEN struct

SELECT ID, user_login FROM table_name-ից, որտեղ աշխատավարձը 25000-50000-ի միջակայքում

Մենք ստանում ենք գրառումների ցանկ՝ օգտատերեր, ովքեր աշխատավարձ են ստանում 25000-ից մինչև 50000 ներառյալ։

Կան շատ տրամաբանական օպերատորներ, այնպես որ մանրամասն ուսումնասիրեք SQL սերվերի փաստաթղթերը:

Բարդ SQL հարցումներ

SQL հարցում. մի քանի հարցումների համադրում

(SELECT id, user_login FROM table_name1) UNION (SELECT id, user_login FROM table_name2)

Մենք ստանում ենք գրառումների ցանկ՝ օգտատերեր, ովքեր գրանցված են համակարգում, ինչպես նաև այն օգտատերերը, ովքեր գրանցված են ֆորումում առանձին։ Բազմաթիվ հարցումներ կարող են համակցվել UNION օպերատորի հետ: UNION-ը գործում է SELECT DISTINCT-ի նման, այսինքն՝ մերժում է կրկնօրինակ արժեքները: Բացարձակապես բոլոր գրառումները ստանալու համար անհրաժեշտ է օգտագործել UNION ALL օպերատորը:

SQL հարցում. դաշտի արժեքների հաշվում MAX, MIN, SUM, AVG, COUNT

Մեկի արդյունքը, աղյուսակում հաշվիչի առավելագույն արժեքը.

SELECT MAX (հաշվիչ) FROM table_name-ից

Մեկի արդյունքը, աղյուսակում հաշվիչի նվազագույն արժեքը.

SELECT MIN (հաշվիչ) FROM table_name-ից

Ցուցադրելով աղյուսակում բոլոր հաշվիչների արժեքների գումարը.

SELECT SUM (հաշվիչը) FROM table_name-ից

Հաշվիչի միջին արժեքը ցուցադրելով աղյուսակում.

SELECT AVG (հաշվիչ) FROM table_name-ից

Աղյուսակում հաշվիչների քանակի ցուցադրում.

SELECT COUNT (հաշվիչ) FROM table_name-ից

Թիվ 1 արտադրամասում հաշվիչների քանակի ցուցադրում աղյուսակում.

SELECT COUNT (counter) FROM table_name WHERE office = "Խանութ # 1"

Սրանք ամենահայտնի հրամաններն են: Հնարավորության դեպքում խորհուրդ է տրվում օգտագործել այս կարգի SQL հարցումները հաշվարկների համար, քանի որ ոչ մի ծրագրավորման միջավայր չի կարող համեմատվել տվյալների մշակման արագությամբ, քան ինքը SQL սերվերը սեփական տվյալները մշակելիս:

SQL հարցում. գրառումների խմբավորում

SELECT մայրցամաք, SUM (country_area) երկրի ԽՄԲԵՐԻՑ ԸՍՏ մայրցամաքի

Մենք ստանում ենք ռեկորդների ցանկ՝ մայրցամաքի անվանումով և նրանց բոլոր երկրների տարածքների հանրագումարով: Այսինքն, եթե կա երկրների գրացուցակ, որտեղ յուրաքանչյուր երկիր գրանցված է իր տարածքը, ապա օգտագործելով GROUP BY կետը, կարող եք պարզել յուրաքանչյուր մայրցամաքի չափը (ըստ մայրցամաքի խմբավորման):

SQL հարցում՝ օգտագործելով բազմաթիվ աղյուսակներ՝ անունի միջոցով

SELECT o.order_no, o.amount_paid, c.company FROM պատվերներից AS o, հաճախորդը AS հետ WHERE o.custno = c.custno AND c.city = "Tyumen"

Մենք ստանում ենք գրառումների ցանկ՝ պատվերներ հաճախորդներից, ովքեր ապրում են միայն Տյումենում:

Փաստորեն, այս տիպի ճիշտ մշակված տվյալների բազայի դեպքում հարցումն ամենահաճախն է, հետևաբար MySQL-ում ներդրվել է հատուկ օպերատոր, որն աշխատում է շատ անգամ ավելի արագ, քան վերը նշված կոդը։

SELECT o.order_no, o.amount_paid, z.company FROM պատվերներից AS o LEFT Join հաճախորդին AS z ON (z.custno = o.custno)

Ներդրված ենթհարցումներ

SELECT * FROM table_name WHERE աշխատավարձ = (SELECT MAX (աշխատավարձ) FROM աշխատողից)

Մենք ստանում ենք մեկ ռեկորդ՝ տեղեկատվություն առավելագույն աշխատավարձով օգտվողի մասին։

Ուշադրություն. Nested subqueries-ը SQL սերվերների խոչընդոտներից մեկն է: Նրանք իրենց ճկունության և հզորության հետ մեկտեղ նաև զգալիորեն մեծացնում են սերվերի բեռը: Ինչը հանգեցնում է այլ օգտատերերի աշխատանքի աղետալի դանդաղեցման: Շատ տարածված են ռեկուրսիվ զանգերի դեպքերը ներդիր հարցումներով: Հետևաբար, ես խստորեն խորհուրդ եմ տալիս ՉԻ օգտագործել nested հարցումները, այլ դրանք բաժանել ավելի փոքրերի: Կամ օգտագործեք վերը նշված LEFT JOIN համակցությունը: Այս տեսակի հարցումներից բացի, հարցումները անվտանգության խախտումների ավելի մեծ օջախ են: Եթե ​​դուք որոշել եք օգտագործել nested subqueries, ապա դուք պետք է նախագծեք դրանք շատ ուշադիր և կատարեք նախնական գործարկումները տվյալների բազաների (փորձարկման տվյալների բազաների) պատճենների վրա:

SQL հարցումները փոխում են տվյալները

SQL հարցում՝ INSERT

Հրահանգներ ՆԵՐԴՐԵԼթույլ է տալիս գրառումներ տեղադրել աղյուսակի մեջ: Պարզ բառերով, աղյուսակում տվյալների հետ տող ստեղծեք:

Տարբերակ թիվ 1. Հրահանգը հաճախ օգտագործվում է.

INSERT INTO table_name (id, user_login) VALUES (1, «ivanov»), (2, «petrov»)

Աղյուսակում» սեղան_անունը«Միանգամից կտեղադրվի 2 (երկու) օգտատեր։

Տարբերակ թիվ 2. Ավելի հարմար է օգտագործել ոճը.

INSERT table_name SET id = 1, user_login = «ivanov»; INSERT table_name SET id = 2, user_login = «petrov»;

Սա ունի իր առավելություններն ու թերությունները:

Հիմնական թերությունները.

  • Շատ փոքր SQL հարցումներ մի փոքր ավելի դանդաղ են աշխատում, քան մեկ մեծ SQL հարցումը, սակայն մյուս հարցումները կհերթագրվեն սպասարկման համար: Այսինքն, եթե մեծ SQL հարցումը կատարվում է 30 րոպեով, ապա այս ամբողջ ընթացքում մնացած հարցումները բամբուկ կծխեն և կսպասեն իրենց հերթին։
  • Հարցումը պարզվում է, որ ավելի զանգվածային է, քան նախորդ տարբերակը։

Հիմնական առավելությունները.

  • Փոքր SQL հարցումների ժամանակ այլ SQL հարցումներ չեն արգելափակվում:
  • Ընթերցանության հեշտություն.
  • Ճկունություն. Այս տարբերակում դուք չեք կարող հետևել կառուցվածքին, այլ ավելացնել միայն անհրաժեշտ տվյալները:
  • Այս կերպ արխիվներ ձևավորելիս կարող եք հեշտությամբ պատճենել մեկ տող և այն անցկացնել հրամանի տողով (վահանակով), դրանով իսկ չվերականգնելով ամբողջ ԱՐԽԻՎը:
  • Գրելու ոճը նման է UPDATE հայտարարությանը, ինչը հեշտացնում է հիշելը:

SQL հարցում՝ UPDATE

ԹԱՐՄԱՑՆԵԼ աղյուսակի անունը SET user_login = «ivanov», user_surname = «Ivanov» WHERE id = 1

Աղյուսակում» սեղան_անունը«ID = 1 գրառումով user_login և user_surname դաշտերի արժեքները կփոխվեն նշված արժեքներով:

SQL հարցում՝ DELETE

Ջնջել աղյուսակի_անունից ՈՐՏԵՂ id = 3

ID համար 3-ով գրառումը կջնջվի table_name աղյուսակում:

  1. Խորհուրդ է տրվում բոլոր դաշտերի անունները գրել փոքր տառերով և, անհրաժեշտության դեպքում, դրանք առանձնացնել հարկադիր «_» բացատով՝ տարբեր ծրագրավորման լեզուների հետ համատեղելիության համար, ինչպիսիք են Delphi, Perl, Python և Ruby:
  2. Ընթեռնելիության համար գրեք SQL հրամանները ԿԱՊԻՏԱԼ տառերով: Միշտ հիշեք, որ այլ մարդիկ կարող են կարդալ կոդը ձեզանից հետո, և, ամենայն հավանականությամբ, դուք ինքներդ՝ N ժամանակ անց:
  3. Անվանեք դաշտերը գոյականի սկզբից, այնուհետև գործողությունը: Օրինակ՝ city_status, user_login, user_name:
  4. Փորձեք խուսափել տարբեր լեզուներով փոխարինող բառերից, որոնք կարող են խնդիրներ առաջացնել SQL-ում, PHP-ում կամ Perl-ում, ինչպես օրինակ (անունը, հաշվարկը, հղումը): Օրինակ՝ հղումը կարող է օգտագործվել MS SQL-ում, բայց վերապահված է MySQL-ում:

Այս նյութը կարճ հղում է ամենօրյա աշխատանքի համար և չի հավակնում լինել սուպեր մեգա հեղինակավոր աղբյուր, որը SQL հարցումների հիմնական աղբյուրն է որոշակի տվյալների բազայի համար:

Մեզանից յուրաքանչյուրը պարբերաբար հանդիպում և օգտագործում է տարբեր տվյալների բազաներ։ Երբ մենք ընտրում ենք էլփոստի հասցե, մենք աշխատում ենք տվյալների բազայի հետ: Տվյալների բազաները օգտագործում են որոնման համակարգերը, բանկերը հաճախորդների տվյալները պահելու համար և այլն:

Բայց, չնայած տվյալների բազաների մշտական ​​օգտագործմանը, նույնիսկ ծրագրային համակարգերի շատ մշակողների համար կան բազմաթիվ «դատարկ կետեր»՝ նույն տերմինների տարբեր մեկնաբանությունների պատճառով: Մենք կտանք տվյալների բազայի հիմնական տերմինների համառոտ սահմանումը, նախքան SQL լեզուն նայելը: Այսպիսով.

Տվյալների բազա - ֆայլ կամ ֆայլերի հավաքածու՝ պատվիրված տվյալների կառուցվածքները և դրանց փոխհարաբերությունները պահելու համար: Շատ հաճախ վերահսկման համակարգը կոչվում է տվյալների շտեմարան. դա միայն տեղեկատվության պահպանումն է որոշակի ձևաչափով և կարող է աշխատել տարբեր DBMS-ների հետ:

սեղան - Պատկերացրեք մի թղթապանակ, որը պահում է փաստաթղթեր, որոնք խմբավորված են որոշակի չափանիշով, օրինակ՝ վերջին ամսվա պատվերների ցանկը: Սա համակարգչի աղյուսակն է: Առանձին աղյուսակն ունի իր յուրահատուկ անվանումը:

Տվյալների տեսակը - առանձին սյունակում կամ տողում թույլատրված տեղեկատվության տեսակը: Սրանք կարող են լինել թվեր կամ տեքստ որոշակի ձևաչափով:

Սյունակ և տող- մենք բոլորս աշխատել ենք աղյուսակների հետ, որոնք ունեն նաև տողեր և սյունակներ: Ցանկացած հարաբերական տվյալների բազա նույն կերպ է աշխատում աղյուսակների հետ: Գծերը երբեմն կոչվում են գրառումներ:

Առաջնային բանալին- աղյուսակի յուրաքանչյուր տող կարող է ունենալ մեկ կամ մի քանի սյունակներ՝ իր եզակի նույնականացման համար: Առանց առաջնային բանալիի, շատ դժվար է թարմացնել, փոփոխել և ջնջել պահանջվող տողերը:

Ի՞նչ է SQL-ը:

SQL(Անգլերեն - կառուցվածքային հարցումների լեզու) մշակվել է միայն տվյալների բազաների հետ աշխատելու համար և ներկայումս ստանդարտ է բոլոր հայտնի DBMS-ների համար: Լեզվի շարահյուսությունը բաղկացած է փոքր թվով օպերատորներից և հեշտ է սովորել։ Բայց, չնայած արտաքին պարզությանը, այն թույլ է տալիս ստեղծել sql հարցումներ բարդ գործողությունների համար ցանկացած չափի տվյալների բազայով:

1992 թվականից ի վեր գոյություն ունի ընդհանուր ընդունված ստանդարտ, որը կոչվում է ANSI SQL: Այն սահմանում է օպերատորների հիմնական շարահյուսությունը և գործառույթները և աջակցվում է DBMS շուկայի բոլոր առաջատարների կողմից, ինչպիսին է ORACLE-ը: Անհնար է դիտարկել լեզվի բոլոր հատկանիշները մեկ փոքրիկ հոդվածում, ուստի մենք հակիրճ կքննարկենք միայն հիմնական SQL հարցումները: . Օրինակները հստակ ցույց են տալիս լեզվի պարզությունն ու հնարավորությունները.

  • տվյալների բազաների և աղյուսակների ստեղծում;
  • տվյալների բեռնում;
  • գրառումների ավելացում;
  • տեղեկատվության փոփոխում և ջնջում.

SQL տվյալների տեսակները

Տվյալների բազայի աղյուսակի բոլոր սյունակները պահում են տվյալների նույն տեսակը: SQL-ում տվյալների տեսակները նույնն են, ինչ ծրագրավորման այլ լեզուներում:

Ստեղծեք աղյուսակներ և տվյալների բազաներ

SQL-ում նոր տվյալների բազաներ, աղյուսակներ և այլ հարցումներ ստեղծելու երկու եղանակ կա.

  • DBMS վահանակի միջոցով
  • Օգտագործելով տվյալների բազայի սերվերի հետ ներառված առցանց կառավարման գործիքները:

Օպերատորի կողմից ստեղծվում է նոր տվյալների բազա ՍՏԵՂԾԵԼ ՏՎՅԱԼՆԵՐԻ ԲԱԶԱՆ<наименование базы данных>; ... Ինչպես տեսնում եք, շարահյուսությունը պարզ է և հակիրճ:

Մենք ստեղծում ենք աղյուսակներ տվյալների բազայի ներսում CREATE TABLE հայտարարությամբ հետևյալ պարամետրերով.

  • սեղանի անվանումը
  • սյունակների անունները և տվյալների տեսակները

Որպես օրինակ, եկեք ստեղծենք ապրանքների աղյուսակ հետևյալ սյունակներով.

Մենք աղյուսակ ենք ստեղծում.

ՍԵՂԱՆԻ ՍՏԵՂԾԵԼ Ապրանք

(commodity_id CHAR (15) NOT NULL,

vendor_id CHAR (15) NOT NULL,

commodity_name CHAR (254) NULL,

ապրանքի_գին ՏՈՆԱԿԱՆ (8,2) NULL,

commodity_desc VARCHAR (1000) NULL);

Աղյուսակը հինգ սյունակ ունի: Անվանմանը հաջորդում է տվյալների տեսակը, սյունակները բաժանվում են ստորակետերով։ Սյունակի արժեքը կարող է լինել null (NULL) կամ պետք է լրացվի (NOT NULL), և դա որոշվում է աղյուսակի ստեղծման ժամանակ:

Տվյալների բեռնում աղյուսակից

Տվյալների ընտրության օպերատորը ամենահաճախ օգտագործվող SQL հարցումներն են: Տեղեկատվություն ստանալու համար անհրաժեշտ է նշել, թե ինչ ենք ուզում ընտրել նման աղյուսակից։ Սկսենք պարզ օրինակով.

SELECT commodity_name FROM Commodity-ից

SELECT հայտարարությունից հետո մենք նշում ենք սյունակի անունը՝ տեղեկատվություն ստանալու համար, իսկ FROM-ը սահմանում է աղյուսակը։

Հարցման կատարման արդյունքը կլինի աղյուսակի բոլոր տողերը՝ Commodity_name արժեքներով այն հերթականությամբ, որով դրանք մուտքագրվել են տվյալների բազա, այսինքն. առանց որևէ տեսակավորման։ Արդյունքը պատվիրելու համար օգտագործվում է լրացուցիչ ORDER BY կետ:

Մի քանի դաշտերի հարցումների համար մենք թվարկում ենք դրանք՝ բաժանված ստորակետերով, ինչպես հետևյալ օրինակում.

SELECT commodity_id, commodity_name, commodity_price FROM Commodity-ից

Հարցման արդյունքում հնարավոր է ստանալ տողի բոլոր սյունակների արժեքը։ Դա անելու համար օգտագործեք «*» նշանը.

Ընտրեք * ապրանքից

  • Լրացուցիչ SELECT աջակցում է.
  • Տվյալների տեսակավորում (ORDER BY օպերատորի կողմից)
  • Ընտրություն ըստ պայմանների (WHERE)
  • Խմբավորման տերմին (GROUP BY)

Ավելացնել գիծը

Աղյուսակում տող ավելացնելու համար օգտագործվում են SQL հարցումներ INSERT հայտարարությամբ: Հավելումը կարող է իրականացվել երեք եղանակով.

  • ավելացնել նոր ամբողջ տող;
  • լարային մաս;
  • հարցման արդյունքները.

Ամբողջական տող ավելացնելու համար դուք պետք է նշեք աղյուսակի անվանումը և նոր տողի սյունակների (դաշտերի) արժեքները: Օրինակ բերենք.

ՆԵՐԴՐԵՔ ապրանքային արժեքների մեջ («106», «50», «Կոկա-կոլա», «1.68», «Ալկոգոլ չկա,)

Օրինակը աղյուսակին ավելացնում է նոր ապրանք: Արժեքները նշված են VALUES-ից հետո յուրաքանչյուր սյունակի համար: Եթե ​​սյունակի համար համապատասխան արժեք չկա, ապա պետք է նշվի NULL: Սյունակները լրացվում են արժեքներով աղյուսակի ստեղծման ժամանակ նշված հերթականությամբ:

Եթե ​​դուք ավելացնում եք տողի միայն մի մասը, ապա պետք է հստակորեն նշեք սյունակների անունները, ինչպես օրինակ.

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VALUES ("106", '50 "," Coca-Cola ",)

Մենք մուտքագրեցինք միայն ապրանքի նույնացուցիչները, մատակարարը և անունը, իսկ մնացած դաշտերը դատարկ թողեցինք:

Հարցման արդյունքների ավելացում

INSERT-ը հիմնականում օգտագործվում է տողեր ավելացնելու համար, բայց այն կարող է օգտագործվել նաև SELECT դրույթի արդյունքներն ավելացնելու համար։

Տվյալների փոփոխություն

Տվյալների բազայի աղյուսակի դաշտերում տեղեկատվությունը փոխելու համար դուք պետք է օգտագործեք UPDATE հայտարարությունը: Օպերատորը կարող է օգտագործվել երկու եղանակով.

  • Աղյուսակի բոլոր տողերը թարմացվում են:
  • Միայն կոնկրետ տողի համար:

UPDATE-ն ունի երեք հիմնական տարր.

  • աղյուսակը, որտեղ դուք պետք է փոփոխություններ կատարեք.
  • դաշտերի անունները և դրանց նոր արժեքները.
  • փոփոխվող տողերի ընտրության պայմանները:

Դիտարկենք մի օրինակ։ Ենթադրենք, ID = 106 ապրանքի արժեքը փոխվել է, ուստի այս տողը պետք է թարմացվի: Մենք գրում ենք հետևյալ օպերատորը.

ԹԱՐՄԱՑՆԵԼ ապրանքների հավաքածու commodity_price = "3.2" WHERE commodity_id = "106"

Մենք նշել ենք աղյուսակի անվանումը, մեր դեպքում՝ Commodity, որտեղ կկատարվի թարմացումը, ապա SET-ից հետո՝ սյունակի նոր արժեքը և գտանք պահանջվող գրառումը՝ WHERE-ում նշելով ID-ի պահանջվող արժեքը։

Բազմաթիվ սյունակներ փոփոխելու համար մի քանի սյունակ-արժեք զույգեր նշվում են SET հայտարարությունից հետո՝ բաժանված ստորակետերով: Դիտարկենք մի օրինակ, որը թարմացնում է ապրանքի անվանումը և գինը.

ԹԱՐՄԱՑՆԵԼ ապրանքների հավաքածուն commodity_name = 'Fanta', commodity_price = "3.2" WHERE commodity_id = "106"

Սյունակում տեղեկատվությունը հեռացնելու համար կարող եք այն սահմանել NULL, եթե աղյուսակի կառուցվածքը դա թույլ է տալիս: Պետք է հիշել, որ NULL-ը հենց «ոչ» արժեք է, և ոչ թե զրո՝ տեքստի կամ թվերի տեսքով։ Եկեք ջնջենք ապրանքի նկարագրությունը.

ԹԱՐՄԱՑՆԵԼ ապրանքների հավաքածուն commodity_desc = NULL WHERE commodity_id = «106»

Տողերի ջնջում

Աղյուսակում տողերը ջնջելու SQL հարցումները կատարվում են DELETE հայտարարությամբ: Օգտագործման երկու դեպք կա.

  • որոշ տողեր ջնջվում են աղյուսակում.
  • աղյուսակի բոլոր տողերը ջնջված են:

Աղյուսակից մեկ տող ջնջելու օրինակ.

Ջնջել ապրանքից WHERE commodity_id = "106"

DELETE FROM-ից հետո մենք նշում ենք աղյուսակի անվանումը, որտեղ տողերը կջնջվեն: WHERE կետը պարունակում է պայման, որով կընտրվեն ջնջման համար նախատեսված տողերը: Օրինակում մենք ջնջում ենք ID = 106 ապրանքի տողը: Շատ կարևոր է նշել ՈՐՏԵՂ: Այս հայտարարությունը բաց թողնելը կջնջի աղյուսակի բոլոր տողերը: Սա վերաբերում է նաև դաշտերի արժեքը փոխելուն։

DELETE հայտարարությունը չի ներառում սյունակների անունները կամ մետանիշերը: Այն ամբողջությամբ ջնջում է տողերը, բայց չի կարող ջնջել մեկ սյունակ:

Օգտագործելով SQL Microsoft Access-ում

Այն սովորաբար օգտագործվում է ինտերակտիվ կերպով աղյուսակներ, տվյալների բազաներ ստեղծելու, տվյալների բազայում կառավարելու, փոփոխելու, վերլուծելու և SQL Access հարցումները հարմար ինտերակտիվ հարցումների դիզայների (Query Designer) միջոցով ներդնելու համար, որի միջոցով կարող եք կառուցել և անմիջապես կատարել ցանկացած SQL հայտարարություններ: բարդություն...

Աջակցվում է նաև դեպի սերվեր մուտք գործելու ռեժիմը, որի դեպքում Access DBMS-ը կարող է օգտագործվել որպես SQL հարցումների գեներատոր ODBC տվյալների ցանկացած աղբյուրի համար: Այս հնարավորությունը թույլ է տալիս Access հավելվածներին փոխազդել ցանկացած ձևաչափի հետ:

SQL ընդարձակումներ

Քանի որ SQL հարցումները չունեն ընթացակարգային ծրագրավորման լեզուների բոլոր հնարավորությունները, ինչպիսիք են օղակները, ճյուղերը և այլն, տվյալների բազայի վաճառողները զարգացնում են SQL-ի իրենց տարբերակը՝ առաջադեմ հնարավորություններով: Առաջին հերթին սա պահպանված ընթացակարգերի և ընթացակարգային լեզուների ստանդարտ օպերատորների աջակցություն է:

Լեզվի ամենատարածված բարբառները.

  • Oracle Database - PL / SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / pgSQL:

SQL ինտերնետում

MySQL-ը տարածվում է GNU Ընդհանուր հանրային լիցենզիայի ներքո: Առևտրային լիցենզիա կա մաքսային մոդուլներ մշակելու հնարավորությամբ։ Որպես անբաժանելի մաս, այն ներառված է ինտերնետ սերվերների ամենահայտնի հավաքակազմերում, ինչպիսիք են XAMPP-ը, WAMP-ը և LAMP-ը և հանդիսանում է ինտերնետում հավելվածներ մշակելու ամենատարածված DBMS-ը:

Այն մշակվել է Sun Microsystems-ի կողմից և ներկայումս աջակցվում է Oracle Corporation-ի կողմից: Տվյալների բազաները մինչև 64 տերաբայթ, SQL: 2003 շարահյուսական ստանդարտ, տվյալների բազայի կրկնօրինակում և ամպային ծառայություններն ապահովված են:

Սեղանի արտահայտություններենթհարցերը կոչվում են և օգտագործվում են այնտեղ, որտեղ ակնկալվում է, որ աղյուսակը գոյություն ունի: Սեղանի արտահայտությունների երկու տեսակ կա.

    ստացված աղյուսակներ;

    ընդհանրացված աղյուսակի արտահայտություններ.

Աղյուսակային արտահայտությունների այս երկու ձևերը քննարկվում են հետևյալ ենթաբաժիններում:

Ստացված աղյուսակներ

Ստացված աղյուսակաղյուսակի արտահայտություն է, որը ներառված է հարցման FROM կետում: Ստացված աղյուսակները կարող են օգտագործվել, երբ սյունակային կեղծանուններն անիրագործելի են, քանի որ SQL թարգմանիչը մշակում է մեկ այլ հայտարարություն՝ նախքան կեղծանունը հայտնի լինելը: Ստորև բերված օրինակը փորձում է օգտագործել սյունակի կեղծանունը մի իրավիճակում, երբ մեկ այլ դրույթ մշակվում է նախքան կեղծանունը հայտնի լինելը.

ՕԳՏԱԳՈՐԾԵԼ SampleDb; SELECT MONTH (EnterDate) որպես enter_month FROM Works_on GROUP BY enter_month;

Այս հարցումն իրականացնելու փորձը կհանգեցնի հետևյալ սխալի հաղորդագրությանը.

Msg 207, Level 16, State 1, Line 5 Անվավեր սյունակի անվանում «enter_month»: (Հաղորդագրություն 207. Մակարդակ 16, Պետություն 1, Տող 5 Անվավեր սյունակի անունը enter_month)

Սխալի պատճառն այն է, որ GROUP BY կետը մշակվում է նախքան համապատասխան SELECT ցուցակի մշակումը, և enter_month սյունակի կեղծանունը հայտնի չէ այս խումբը մշակելիս:

Այս խնդիրը կարող է լուծվել՝ օգտագործելով ստացված աղյուսակը, որը պարունակում է նախորդ հարցումը (առանց GROUP BY կետի), քանի որ FROM կետը կատարվում է GROUP BY կետից առաջ.

ՕԳՏԱԳՈՐԾԵԼ SampleDb; SELECT enter_month FROM-ից (SELECT MONTH (EnterDate) as enter_month FROM Works_on) AS m GROUP BY enter_month;

Այս հարցման կատարման արդյունքը կլինի հետևյալը.

Սովորաբար, աղյուսակի արտահայտությունը կարող է տեղադրվել SELECT հայտարարության ցանկացած վայրում, որտեղ կարող է հայտնվել աղյուսակի անունը: (Սեղանի արտահայտության արդյունքը միշտ աղյուսակ է կամ, հատուկ դեպքերում, արտահայտություն:) Հետևյալ օրինակը ցույց է տալիս աղյուսակի արտահայտության օգտագործումը SELECT դրույթի ընտրացանկում.

Այս հարցման արդյունքը.

Ընդհանրացված աղյուսակի արտահայտություններ

Ընդհանուր աղյուսակի արտահայտություն (CTE)աղյուսակի անվանված արտահայտություն է, որն ապահովվում է Transact-SQL լեզվով: Սեղանի ընդհանուր արտահայտություններն օգտագործվում են հետևյալ երկու տեսակի հարցումներում.

    ոչ ռեկուրսիվ;

    ռեկուրսիվ.

Այս երկու տեսակի հարցումները քննարկվում են հաջորդ բաժիններում:

OTB և ոչ ռեկուրսիվ հարցումներ

Դուք կարող եք օգտագործել ոչ ռեկուրսիվ OTB ձևը որպես ածանցյալ աղյուսակների և դիտումների այլընտրանք: Սովորաբար OTB-ն սահմանվում է ԿԵՏԱԿՆԵՐՈՎև կամընտիր հարցում, որը հղում է անում WITH կետում օգտագործված անվանմանը: WITH բանալի բառը Transact-SQL-ում երկիմաստ է: Անորոշությունից խուսափելու համար WITH կետին նախորդող հայտարարությունը վերջակետով վերջացրեք:

ՕԳՏԱԳՈՐԾԵԼ AdventureWorks2012; SELECT SalesOrderID FROM Sales.SalesOrderHeader WHERE TotalDue> (SELECT AVG (TotalDue) FROM Sales.SalesOrderHeader WHERE YEAR (OrderDate) = «2005») AND Freight> (SELECT AVG (TotalDue)HederaARRHE 2.5;

Այս օրինակի հարցումը ընտրում է պատվերներ, որոնց ընդհանուր հարկերը (TotalDue) ավելի մեծ են, քան բոլոր հարկերի միջինը, և որոնց բեռնափոխադրումների վճարները (Freight) ավելի մեծ են, քան հարկերի միջինի 40%-ը: Այս հարցման հիմնական հատկությունը դրա ծավալն է, քանի որ ենթհարցումը պետք է երկու անգամ գրվի: Հարցման կառուցվածքի չափը նվազեցնելու հնարավոր եղանակներից մեկը ենթհարցում պարունակող տեսքի ստեղծումն է: Բայց այս լուծումը որոշ չափով դժվար է, քանի որ այն պահանջում է ստեղծել դիտում, այնուհետև ջնջել այն հարցման կատարման ավարտից հետո: Լավագույն մոտեցումը կլինի OTB-ի ստեղծումը: Ստորև բերված օրինակը ցույց է տալիս ոչ ռեկուրսիվ OTB-ի օգտագործումը, որը կրճատում է վերը նշված հարցման սահմանումը.

ՕԳՏԱԳՈՐԾԵԼ AdventureWorks2012; WITH price_calc (տարին_2005) AS (SELECT AVG (TotalDue) FROM Sales.SalesOrderHeader WHERE YEAR (OrderDate) = «2005») SELECT SalesOrderID FROM Sales.SalesOrderHeader WHERE ՈՒՐԵՎԱԾՔԻՑ.SalesOrderHeader WHERE.

Ոչ ռեկուրսիվ հարցումներում WITH կետի շարահյուսությունը հետևյալն է.

cte_name պարամետրը ներկայացնում է OTB անունը, որը նույնականացնում է ստացված աղյուսակը, իսկ column_list պարամետրը ներկայացնում է աղյուսակի արտահայտության սյունակների ցանկը: (Վերևի օրինակում OTB-ը կոչվում է price_calc և ունի մեկ սյունակ՝ year_2005): Inner_query պարամետրը ներկայացնում է SELECT հայտարարություն, որը սահմանում է համապատասխան աղյուսակի արտահայտության արդյունքների հավաքածուն: Սահմանված աղյուսակի արտահայտությունն այնուհետև կարող է օգտագործվել outer_query արտաքին հարցումում: (Վերոնշյալ օրինակի արտաքին հարցումն օգտագործում է OTB price_calc-ը և դրա սյունակը year_2005՝ կրկնակի ներդիր հարցումը պարզեցնելու համար:)

OTB և ռեկուրսիվ հարցումներ

Այս բաժինը ներկայացնում է ավելացված բարդության նյութ: Ուստի առաջին անգամ կարդալիս խորհուրդ է տրվում բաց թողնել այն և ավելի ուշ վերադառնալ։ OTB-ները կարող են իրականացնել ռեկուրսիաներ, քանի որ OTB-ները կարող են հղումներ պարունակել իրենց մասին: Հիմնական OTB շարահյուսությունը ռեկուրսիվ հարցման համար հետևյալն է.

Cte_name և column_list պարամետրերն ունեն նույն նշանակությունը, ինչ OTB-ում ոչ ռեկուրսիվ հարցումների համար: WITH կետի մարմինը բաղկացած է երկու հարցումներից, որոնք համակցված են օպերատորի կողմից ՄԻՈՒԹՅՈՒՆ ԲՈԼՈՐ... Առաջին հարցումը կանչվում է միայն մեկ անգամ և այն սկսում է կուտակել ռեկուրսիայի արդյունքը։ UNION ALL օպերատորի առաջին օպերանդը չի վերաբերում OTB-ին: Այս հարցումը կոչվում է հղման հարցում կամ աղբյուր։

Երկրորդ հարցումը պարունակում է հղում դեպի OTB և ներկայացնում է դրա ռեկուրսիվ մասը: Դրա պատճառով այն կոչվում է ռեկուրսիվ անդամ: Ռեկուրսիվ մասի առաջին կանչում OTB հղումը ներկայացնում է հղման հարցման արդյունքը։ Ռեկուրսիվ անդամն օգտագործում է հարցմանը առաջին զանգի արդյունքը: Դրանից հետո համակարգը կրկին կանչում է ռեկուրսիվ մասը։ Ռեկուրսիվ անդամին ուղղված զանգն ավարտվում է, երբ նրան նախորդ զանգը վերադարձնում է դատարկ արդյունքների հավաքածու:

UNION ALL օպերատորը միավորում է ներկայումս կուտակված տողերը, ինչպես նաև ընթացիկ զանգի կողմից ավելացված լրացուցիչ տողերը ռեկուրսիվ անդամին: (UNION ALL օպերատորի առկայությունը նշանակում է, որ կրկնօրինակ տողերը չեն հեռացվի արդյունքից):

Վերջապես, outer_query պարամետրը սահմանում է արտաքին հարցում, որն օգտագործում է OTB՝ երկու անդամների միությանը բոլոր զանգերը ստանալու համար:

Ռեկուրսիվ OTB ձևը ցուցադրելու համար մենք օգտագործում ենք ինքնաթիռի աղյուսակը, որը սահմանված և լրացված է ստորև բերված օրինակում ներկայացված կոդով.

ՕԳՏԱԳՈՐԾԵԼ SampleDb; CREATE TABLE ինքնաթիռ (ContainingAssembly VARCHAR (10), ContainedAssembly VARCHAR (10), QuantityContained INT, UnitCost DECIMAL (6,2)); INSERT INTO Airplane VALUES («Ինքնաթիռ», «Ֆյուզելաժ», 1, 10); INSERT INTO ինքնաթիռի արժեքների մեջ («Ինքնաթիռ», «Թևեր», 1, 11); INSERT INTO Airplane VALUES («Ինքնաթիռ», «Պոչ», 1, 12); INSERT INTO Airplane VALUES («Ֆյուզելաժ», «Սրահ», 1, 13); INSERT INTO ինքնաթիռի արժեքների մեջ («Ֆյուզելաժ», «Խցիկ», 1, 14); INSERT INTO ինքնաթիռի արժեքների մեջ («Ֆյուզելաժ», «Քիթ», 1, 15); INSERT INTO ինքնաթիռի արժեքների մեջ («Salon», NULL, 1.13); INSERT INTO ինքնաթիռի արժեքների մեջ («Cabin», NULL, 1, 14); INSERT INTO ինքնաթիռի արժեքների մեջ («Քիթ», NULL, 1, 15); INSERT INTO ինքնաթիռի արժեքների մեջ («Թևեր», NULL, 2, 11); INSERT INTO ինքնաթիռի արժեքների մեջ («Tail», NULL, 1, 12);

Ինքնաթիռի աղյուսակը ունի չորս սյունակ: ContainingAssembly սյունակը նույնականացնում է ժողովը, իսկ ContainedAssembly սյունակը նույնականացնում է այն մասերը (մեկը մյուսի հետևից), որոնք կազմում են համապատասխան հավաքույթը: Ստորև բերված նկարը ներկայացնում է ինքնաթիռի հնարավոր տեսակի և դրա բաղկացուցիչ մասերի գրաֆիկական պատկերը.

Ինքնաթիռի աղյուսակը բաղկացած է հետևյալ 11 տողերից.

Ստորև բերված օրինակը ցույց է տալիս WITH կետը, որն օգտագործվում է հարցում սահմանելու համար, որը հաշվարկում է յուրաքանչյուր հավաքման ընդհանուր արժեքը.

ՕԳՏԱԳՈՐԾԵԼ SampleDb; ՄԱՍՆԵՐԻ_ՑՈՒՑԱԿՈՎ (հավաքածու1, քանակ, արժեք) AS (SELECT ContainingAssembly, QuantityContained, UnitCost FROM Airplane WHERE ContainedAssembly IS NULL UNION ALL SELECT a.ContainingAssembly, a.QuantityContainingAssembly, a.QuantityContainingAssembly, a.QuantityContainingAssembly, a.QuantityASTContained. ) FROM list_of_parts l, Airplane a WHERE l.assembly1 = a.ContainedAssembly) SELECT assembly1 «Part», քանակությունը «Qty», արժեքը «Price» FROM list_of_parts;

WITH դրույթը սահմանում է OTB ցուցակ, որը կոչվում է list_of_parts երեք սյունակով՝ հավաքում1, քանակ և ծախս: Օրինակի առաջին SELECT դրույթը կանչվում է միայն մեկ անգամ՝ ռեկուրսիայի գործընթացի առաջին քայլի արդյունքները պահպանելու համար: Օրինակի վերջին տողի SELECT հայտարարությունը ցույց է տալիս հետևյալ արդյունքը.

Վերջին թարմացումը՝ 07/05/2017

Նախորդ թեմայում SQL Management Studio-ում ստեղծվել է մեկ աղյուսակով հասարակ տվյալների բազա։ Այժմ եկեք սահմանենք և կատարենք առաջին SQL հարցումը։ Դա անելու համար բացեք SQL Management Studio-ն, աջ սեղմեք Object Explorer-ի վերին մակարդակի տարրի վրա (սերվերի անունը) և ընտրեք «Նոր հարցում» համատեքստի ընտրացանկում, որը հայտնվում է.

Դրանից հետո ծրագրի կենտրոնական մասում կբացվի SQL հրամաններ մուտքագրելու պատուհան։

Հարցում կատարենք նախորդ թեմայում ստեղծված աղյուսակին, մասնավորապես, դրանից կստանանք բոլոր տվյալները։ Մեր տվյալների բազան կոչվում է համալսարան, իսկ աղյուսակը՝ dbo.Students, ուստի աղյուսակից տվյալներ ստանալու համար մուտքագրելու ենք հետևյալ հարցումը.

SELECT * FROM University.dbo.Students

SELECT հայտարարությունը թույլ է տալիս ընտրել տվյալներ: FROM-ը նշում է աղբյուրը, որտեղից կարելի է ստանալ տվյալները: Փաստորեն, այս հարցումով մենք ասում ենք «SELECT all FROM table universitet.dbo.Students»: Հարկ է նշել, որ աղյուսակի անվան համար օգտագործվում է նրա ամբողջական ուղին` նշելով տվյալների բազան և սխեման:

Հարցումը մուտքագրելուց հետո սեղմեք Գործիքադարակի վրա գտնվող Կատարել կոճակը, կամ կարող եք սեղմել F5 ստեղնը:

Հարցման կատարման արդյունքում ծրագրի ներքևում հայտնվում է փոքրիկ աղյուսակ, որը ցուցադրում է հարցման արդյունքները, այսինքն՝ Students աղյուսակի բոլոր տվյալները:

Եթե ​​մենք պետք է մի քանի հարցումներ կատարենք նույն տվյալների բազայում, ապա մենք կարող ենք օգտագործել USE հրամանը տվյալների բազան հանձնելու համար: Այս դեպքում աղյուսակներին հարցումներ կատարելիս բավական է նշել դրանց անվանումը՝ առանց տվյալների բազայի և սխեմայի անվան.

ՕԳՏԱԳՈՐԾԵԼ համալսարան SELECT * FROM ուսանողներից

Այս դեպքում մենք հարցում ենք կատարում սերվերի համար որպես ամբողջություն, մենք կարող ենք մուտք գործել սերվերի ցանկացած տվյալների բազա: Բայց մենք կարող ենք նաև հարցումներ կատարել միայն կոնկրետ տվյալների բազայում: Դա անելու համար աջ սեղմեք անհրաժեշտ տվյալների բազայի վրա և ընտրեք «Նոր հարցում» կետը համատեքստի ընտրացանկում.

Եթե ​​այս դեպքում մենք ցանկանում ենք հարցում կատարել «Ուսանողների» վերևում օգտագործված աղյուսակում, ապա մենք ստիպված չենք լինի հարցման մեջ նշել տվյալների բազայի անվանումը և սխեման, քանի որ այս արժեքներն արդեն պարզ կլինեն: