Junior
Kas ir apakšvaicājumi SQL?
sobes.tech AI
Atbilde no AI
Subvaicājums (vai iekšēja vaicājums) SQL ir SELECT vaicājums, ievietots cita SQL operatora (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE) iekšpusē. Subvaicājums tiek izpildīts pirmais, un tā rezultāts tiek izmantots ārējā vaicājumā.
-
Lietojums:
WHEREteikumā datu filtrēšanai.FROMteikumā kā virtuāla tabula (paveldētā tabula).SELECTteikumā kā agregētu vai saistītu datu izvade (skalarais subvaicājums).- Ar operatoriem
IN,EXISTS,ANY,ALL.
-
Priekšrocības:
- Atļauj veikt sarežģītus datu atlases vaicājumus.
- Uzlabo vaicājumu lasāmību salīdzinājumā ar sarežģītām savienojumiem.
- Var tikt izmantots kā datu avots.
-
Veidi:
- Skalarais: Atgriež vienu vērtību (vienu rindu un vienu kolonnu).
- Daudzkārtējs: Atgriež vienu kolonnu un vairākas rindas. Lietojams ar
IN,ANY,ALL. - Daudzkolonnu: Atgriež vairākas kolonnas. Reti lietots.
- Korelatīvs: Ir atkarīgs no ārējā vaicājuma un tiek izpildīts katrai ārējā vaicājuma rindai.
Piemērs WHERE teikumā:
SELECT
order_id,
customer_id,
order_date
FROM
orders
WHERE
customer_id IN (
SELECT
customer_id
FROM
customers
WHERE
city = 'New York'
);
Piemērs FROM teikumā:
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;