Bevezetés a SELECT szolgáltatásba a MySQL-ben
Ebben a témakörben megismerjük a SELECT funkciót a MySQL-ben és főleg a DQL-ben, amely „Data Query Language”. Ez akkor jön a játékhoz, amikor megpróbálunk rekordokat letölteni az adatbázisból, és a „SELECT” paranccsal kezdődik. Ez a parancs sok SQL záradékkal és más funkciókkal használható a kívánt rekordok eléréséhez.
Számos SQL-parancs létezik, amelyek az alábbiakba sorolhatók:
- DDL (adatmeghatározási nyelv)
- DML (adatkezelési nyelv)
- DQL (adatkérdezési nyelv)
- DCL (adatvezérlő nyelv)
- TCL (tranzakció-vezérlő nyelv)
Szintaxis:
1. A SELECT parancs alapszintű szintaxisa:
SELECT * FROM table_name;
Ezzel egy táblából az összes rekordot az összes attribútummal lekérheti.
SELECT column1, column2, …. FROM table_name;
Ez megadott oszlopokat tölt be a táblából, amelyeket átküldnek a lekérdezésen.
2. Ez a SELECT parancs használható az INSERT paranccsal is, amely rekordok hozzáadására szolgál a meglévő táblázathoz.
INSERT INTO table_name1 SELECT * FROM table_name2;
Itt a lekérdezés az összes rekordot lekérdezi a table_name2 fájlból, és beilleszti azokat a table_name1 fájlba.
Példák a SELECT implementálására a MySQL-ben
Tegyük fel, hogy van egy vevőtábla a következő attribútumokkal.
CUST_ID | Keresztnév | Vezetéknév | Kapcsolatba lépni | Város | Összeg | |
1001 | Rohit | Sharma | 9876736587 | Mumbai | 10000 | |
1002 | Virat | Kohli | 8752877855 | Delhi | 60000 | |
1003 | Sachin | Tendulkar | 9867868678 | Mumbai | 15000 | |
1004 | Virendra | Shewag | 9087788988 | Delhi | 20000 |
Néhány alapvető SELECT lekérdezést látunk néhány záradék felhasználásával, hogy megértsük, hogyan működik ez a parancs.
1. példa
SELECT * FROM customer;
(Ezzel egy táblából az összes rekordot az összes attribútummal lehívhatja.)
Kimenet:
CUST_ID | Keresztnév | Vezetéknév | Kapcsolatba lépni | Város | Összeg | |
1001 | Rohit | Sharma | 9876736587 | Mumbai | 10000 | |
1002 | Virat | Kohli | 8752877855 | Delhi | 60000 | |
1003 | Sachin | Tendulkar | 9867868678 | Mumbai | 15000 | |
1004 | Virendra | Shewag | 9087788988 | Delhi | 20000 |
2. példa
SELECT cust_id, first_name, last_name, email, city
FROM customer;
(Ez megadott oszlopokat tölt be egy táblából, amelyeket átküldnek egy lekérdezésen keresztül)
Kimenet:
CUST_ID | Keresztnév | Vezetéknév | Város | |
1001 | Rohit | Sharma | Mumbai | |
1002 | Virat | Kohli | Delhi | |
1003 | Sachin | Tendulkar | Mumbai | |
1004 | Virendra | Shewag | Delhi |
3. példa
SELECT cust_id, first_name, last_name, email, city FROM customer
WHERE city = 'Delhi';
(Ahol a parancs csak ezeket a rekordokat fogja letölteni, ahol a város Delhi lesz)
Kimenet:
CUST_ID | Keresztnév | Vezetéknév | Város | |
1002 | Virat | Kohli | Delhi | |
1004 | Virendra | Shewag | Delhi |
4. példa
SELECT cust_id, first_name, last_name, city, amount FROM customer
WHERE amount BETWEEN 5000 AND 25000;
(A BETWEEN záradék olyan rekordokat ad vissza, amelyek kielégítik a lekérdezésben megadott feltételek tartományát)
Kimenet:
CUST_ID | Keresztnév | Vezetéknév | Város | Összeg |
1001 | Rohit | Sharma | Mumbai | 10000 |
1003 | Sachin | Tendulkar | Mumbai | 15000 |
1004 | Virendra | Shewag | Delhi | 20000 |
5. példa
SELECT * FROM customer
ORDER BY amount DESC;
(A numerikus és a karakterlánc értékeit növekvő vagy csökkenő módon rendezik. Alapértelmezés szerint növekvő módon válogat.
Kimenet:
CUST_ID | Keresztnév | Vezetéknév | Kapcsolatba lépni | Város | Összeg | |
1002 | Virat | Kohli | 8752877855 | Delhi | 60000 | |
1004 | Virendra | Shewag | 9087788988 | Delhi | 20000 | |
1003 | Sachin | Tendulkar | 9867868678 | Mumbai | 15000 | |
1001 | Rohit | Sharma | 9876736587 | Mumbai | 10000 |
Záradékok a SELECT paranccsal
Egyéb klauzulák a SELECT paranccsal:
1. VÁLASZTÁS: Az összes rekord lehívására szolgál egy táblából.
SELECT * FROM table;
2. DISTINCT: Az összes egyedi érték beolvasására szolgál egy táblából.
SELECT DISTINCT col_name FROM table;
3. Hol: a megbocsátó feltételek a nyilvántartások visszakeresésében.
SELECT employee_id FROM employee
WHERE name = 'stella';
4. COUNT: A táblában jelenlévő rekordok számának meghatározására szolgál.
SELECT COUNT(*) FROM employee;
5. RENDELÉS: A numerikus és a karakterlánc értékeinek növekvő vagy csökkenő rendezésére szolgál. De alapértelmezés szerint növekvő sorrendben van. Ha le akarunk szállni, akkor azt meg kell adnunk az ORDER BY záradék használata után.
SELECT first_name FROM student
ORDER BY marks desc;
6. LIMIT: Ezt a lekérdezés végrehajtása után kívánt rekordok számának meghatározására használjuk. Ha az osztály 5 legfontosabb hallgatóját akarjuk, akkor az eredmények rendezése után felhasználhatjuk ezt a LIMIT-ot az 5. megadásával. Így csak az első öt rekordot fogja letölteni.
SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;
(** ORDER BY itt használható érték csökkenő sorrendben történő rendezéséhez)
7. ÉS: Ha 2 feltétel van megadva, és mindkettő teljesül egy rekordhoz, akkor csak a lekérdezés fogja letölteni azt a rekordot.
SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';
8. VAGY: Ha 2 feltételt adnak, és az egyik teljesül egy rekordhoz, akkor az a rekord letöltendő.
SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';
9. NEM: feltételekkel használva. Ha bármilyen feltétel előtt megadjuk a NEM elemet, akkor azok a rekordok, amelyek nem felelnek meg a feltételeknek, letöltendők.
SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;
10. KÖZÖT: Ez az operátor kiválaszt egy rekordot egy adott tartományon belül. Leginkább akkor használjuk, ha a dátumtartományt akarjuk meghatározni.
SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;
SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';
11. IN: Ez az operátor lehetővé teszi számunkra, hogy több értéket adjunk meg egy WHERE záradékban.
SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);
12. LIKE: Ezt az operátort a WHERE záradékkal használják egy megadott minta keresésére a karakterláncot tartalmazó oszlopban.
- 'A%' - a string kezdődik A betűvel
- '& A' - A-val fejeződik be
- '% A%' - A lesz a karakterlánc között
- '_A%' - itt a második betű A lesz
- '% A_' - Az utolsó betű második része A lesz
SELECT first_name FROM table
WHERE first_name LIKE 'A%';
13. SUBSTRING: Egy adott karakter kiválasztására szolgál egy karakterláncból a helyzet megadásával.
SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;
(lekérdezi a karaktert a karakterlánc 1-5. pozíciójáról)
14. INSTR: Ez egy karakterlánc pozícióját adja vissza egy másik karakterláncban.
SELECT INSTR('independence', 'pen');
(megtalálja a „toll” helyzetét a „függetlenség” szóban)
15. CSOPORTOSÍTÁS: Ezt használják a nyilvántartások szétválasztására bizonyos feltételek alapján.
SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;
(Itt csoportosulnak szétválasztott alkalmazottak szerint az osztályuk alapján, akiknek fizetése meghaladja a 100 000-et.
A feltételnek mindig a HATÁROZÁS-nyilatkozatot kell tartalmaznia a GROUP BY záradékban.)
Összesített funkciók
Az alábbiakban látható a különböző összesített függvény:
1. SUM: kiszámítja az értékek összegét.
SELECT SUM(salary) FROM employee;
2. AVG: kiszámítja az átlagos értékkészletet.
SELECT AVG(salary) FROM employee;
3. MIN: Megkapja a minimális értéket egy sorozatban.
SELECT MIN(salary) FROM employee;
4. MAX: a maximális értéket adja meg egy értékkészletben.
SELECT MAX(salary) FROM employee;
Belép a SELECT szolgáltatásba a MySQL-ben
1. BELSŐ CSATLAKOZÁS: Olyan rekordokat ad vissza, amelyeknek mindkét táblában megegyező értéke van.
SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;
2. BALRA CSATLAKOZTATÁS: Az összes rekordot a bal oldali táblából és az egyeztetett rekordokat a jobb oldali táblából adja vissza.
SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;
3. JOBB CSATLAKOZÁS: Az összes rekordot a jobb oldali táblából és az egyeztetett rekordokat a bal oldali táblából adja vissza.
SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;
4. TELJES KÜLSŐ CSATLAKOZÁS: Az összes rekordot visszaadja, ha a bal vagy a jobb oldali meccs van.
SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;
Következtetés - VÁLASSZA a MySQL-ben
Ezek a fentebb tárgyalt parancsok és kikötések nagyon hasznosak valósidejű forgatókönyvekben, mivel az alapvető fogalmakat ad arra, hogyan lehet az SQL lekérdezéseket felhasználni az adatok beolvasására és manipulálására az adatbázisban. Mindezen előzetes és analitikus lekérdezések, például ablakfunkció stb. Használata során ezek a kikötések nagyon fontosak.
Ajánlott cikkek
Ez a SELECT útmutatója a MySQL-ben. Itt a Példa a SELECT MySQL-ben történő megvalósítására klauzulaival, összesített funkcióival és egyesítéseivel foglalkozik. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Helyettesítő karakterek a MySQL-ben
- Mi a MySQL séma?
- Hogyan lehet csatlakoztatni az adatbázist a MySQL-hez?
- MySQL lekérdezések
- INSERT az Oracle-ban | Példák
- Példák a DISTINCT-re az Oracle-ben