SQLShack (Suomi)

0 Comments

Tämä artikkeli antaa syvälle sukeltaa SQL Unionin toimija, jossa kuvataan sen monia käyttötarkoituksia sekä esimerkkejä ja tutkia joitakin yleisiä kysymyksiä, kuten erot Unionin vs Unionin Kaikki.

käsitellä reaalimaailman tietoja koskevat vaatimukset, meidän täytyy ehkä yhdistää tulos settejä useita tietolähteitä, jotta voisimme tehdä data-analyysi tai luoda uusia tietokokonaisuuksia. Aineistot voivat olla identtisiä, mutta on mahdollista, että ne viittaavat eri taulukoihin., Onko olemassa tapa yhdistää tiedot yhdellä kyselyllä? Ovatko Set-operaattorit varteenotettava vaihtoehto? Aloitetaan ja katsotaan, miten osa nykyisistä operaattoreista voi auttaa meitä vastaamaan näihin yhteisiin haasteisiin.,n vs Unionin alueella

  • SQL-Operaattori Syntaksi
  • Kuinka käyttää yksinkertaista SQL Unionin lauseke select
  • Kuinka käyttää SQL Unionin kanssa kyselyt, jotka ovat where-lauseke
  • Kuinka käyttää VALITSE lauseke, jossa Unionin
  • Kuinka käyttää SQL Unionin kanssa kyselyt, jotka on where ja order by-lausekkeen
  • Kuinka käyttää SQL Unionin ja SQL Pivot
  • Kuinka käyttää SQL-Unionin RYHMÄN kanssa ja OTTAA lausekkeita
  • Operaattorit

    operaattori on merkki tai avainsana määrittelee toiminnon, joka suoritetaan yhden tai useamman ilmaisuja Select.,

    Aseta Operaattori

    – lähdetään yksityiskohtiin Asettaa Toimijoille, SQL Server, ja miten käyttää niitä,

    On neljä perus Asettaa Toimijoille SQL-Palvelin:

    1. Unionin
    2. Unioni
    3. PAITSI
    4. LEIKKAA

    Unionin

    Unioni operaattori yhdistää tulokset kahden tai useamman kyselyt osaksi erillinen yhden tulosjoukon, joka sisältää kaikki rivit, jotka kuuluvat kaikki kyselyt Unionissa. Tässä toiminnassa se yhdistää kaksi kyselyä ja poistaa kaksoiskappaleet.,

    esimerkiksi, pöytä ’A’ on 1,2, ja 3 ja taulukko ” B ” on 3,4,5.,

    UNIONIN
    VALITSE 2
    UNIONIN
    VALITSE 3
    )
    UNIONIN
    (
    VALITSE 3
    UNIONIN
    VALITSE 4
    UNIONIN
    VALITSE 5
    );

    lähtö, voit nähdä erillistä luetteloa kirjaa päässä kaksi johtaa sarjaa

    Unioni

    Kun tarkastellaan Unionin vs Unionin Kaikki löydämme ne ovat melko samanlaisia, mutta niillä on joitakin tärkeitä eroja, mistä suorituskyky näkökulmasta tulokset.,

    Unioni operaattori yhdistää tulokset kahden tai useamman kyselyt yhdeksi tulosjoukon, joka sisältää kaikki rivit, jotka kuuluvat kaikki kyselyt Unionissa. Yksinkertaisesti, se yhdistää kaksi tai useampia rivisarjoja ja pitää kaksoiskappaleet.

    esimerkiksi, pöytä ’A’ on 1,2, ja 3 ja taulukko ” B ” on 3,4,5.,iv>

    7
    8
    9
    10
    11
    12
    13
    14
    15
    (
    VALITSE 1 ID
    UNIONIN
    VALITSE 2
    UNIONIN
    VALITSE 3
    )
    UNIONI
    (
    VALITSE 3
    UNIONIN
    VALITSE 4
    UNIONIN
    VALITSE 5
    );

    lähtö, voit nähdä kaikki rivit, jotka sisältävät toistuvia kirjaa samoin.,>4

    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    (
    VALITSE 1 ID
    UNIONIN
    VALITSE 2
    UNIONIN
    VALITSE 3
    )
    leikkaavat
    (
    VALITSE 3
    UNIONIN
    VALITSE 4
    UNIONIN
    VALITSE 5
    );

    rivi ’3’ on yhteinen kahden johtaa sarjaa.,

    PAITSI

    LUKUUN ottamatta operaattorin luettelot rivien ensimmäisessä, jotka eivät ole toisessa.,/div>

    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    (
    VALITSE 1
    UNIONIN
    VALITSE 2
    UNIONIN
    VALITSE 3
    )
    PAITSI
    (
    VALITSE 3 B
    UNIONIN
    VALITSE 4
    UNIONIN
    VALITSE 5
    );

    Listan nimi-yhteiset rivit ensimmäiset.,

    Huomautus: Se on erittäin helppo visualisoida asettaa toimija, joka käyttää Venn-kaavio, jossa kukin taulukot edustaa risteäviä muotoja. Muotojen risteykset, joissa taulukot limittyvät, ovat rivejä, joissa ehto täyttyy.,olumns, jotka on määritelty kunkin kyselyn on oltava samassa järjestyksessä

  • Myöhemmin SQL rivi sarjaa on vastaavat tiedot tyyppi ensimmäinen kysely
  • Suluissa on mahdollisuus rakentaa toinen joukko toimijoita samalla selvitys
  • mahdollista on ORDER BY-lausekkeen, mutta, että pitäisi olla viimeinen selvitys SQL
  • RYHMÄN ja OTTAA lausekkeita voidaan soveltaa yksittäisten kysely
  • Huomautus:

    1. Kaikki nämä Asettaa toimijat poistaa kaksoiskappaleet, lukuun ottamatta Unionin alueella toimija
    2. tuotos sarake nimet ovat tarkoitettu ensimmäisen kyselyn minä.,e. kun me ajaa SELECT tahansa Joukko toimijoita ja tulos asettaa kunkin kyselyt voivat olla eri sarakkeiden nimet, joten tulos SELECT viittaa sarakkeen nimet ensimmäisen kyselyn toiminnassa.
    3. SQL JOIN on useammin käytetty combine-sarakkeita useista toisiinsa liittyvistä taulukoista, kun taas SET-operaattorit yhdistävät rivejä useista taulukoista.,
    4. Kun ilmaisun tyypit ovat samat, mutta eroavat siinä, tarkkuus, mittakaava, tai pituus, tulos määräytyy perustuu samoja sääntöjä, jossa yhdistyvät ilmaukset

    Esimerkkejä:

    seuraavat T-SQL-kyselyt on laadittu ja ajaa vastaan Adventureworks2014 tietokantaan. Voit ladata näytteen AdventireWorks2014 tietokanta

    1. Kuinka käyttää yksinkertaista SQL Unionin lauseke select

      tässä esimerkissä, tuloksena setti sisältää selkeät rivit ensimmäisen sarjan ja toisen sarjan.,Seuraava esimerkki perustuu sääntöön 1, 3 & 5.,

      VALITSE 1
      UNIONIN
      VALITSE 2
      UNIONIN
      VALITSE 3
      )
      UNIONIN
      (
      VALITSE 3 B
      UNIONIN
      VALITSE 4
      UNIONIN
      VALITSE 5
      )
      UNIONI
      (
      VALITSE 8 c
      UNIONIN
      VALITSE 9
      UNIONIN
      VALITSE 1
      )
      -) T;

      lähtö on yhdistelmä Unionin ja Unionin Kaikkien toimijoiden käyttäen suluissa.,

    2. Kuinka käyttää SQL Unionin kanssa kyselyt, jotka ovat where

      seuraava esimerkki näyttää, käyttää Unionin kahdessa VALITSE lausuntoja, joiden where ja ORDER BY-lausekkeen.,

      The following example is based on the rule 1,2 and 3

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10

      SELECT P1.ProductModelID,
      P1.Name
      FROM Production.ProductModel P1
      WHERE ProductModelID IN(3, 4)
      UNION
      SELECT P2.ProductModelID,
      P2.,Nimi
      tuotannosta.ProductModel P2
      missä P2.ProductModelID IN(3, 4)
      JÄRJESTYKSESSÄ P1.Nimi;

    3. Kuinka käyttää VALITSE lauseke SQL Unionin

      seuraava esimerkki luo uuden dbo.valetaulukko, jossa käytetään ensimmäisen select-lausekkeen INTO-lauseketta, jossa on sarakkeiden tuotemalli unionin lopullinen tulosjoukko ja nimi kahdesta eri tulosjoukosta., Tällöin se on johdettu samasta taulukosta, mutta reaalimaailmassa tämä voi olla myös kaksi eri taulukkoa. Seuraava esimerkki perustuu 1 , 2 ja 4 artiklaan.

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16

      DROP TABLE JOS on OLEMASSA dbo.,dummy;
      SELECT P1.ProductModelID,
      P1.Name
      INTO dummy
      FROM Production.ProductModel P1
      WHERE ProductModelID IN(3, 4)
      UNION
      SELECT P2.ProductModelID,
      P2.Name
      FROM Production.ProductModel P2
      WHERE P2.ProductModelID IN(3, 4)
      ORDER BY P1.Name;
      GO
      SELECT *
      FROM dbo.,Nuken;

    4. Kuinka käyttää SQL Unionin kanssa kyselyt, jotka on where ja ORDER BY-lausekkeen

      Tämä on mahdollista vain, kun käytämme YLÄ-tai koostefunktioita joka select Unionin operaattori. Tässä tapauksessa top 10-rivit on lueteltu jokaisesta tulosjoukosta ja yhdistetty rivit käyttäen Union-lauseketta lopullisen tuloksen saamiseksi. Näet myös, että tilaus lausekkeittain on sijoitettu kaikkiin valitse lauseke.,

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21

      VALITSE.ModelID,
      the.,Name
      FROM
      (
      SELECT TOP 10 ProductModelID ModelID,
      Name
      FROM Production.ProductModel
      WHERE ProductModelID NOT IN(3, 4)
      ORDER BY Name DESC
      ) a
      UNION
      SELECT b.ProductModelID,
      b.Name
      FROM
      (
      SELECT TOP 10 ProductModelID,
      Name
      FROM Production.,ProductModel
      JOSSA ProductModelID VUONNA(5, 6)
      ORDER BY Nimi DESC
      ) b;

    5. Kuinka käyttää SQL Unionin ja SQL Pivot

      seuraavassa esimerkissä yritämme yhdistää enemmän kuin yhdet tulokset. Reaalimaailman tilanne, sinulla voi olla taloudellinen numerot eri alueiden tai yksiköiden ja taulukot voi olla samat sarakkeet ja tietotyypit, mutta haluat laittaa ne yhteen joukon rivejä ja yksi raportti., Tällaisessa tilanteessa käyttäisitte unionin lauseketta, ja on erittäin helppoa yhdistää tulokset ja muuttaa tiedot mielekkäämmäksi raportiksi.

      tässä esimerkissä ProductModel on luokiteltu Top10, Top100, Top 100 ja muuttaa riviä kuin yhteenlaskettu joukko arvot vastaavat sarakkeet. Seuraava esimerkki perustuu 2 artiklaan.,/div>

      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      SELECT MAX(Top10) Top10,
      MAX(Top100) Top100,
      MAX(Top1000) Top100
      PÄÄSSÄ
      (
      SELECT COUNT(*) Top10,
      0 Top100,
      0 Top1000
      Tuotannosta.,ProductModel
      WHERE ProductModelID < 10
      UNION
      SELECT 0,
      COUNT(*),
      0
      FROM Production.ProductModel
      WHERE ProductModelID > 11
      AND ProductModelID < 100
      UNION
      SELECT 0,
      0,
      COUNT(*)
      FROM Production.,ProductModel
      JOSSA ProductModelID > 101
      -) T;

      NULL-arvot ovat erittäin tärkeää Asettaa Toimijoille ja kohdellaan toisen luokan tietokanta kansalaisia. Koska Nollia pidetään ainutlaatuinen ja jos kaksi riviä on NULL-samassa sarakkeessa, sitten ne olisi pidettävä keskenään samanlaisia, joten tässä tapauksessa, olet todella vertaamalla NULL NULL ja saada tasa-arvoa. Seuraavassa esimerkissä näet NULL-arvojen käytön. Tällöin sitä käytetään aggregaattifunktiolla, max.,

      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      SELECT MAX(Top10) Top10,
      MAX(Top100) Top100,
      MAX(Top1000) Top100
      PÄÄSSÄ
      (
      SELECT COUNT(*) Top10,
      NULL Top100,
      NULL Top1000
      Tuotannosta.,ProductModel
      WHERE ProductModelID < 10
      UNION
      SELECT NULL,
      COUNT(*),
      NULL
      FROM Production.ProductModel
      WHERE ProductModelID > 11
      AND ProductModelID < 100
      UNION
      SELECT NULL,
      NULL,
      COUNT(*)
      FROM Production.,ProductModel
      JOSSA ProductModelID > 101
      -) T;

    Kuinka käyttää SQL-Unionin Ryhmän kanssa ja Ottaa lausekkeita

    Seuraavissa esimerkeissä käytetään Union operaattoria yhdistämään tulos pöydän, että kaikki on ehdollinen lauseke, joka on määritetty käyttämällä Group by-ja Having-ehto.

    sukunimeä jäsennetään täsmentämällä, mitä ehtoja on lausekkeessa.

    seuraava esimerkki perustuu 5 artiklaan.,

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    – VALITSE pp.sukunimi,
    kreivi(*) toistettutwice,
    0 Toistettutrice
    henkilöltä.Henkilö pp
    liittyy ihmiseen.Employee AS E on E. BusinessEntityID = pp.,BusinessEntityID
    GROUP BY pp.sukunimi
    jolla on luku(*) = 2
    UNION
    Valitse pp.Sukunimi
    0,
    kreivi(*) NtoZRange
    henkilöltä.Henkilö pp
    liittyy ihmiseen.Employee AS E on E. BusinessEntityID = pp.BusinessEntityID
    GROUP BY pp.,Sukunimi
    HAVING COUNT(*) > 2;

    – Voimme nähdä, että viime nimet on johdettu kahteen eri sarakkeita käyttää Unionin lentoliikenteen harjoittaja,

    siinä kaikki.

    Tiivistelmä

    tähän mennessä olemme käsitelleet eri vaihtoehdoista ja sääntöjä käyttää Asettaa toimijat ja ymmärtää, kun käyttää niitä. Kun määritetään, onko käyttää Union vs Union kaikki on muutamia kohtia harkita., Käyttää Unionin Kaikki, jos tiedät, että tulos settejä useita kyselyt eivät ole päällekkäisiä tai luo kaksoiskappaleet ja muista, jos sinun täytyy käyttää suluissa, voit tehdä sen. Voit myös kääntää ja muuttaa lähtö.

    Vain varmista, että tiedot tyypit täsmää ja jos haluat tehdä TILAUKSEN, tee se lopussa sen jälkeen, kun olet suorittanut kaikki ne asettaa kyselyt. Kun kyse on unionin ja unionin välisestä suhteesta, Unionin kaikki on unionia nopeampaa, koska unionin toimijoille aiheutuu lisäkustannuksia päällekkäisyyksien poistamiseksi.

    toivottavasti nautit tästä artikkelista SQL Union-operaattorilla., Voit vapaasti esittää kysymyksiä alla olevissa kommenteissa.

    • Tekijä
    • Viimeisimmät Viestit
    Olen Tietokanta, teknologi, joilla on 11+ vuotta rikas käytännön kokemusta Tietokanta teknologioita. Olen Microsoft Certified Professional ja tukena Master of Computer Application.
    Minun erikoisuus piilee suunnittelussa & täytäntöönpanosta Korkean käytettävyyden ratkaisuja ja cross-platform DB Muuttoliike., Tällä hetkellä käytössä olevat teknologiat ovat SQL Server, PowerShell, Oracle ja MongoDB.,
    Näytä kaikki viestit Prashanth Jayaram

    Uusimmat viestit Prashanth Jayaram (katso kaikki)
    • nopea katsaus audit-tietokanta SQL – tammikuu 28, 2021
    • Miten perustaa Azure Data Sync välillä Azure SQL-tietokantojen ja-tiloissa SQL Server – 20. tammikuuta 2021
    • Miten tehdä Azure SQL-tietokannan Import/Export-toimintoja käyttäen PowerShell – 14. tammikuuta 2021


    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *