Aloittamiseksi sinun on oltava asennettuna MySQL järjestelmään ja sen apuohjelmat: MySQL-työpöytä ja komentorivin asiakaskuori. Sen jälkeen tietokantataulukoissa on oltava joitain tietoja tai arvoja kaksoiskappaleina. Tutkitaan tätä joitain esimerkkejä. Ensinnäkin, avaa komentorivin asiakaskuori työpöydän tehtäväpalkista ja kirjoita MySQL-salasanasi pyydettäessä.
Olemme löytäneet erilaisia tapoja löytää kopiot taulukosta. Katsokaa niitä yksi kerrallaan.
Etsi kopioita yhdestä sarakkeesta
Ensinnäkin sinun on tiedettävä kyselyn syntaksista, jota käytetään yhden sarakkeen kaksoiskappaleiden tarkistamiseen ja laskemiseen.
>> VALITSE sarakkeiden MÄÄRÄ (col) FROM taulukon RYHMÄSTÄ sarakkeella ON LASKEMINEN (col)> 1;Tässä on selitys yllä olevalle kyselylle:
- Sarake: Tarkistettavan sarakkeen nimi.
- KREIVI(): toiminto, jota käytetään monien päällekkäisten arvojen laskemiseen.
- RYHMÄ: lauseke, jota käytetään ryhmittämään kaikki rivit kyseisen sarakkeen mukaan.
Olemme luoneet uuden taulukon nimeltä 'animals' MySQL-tietokantaamme 'data', jolla on päällekkäiset arvot. Siinä on kuusi saraketta, joissa on eri arvot, esim.g., id, nimi, laji, sukupuoli, ikä ja hinta antavat tietoja eri lemmikkeistä. Kun soitamme tähän taulukkoon SELECT-kyselyn avulla, saamme alla olevan tuloksen MySQL-komentoriviasiakassovellukseen.
>> VALITSE * FROM-tiedoista.eläimet;
Yritämme nyt löytää ylimääräiset ja toistetut arvot yllä olevasta taulukosta käyttämällä SELECT- ja GROUP BY -lausekkeita SELECT-kyselyssä. Tämä kysely laskee alle 3 kertaa taulukossa olevien lemmikkien nimet. Sen jälkeen se näyttää nämä nimet alla.
>> SELECT Name COUNT (Nimi) FROM-tiedoista.eläimet RYHMÄ NIMEN MÄÄRÄ (Nimi) < 3;
Käyttämällä samaa kyselyä saadaksesi erilaisia tuloksia muuttamalla lemmikkien nimien COUNT-numeroa alla esitetyllä tavalla.
>> SELECT Name COUNT (Nimi) FROM-tiedoista.eläimet RYHMÄ NIMEN LUKEMINEN (Nimi)> 3;
Tulosten saamiseksi yhteensä kolmelle päällekkäiselle arvolle lemmikkien nimille, kuten alla on esitetty.
>> SELECT Name COUNT (Nimi) FROM-tiedoista.eläimet RYHMÄ NIMEN LUKEMINEN (Nimi) = 3;
Hae kopioita useista sarakkeista
Useiden sarakkeiden kaksoiskappaleiden tarkistamisen tai laskemisen kyselyn syntaksit ovat seuraavat:
>> SELECT col1, COUNT (col1), col2, COUNT (col2) taulukosta RYHMÄ MUKAAN col1, col2 HAVING COUNT (col1)> 1 JA COUNT (col2)> 1;Tässä on selitys yllä olevalle kyselylle:
- col1, col2: tarkistettavien sarakkeiden nimi.
- KREIVI(): toiminto, jota käytetään useiden päällekkäisten arvojen laskemiseen.
- RYHMÄ: lauseke, jota käytetään ryhmittelemään kaikki rivit kyseisen sarakkeen mukaan.
Olemme käyttäneet samaa taulukkoa, jonka nimi on 'eläimet' ja joilla on päällekkäiset arvot. Saimme alla olevan tuotoksen, kun käytimme yllä olevaa kyselyä päällekkäisten arvojen tarkistamiseen useissa sarakkeissa. Olemme tarkistaneet ja laskeneet kaksoisarvot sarakkeille Sukupuoli ja Hinta samalla ryhmiteltyinä sarakkeen Hinta kanssa. Se näyttää taulukossa olevat lemmikkien sukupuolet ja niiden hinnat kahtena kappaleena.
>> SELECT Gender, COUNT (Gender), Price, COUNT (Price) FROM data.eläimet RYHMÄ HINTA LASKENNA (Hinta) < 5 AND COUNT(Gender) < 5;
Hae kopioita yhdestä taulukosta INNER JOIN -toiminnon avulla
Tässä on perussyntaksi kopioiden löytämiseksi yhdestä taulukosta:
>> SELECT col1, col2, taulukko.sarake taulukosta SISÄISEN LIITTYMINEN (VALITSE sarake taulukon RYHMÄSTÄ sarakkeella, JOSSA LASKE (col1)> 1) temp ON taulukko.col = lämpötila.col;Tässä on yleiskyselyn kertomus:
- Pylväs: tarkistettavan ja kaksoiskappaleiksi valitun sarakkeen nimi.
- Lämpötila: avainsana, jos haluat käyttää sarakkeen sisäistä liitosta.
- Pöytä: tarkistettavan taulukon nimi.
Meillä on uusi taulukko 'order2' ja kaksoisarvot sarakkeessa OrderNo alla olevan kuvan mukaisesti.
>> VALITSE * FROM-tiedoista.järjestys2;
Valitsemme kolme saraketta: Tuote, Myynti, Tilausnumero näytetään tulosteessa. Saraketta OrderNo käytetään kaksoiskappaleiden tarkistamiseen. Sisäinen liitos valitsee arvot tai rivit, joiden kohteiden arvot ovat enemmän kuin yksi taulukossa. Suorituksen yhteydessä saamme tulokset alla.
>> VALITSE Tuote, myynti, tilaus2.Tilaus Ei dataa.order2 INNER JOIN (VALITSE TilausNRO FROM-tiedoista.tilaus2 RYHMÄ TILAUKSEN JÄLKEEN EI LASKEITA (Tuote)> 1) Lämpötila PÄÄLLÄ tilaus2.Tilausnumero = lämpötila.Tilausnumero;
Hae kopioita useista taulukoista INNER JOIN -toiminnon avulla
Tässä on yksinkertaistettu syntaksin kaksoiskappaleiden etsimiseen useista taulukoista:
>> VALITSE sarake taulukosta1 INNER JOIN taulukko2 päällä taulukko1.col = taulukko2.col;Tässä on yleiskyselyn kuvaus:
- col: tarkistettavien ja valittavien sarakkeiden nimi.
- SISÄINEN LIITTYMINEN: toiminto, jota käytetään kahden taulukon liittämiseen.
- PÄÄLLÄ: käytetään kahden taulukon liittämiseen annettujen sarakkeiden mukaisesti.
Meillä on kaksi taulukkoa, 'order1' ja 'order2', tietokannassamme on 'OrderNo' -sarake molemmissa alla olevan kuvan mukaisesti.
Yhdistämme INNER-liitoksen avulla kahden taulukon kopiot määritetyn sarakkeen mukaan. INNER JOIN -lauseke saa kaikki tiedot molemmista taulukoista yhdistämällä ne, ja ON-lauseke liittyy samoihin nimisarakkeisiin molemmista taulukoista, e.g., Tilausnumero.
>> VALITSE * FROM-tiedoista.järjestys1 INNER JOIN -tiedot.order2 ON order1.Tilausnumero = tilaus2.Tilausnumero;
Saadaksesi tietyt sarakkeet tulosteeseen, kokeile seuraavaa komentoa:
>> SELECT Region, Status, Item, Sales FROM data.järjestys1 INNER JOIN -tiedot.order2 ON order1.Tilausnumero = tilaus2.Tilausnumero;
Johtopäätös
Voisimme nyt etsiä useita kopioita yhdestä tai useammasta MySQL-tietotaulukosta ja tunnistaa GROUP BY-, COUNT- ja INNER JOIN -toiminnot. Varmista, että olet rakentanut taulukot oikein ja että oikeat sarakkeet on valittu.