Junior
Суъалҳо дар SQL чӣ гунаанд?
sobes.tech AI
Ҷавоб аз AI
SQL-да иловаштирилган сўров (ёки ўзаро ўрганилган сўров) — бу бошқа бир SQL буйруғи (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE) ичига жойлаштирилган SELECT сўрови. Иловаштирилган сўров аввал ижро этилади ва унинг натижаси ташқи сўров томонидан қўлланилади.
-
Қўлланилиши:
- Маълумотларни филтрлаш учун
WHEREиборасида. - Виртуал жадвал (қурилган жадвал) сифатида
FROMиборасида. - Аггрегатланган ёки боғланган маълумотларни кўрсатиш учун
SELECTиборасида (скаляр иловаштирилган сўров). IN,EXISTS,ANY,ALLоператорлари билан.
- Маълумотларни филтрлаш учун
-
Фойдалари:
- Муросасиз маълумотлар танлашни амалга ошириш имконини беради.
- Муросасиз бирикмаларга нисбатан сўровларнинг ўқилишини яхшилайди.
- Маълумот манбаи сифатида қўлланилиши мумкин.
-
Турлари:
- Скаляр: Бир қийматни қайтариб (бир сатр ва бир устун).
- Кўп сатрли: Бир устун ва бир нечта сатр қайтариб.
IN,ANY,ALLбилан ишлатилади. - Кўп устунли: Бир нечта устун қайтариб. Камдан-кам ишлатилади.
- Коорелли: Ташқи сўровга боғлиқ ва ҳар бир ташқи сатр учун бажарилади.
WHEREда қўлланиш намунаси:
SELECT
order_id,
customer_id,
order_date
FROM
orders
WHERE
customer_id IN (
SELECT
customer_id
FROM
customers
WHERE
city = 'New York'
);
FROMда қўлланиш намунаси:
SELECT
customer_name,
total_orders
FROM (
SELECT
c.customer_name,
COUNT(o.order_id) AS total_orders
FROM
customers c
JOIN
orders o ON c.customer_id = o.customer_id
GROUP BY
c.customer_name
) AS customer_order_counts
WHERE
total_orders > 10;