Увод у СЕЛЕЦТ у МиСКЛ-у
У овој теми ћемо сазнати о СЕЛЕЦТ-у на МиСКЛ-у и углавном у ДКЛ-у који је „Језик упита података“. Долази до репродукције када покушавамо да узмемо записе из базе података и она започиње наредбом „СЕЛЕЦТ“. Ова наредба се може користити са многим СКЛ клаузулама као и другим функцијама за добијање жељених записа.
Постоји много врста СКЛ наредби које се могу сврстати у следеће:
- ДДЛ (језик дефиниције података)
- ДМЛ (језик за обраду података)
- ДКЛ (језик упита података)
- ДЦЛ (језик контроле података)
- ТЦЛ (језик контроле трансакције)
Синтакса:
1. Основна синтакса наредбе СЕЛЕЦТ:
SELECT * FROM table_name;
Ово ће преузети све записе са свим атрибутима из табеле.
SELECT column1, column2, …. FROM table_name;
Ово ће преузети одређене ступце из табеле која се прослеђује путем упита.
2. Ова наредба СЕЛЕЦТ може се користити и са командом ИНСЕРТ која се користи за додавање записа у постојећу табелу.
INSERT INTO table_name1 SELECT * FROM table_name2;
Овде ће упити преузети све записе са табле_наме2 и уметнути их у табле_наме1.
Примери за имплементацију СЕЛЕЦТ-а у МиСКЛ-у
Размотримо да постоји табела корисника са следећим атрибутима.
Цуст_ид | Име | Презиме | Контакт | Емаил | Град | Износ |
1001 | Рохит | Схарма | 9876736587 | Мумбаи | 10000 | |
1002 | Вират | Кохли | 8752877855 | Делхи | 60000 | |
1003 | Сацхин | Тендулкар | 9867868678 | Мумбаи | 15000 | |
1004 | Вирендра | Схеваг | 9087788988 | Делхи | 20000 |
Видјећемо неке основне СЕЛЕЦТ упите користећи неке клаузуле за основно разумијевање како ова наредба функционише.
Пример # 1
SELECT * FROM customer;
(Ово ће преузети све записе са свим атрибутима из табеле.)
Излаз:
Цуст_ид | Име | Презиме | Контакт | Емаил | Град | Износ |
1001 | Рохит | схарма | 9876736587 | Мумбаи | 10000 | |
1002 | Вират | Кохли | 8752877855 | Делхи | 60000 | |
1003 | Сацхин | Тендулкар | 9867868678 | Мумбаи | 15000 | |
1004 | Вирендра | Схеваг | 9087788988 | Делхи | 20000 |
Пример бр. 2
SELECT cust_id, first_name, last_name, email, city
FROM customer;
(Ово ће преузети одређене ступце из табеле које су прослеђене упитом)
Излаз:
Цуст_ид | Име | Презиме | Емаил | Град |
1001 | Рохит | схарма | Мумбаи | |
1002 | Вират | Кохли | Делхи | |
1003 | Сацхин | Тендулкар | Мумбаи | |
1004 | Вирендра | Схеваг | Делхи |
Пример бр. 3
SELECT cust_id, first_name, last_name, email, city FROM customer
WHERE city = 'Delhi';
(КАДА команда доноси само те записе, где ће град бити „Делхи“)
Излаз:
Цуст_ид | Име | Презиме | Емаил | Град |
1002 | Вират | Кохли | Делхи | |
1004 | Вирендра | Схеваг | Делхи |
Пример бр. 4
SELECT cust_id, first_name, last_name, city, amount FROM customer
WHERE amount BETWEEN 5000 AND 25000;
(Клаузула БЕТВЕЕН ће вратити записе који удовољавају датом распону услова прослијеђених у упиту)
Излаз:
Цуст_ид | Име | Презиме | Град | Износ |
1001 | Рохит | схарма | Мумбаи | 10000 |
1003 | Сацхин | Тендулкар | Мумбаи | 15000 |
1004 | Вирендра | Схеваг | Делхи | 20000 |
Пример бр. 5
SELECT * FROM customer
ORDER BY amount DESC;
(Користи се за сортирање и нумеричких и низских вредности било у узлазном или силазном облику. Али подразумевано се сортира узлазно. Ако желимо у силазном стању, морамо то да одредимо после клаузуле ОРДЕР БИ)
Излаз:
Цуст_ид | Име | Презиме | Контакт | Емаил | Град | Износ |
1002 | Вират | Кохли | 8752877855 | Делхи | 60000 | |
1004 | Вирендра | Схеваг | 9087788988 | Делхи | 20000 | |
1003 | Сацхин | Тендулкар | 9867868678 | Мумбаи | 15000 | |
1001 | Рохит | схарма | 9876736587 | Мумбаи | 10000 |
Клаузуле са СЕЛЕЦТ наредбом
Остале клаузуле са наредбом СЕЛЕЦТ:
1. СЕЛЕЦТ: Користи се за преузимање свих записа из табеле.
SELECT * FROM table;
2. ДИСТИНЦТ: Користи се за преузимање свих јединствених вредности из табеле.
SELECT DISTINCT col_name FROM table;
3. ГДЈЕ: Коришћени су услови за опроштавање за преузимање записа.
SELECT employee_id FROM employee
WHERE name = 'stella';
4. ТАЧКА: Користи се за добијање броја записа који су присутни у табели.
SELECT COUNT(*) FROM employee;
5. НАРОЧИТЕ ПО: Користи се за сортирање и бројчаних и низских вриједности било у узлазном или силазном облику. Али подразумевано се сортира узлазним путем. Ако желимо да се спустимо, морамо га специфицирати након употребе клаузуле ОРДЕР БИ.
SELECT first_name FROM student
ORDER BY marks desc;
6. ОГРАНИЧЕЊЕ: Користи се за одређивање броја записа који желимо након извршења упита. Ако желимо да најбољих 5 ученика у разреду, након сортирања резултата, можемо да користимо овај ЛИМИТ тако што ћемо навести 5. Тако да ће само преузети првих 5 записа.
SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;
(** НАРУЏБА се овде користи за сортирање вредности у силазном редоследу)
7. И: Ако су дата два услова и оба су испуњена за запис, тада ће тај упит преузети само те записе.
SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';
8. ИЛИ: Ако су дата два услова и један од њих је испуњен за снимање, тада ће се тај запис преузети.
SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';
9. НЕ: Користи се у условима. Ако одредимо НЕ пре било каквих услова, преузимају се записи који не испуњавају те услове.
SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;
10. ИЗМЕЂУ: Овај оператор бира записе у датом опсегу. То углавном користимо тамо гдје желимо одредити распон датума.
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. ИН: Овај оператор нам омогућава да одредимо више вредности у ВХЕРЕ клаузули.
SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);
12. ЛИКЕ: Овај оператор се користи помоћу клаузуле ВХЕРЕ за тражење одређеног узорка у колони која садржи низ.
- 'А%' - низ започиње са А
- '& А' - завршава се са А
- '% А%' - А ће бити између низа
- '_А%' - Овде ће друго слово бити А
- '% А_' - Друго од последњег слова биће А
SELECT first_name FROM table
WHERE first_name LIKE 'A%';
13. СУБСТРИНГ: Користи се за одабир одређеног знака из низа специфицирањем положаја.
SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;
(Добиће лик из 1. на 5. позицију низа)
14. ИНСТР: Враћа позицију низа у други низ.
SELECT INSTR('independence', 'pen');
(пронаћи ће положај „оловке“ у речи „независност“)
15. ГРУПА ПО: Користи се за раздвајање записа на основу неких датих услова.
SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;
(Овде се групира по сегрегираним запосленима на основу њиховог одељења и чија је зарада већа од 100к.
Услов увек долази са ХАВИНГ изјавом у цлану ГРОУП БИ.)
Збирне функције
Испод је различита функција агрегата:
1. СУМ: Израчунава збир вредности.
SELECT SUM(salary) FROM employee;
2. АВГ: Израчунава просечни скуп вредности.
SELECT AVG(salary) FROM employee;
3. МИН: Поставља минималну вредност у скупу вредности.
SELECT MIN(salary) FROM employee;
4. МАКС: Добија максималну вредност у скупу вредности.
SELECT MAX(salary) FROM employee;
Придружује се СЕЛЕЦТ-у у МиСКЛ-у
1. ИННЕР ЈОИН: Враћа записе који имају подударну вредност у обе табеле.
SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;
2. ЛЕВО ЈОИН: Враћа све записе из леве табеле и подударне записе из десне табеле.
SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;
3. ДЕСНО ПРИДРУЖИТЕ се: Враћа све записе из десне табеле и подударне записе из леве табеле.
SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;
4. ПУНИ ОУТЕР ЈОИН: Враћа све записе ако постоји подударање с лијеве или десне таблице.
SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;
Закључак - СЕЛЕЦТ у МиСКЛ-у
Ове наредбе и клаузуле о којима смо горе говорили су врло корисни у сценаријима у стварном времену, јер пружају основне концепте како користити СКЛ упите за дохваћање и манипулирање подацима у бази података. Осим овога, док користите унапред и аналитичке упите попут функције прозора итд., Ове клаузуле су веома важне.
Препоручени чланци
Ово је водич за СЕЛЕЦТ у МиСКЛ-у. Овде смо разматрали Пример за имплементацију СЕЛЕЦТ-а у МиСКЛ са клаузулама, агрегатним функцијама и придруживањима. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -
- Вилдцардс у МиСКЛ-у
- Шта је МиСКЛ шема?
- Како повезати базу података са МиСКЛ-ом?
- МиСКЛ Куериес
- ИНСЕРТ у Орацлеу | Примери
- Примери ДИСТИНЦТ у Орацлеу