Junior
Τι είναι οι υποερωτήσεις σε SQL;
sobes.tech AI
Απάντηση από AI
Υποερώτημα (ή εμφωλευμένο ερώτημα) σε SQL είναι ένα ερώτημα SELECT που εισάγεται μέσα σε μια άλλη εντολή SQL (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE). Το υποερώτημα εκτελείται πρώτο και το αποτέλεσμα του χρησιμοποιείται από το εξωτερικό ερώτημα.
-
Χρήση:
- Στη δήλωση
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;