КомпьютерлерФайл түрлері

SQL айқын: сипаттамасы, мысалдар, қасиеттері

Сіз кестелерден деректерді алу үшін SQL пайдаланған кезде жиі, пайдаланушы артық деректер мүлдем бірдей қайталанатын жолдар болуы болып табылады алады. Осы жағдайды болдырмау үшін, опциясын таңдаңыз сөйлемде SQL айқын дәлел пайдаланыңыз. Бұл мақалада осы дәлел пайдаланудың үлгілерін, сондай-ақ өтініш дәлел тастанды тиіс болатын жағдайларды талқылайды.

біз нақты мысалдар қарастыру жалғастыру алдында кестелер бірнеше талап деректер базасын құру.

дайындау үстел

біз екі кестелерде ұсынылған тұсқағаз туралы дерекқор сақтайды ақпаратты делік. Бұл кестеде Oboi түрі (тұсқағаздар түрі. - Қағаз, винил, т.б.) ID өрістерге (бірегей идентификатор) бар (тұсқағаздар), түсі (түсі), құрылымын (құрылымы) және баға (бағасы). Ал id_oboi өрістерге (кестеде Oboi бірегей идентификатор сілтеме) және санау (қоймада саны орама) бар үстел Ostatki (қалдықтары).

деректер кестесін толтырыңыз. кестеде тұсқағаз 9 жазбаларды қосу:

Oboi

ID

түрі

түс

құрылымын

баға

1

қағаз

түсті

бұдыр,

56,9

2

Қағаз қос қабатты

сорғылт қоңыр

тегіс

114,8

3

винил

апельсин

бұдыр,

504

4

Fleece

сорғылт қоңыр

бұдыр,

1020,9

5

Қағаз қос қабатты

сорғылт қоңыр

тегіс

150.6

6

қағаз

түсті

тегіс

95,4

7

винил

қоңыр

тегіс

372

8

Fleece

ақ

бұдыр,

980,1

9

мата

қызғылт

тегіс

1166,5

қалдықтары бар үстел - және тоғыз жазбалар:

Ostatki

id_oboi

санау

1

8

2

12

3

24

4

9

5

16

6

7

7

24

8

32

9

11

Біз SQL айқын тәртібін сипаттау кірісеміз.

Таңдаңыз тармақта өзгеше қойыңыз

айқын дәлел дереу сұрауларда Кілт сөзді таңдау кейін орналастырылуы тиіс. ол соңғы сұрау нәтижелерінің мүлдем бірдей жолдар болып табылады шығарылады, өйткені Ол таңдаңыз сөйлемде көрсетілген барлық бағандар қолданылады. Осылайша, бір рет SQL сұрау «айқын таңдаңыз» жазу кезінде көрсету үшін жеткілікті болып табылады. ерекшелік сәл кейінірек қарап жиынтық функцияларын ішіндегі айқын пайдалану болып табылады.

Бұл деректер базасын ең және сұрау сіздің түрін танымаса, бұл есте сақтау қажет:

айқын Ostatki.Count, айқын Oboi SELECT *.

Oboi FROM

Ішкі Ostatki ON Oboi.id = Ostatki.id_oboi JOIN

Онда дәлел бірнеше рет қарастырылды немесе көрсетілген, бірақ екінші дейін, үшінші немесе басқа таңдалған баған рет емес. Сіз қате синтаксис қатесі сілтеме алады.

стандартта қолдану ерекше сұраулар

Ол дұрыс құрылыс құрылымы кестелер және бір кесте ішінде оларды толтыру мүлдем бірдей жолдар бар болған кезде жағдайды тасталды анық. Сондықтан, бір үстел үлгідегі сұрау орындау «айқын таңдаңыз *» орынсыз болып табылады.

біз түрі бойынша сұрыптау үшін, жай ғана ыңғайлы болу үшін, біз тұсқағазды қандай түрі білу қажет болғанда жағдайды қарастырайық:

Oboi.type ТАҢДАУ

түрі бойынша Oboi бұйрықтан

Ал нәтиже алу:

түрі

қағаз

қағаз

Қағаз қос қабатты

Қағаз қос қабатты

винил

винил

мата

Fleece

Fleece

Кестеде көрсетілгендей қайталанатын жолдар бар. біз ұсыныс қоссаңыз айқын таңдаңыз:

айқын Oboi.type ТАҢДАУ

түрі бойынша Oboi бұйрықтан

біз қайталау жоқ нәтиже алуға:

түрі

қағаз

Қағаз қос қабатты

винил

мата

Fleece

дұрыс Кестеге деректерді енгізіңіз Осылайша, егер, содан кейін бірден сатып алушылар Телефон қоңырауының немесе талабы кейін біз сол сұйық тұсқағазды жауап бере алады, дүкенде қолжетімді шыны және акрил тұсқағаз емес. дүкендер диапазоны әдетте жүз тұсқағазға ғана шектелмейді екенін ескере отырып, бірегей емес түрлерінің тізімі өте еңбекті қажет ететін болар еді көру.

ішінде түрлі жиынтық функцияларын қолдану

SQL айқын дәлел, кез келген агрегаттық функциясымен пайдалануға болады. Бірақ Min және Max арналған оның өтiнiмi ешқандай нәтиже жоқ, бірақ сомасы немесе орташа мәні есептеу кезінде сирек ешкім де назарға қайталауын қабылдауға тура келеді жағдай болады.

біз біздің қоймадан әлеуетін тексеруге және осы сұрау жіберу үшін келеді делік, қоймада катушкалар жалпы саны есептейді:

SELECT SUM (Ostatki.count)

Ostatki FROM

Алайда, біз үшін өзгереді Егер сұрау жауап 143 береді:

SELECT SUM (ерекше Ostatki.count)

Ostatki FROM

бөлігі сандар 3 және 7 тұсқағаз сол мөлшерде қоймада бар, біз, жалпы 119 алу. Алайда, бұл жауап дұрыс емес екенін анық.

Ең жиі SQL түрлі функция Санақты пайдаланылады. Сондықтан, біз оңай тұсқағаздар қанша бірегей түрлерін жүзеге таба аласыз, біз бар ма:

SELECT COUNT (ерекше Oboi.type)

Oboi FROM

қарапайым қағаз және қос қабатты винил және тоқылмаған мата - және 5 нәтиже алуға. Бұл дүкен ғана бір-екі ондаған Rolls және тұсқағаз заманауи түрлерін алуан емес екенін білдіреді, ол арқылы «Тек біз тұсқағаз 20 әр түрлі, үстінен ие»: Расында, барлық сияқты жарнамаларды көрген.

Ол сол сұрауда, сіз есептеу жеке жатқызуын сияқты бірнеше функцияларды көрсетіңіз, және онсыз мүмкін екенін қызықты. Яғни Select'e айқын осы бірнеше рет болуы мүмкін ғана жағдай.

дәлел пайдалануды тоқтатуын кезде

SQL айқын дәлел пайдалану екі жағдайлардың бірінде тастанды тиіс:

  1. Сіз кестелер таңдауын орындауға және әрбір бірегей құны сенімдіміз. ол (ДББЖ түріне байланысты) серверде немесе клиент туралы қосымша жүктеме болып табылады, өйткені бұл жағдайда, дәлел пайдалану, орынсыз болып табылады.
  2. Егер сіз деректерді жоғалтпай қорқады. АҚШ түсіндірейін.

түрі мен түсі - болсын Boss тек екі бағаналардың көрсете отырып, сіз бар тұсқағазды тізімін сұрайды. әдеті, сіз айқын дәлел береді:

айқын Oboi.type, Oboi.color SELECT

Oboi FROM

Oboi.type BY ORDER

Ал - кейбір деректердің жоғалып:

түрі

түс

қағаз

түсті

Қағаз қос қабатты

сорғылт қоңыр

винил

қоңыр

винил

апельсин

мата

қызғылт

Fleece

сорғылт қоңыр

Fleece

ақ

Ол тұсқағаздар қағаздар (дәстүрлі және қос қабатты) біз шын мәнінде, тіпті екі-бабының (түрлі жоқ нәтиже) біздің шағын кестеде, бір ғана ақыл бар екенін әсер бере алады:

түрі

түс

қағаз

түсті

қағаз

түсті

Қағаз қос қабатты

сорғылт қоңыр

Қағаз қос қабатты

сорғылт қоңыр

винил

қоңыр

винил

апельсин

мата

қызғылт

Fleece

ақ

Fleece

сорғылт қоңыр

Сондықтан, тапсырмаға байланысты, оның өтініш бойынша шешім қабылдауға мұқият және білікті болуы керек дәлел айқын қажеттілігі бар кез-келген сұрау жазбаша түрде ретінде.

айқын баламалы

Барлық дәлел - айқын дәлел қайшы. оны қолдану қайталанатын жолдар сақталады. Бірақ әдепкі деректер базасы ретінде және ол барлық мәндерді көрсету үшін қажет деп тапса, дәлел Барлық - бұл өте өзекті функциясы аргументінің қарағанда іріктеу болып табылады. Біз енді сіз түрлі (SQL) пайдаланылады екенін түсінеміз деген үміттеміз. Сипаттамасы сізге түрлі мәселелерді шешуде осы дәлел пайдалану орындылығы туралы толық ақпарат береді. Анықталғанындай ретінде Өйткені, оның қолдану тіпті осындай қарапайым дәлел кейбір деректерді жоғалтпай және дәл ақпаратты көрсету өте материалдық мүмкіндігін жасырады.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 kk.birmiss.com. Theme powered by WordPress.