MySQL Subquery Tutorial

Συγγραφέας: Christy White
Ημερομηνία Δημιουργίας: 8 Ενδέχεται 2021
Ημερομηνία Ενημέρωσης: 22 Νοέμβριος 2024
Anonim
Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn
Βίντεο: Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn

Περιεχόμενο

Τα υποκείμενα είναι ερωτήματα που είναι ενσωματωμένα σε ένα άλλο. Σας επιτρέπουν να διαχωρίζετε ένα μέρος της φράσης και να παρέχετε μια πιο ευανάγνωστη εναλλακτική λύση σε πράξεις που μπορεί να απαιτούν σύνθετες ενώσεις και συνδικάτα. Οι υποερωτήσεις στο MySQL μπορούν να επιστρέψουν μια τιμή, μια σειρά, μια στήλη ή έναν πίνακα δεδομένων.


Χρησιμοποιήστε τις υποερωτήσεις για να δημιουργήσετε πιο ευανάγνωστες και συμπαγείς προτάσεις (Thinkstock Images / Comstock / Getty Images)

Η σύνταξη

Η βασική σύνταξη μιας υποδιατάξεως έχει ως εξής:

SELECT * FROM table1 WHERE στήληA = (SELECT columnB FROM table2) GO

Τα υποσύνολα πρέπει να αποτελούνται από δήλωση "SELECT", "INSERT", "UPDATE", "DELETE", "SET" ή "DO" και δεν μπορείτε να αλλάξετε τον πίνακα και να το χρησιμοποιήσετε ταυτόχρονα στο υποσύστημα. Υποκατηγορίες χρησιμοποιούνται συνήθως στη δεξιά πλευρά της ρήτρας WHERE, η οποία μπορεί να περιέχει οποιονδήποτε από τους συγκριτικούς και λογικούς χειριστές, όπως = (ίσο), <> (διαφορετικό), <= (μικρότερο ή ίσο),> = ή "BETWEEN" (μεταξύ δύο τιμών), "NOT", "AND" και "OR". Μπορείτε επίσης να χρησιμοποιήσετε τις λέξεις-κλειδιά "DISTINCT", "GROUP BY", "ORDER BY" και "LIMIT", ακόμη και σε συνδυασμό με δηλώσεις "JOIN". Εκτός από τους λεπτομερείς περιορισμούς, υπάρχουν λίγοι περιορισμοί κατά τη σύνταξη υποσκαφών στο MySQL.


Δεν υπάρχει καν κανένας περιορισμός στον αριθμό των υποκειμένων που γίνονται μέσα σε μια πρόταση. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με τις υποερωτήσεις στο εγχειρίδιο αναφοράς MySQL (ανατρέξτε στην ενότητα "Πόροι").

Παράδειγμα

Ας υποθέσουμε ότι έχετε δύο πίνακες: ένα με το όνομα και το επώνυμο, τη διεύθυνση και τον ταχυδρομικό κώδικα των μελών μιας λίστας αλληλογραφίας, και μία με τις πόλεις, τα κράτη και τον ταχυδρομικό κώδικα. Για να βρείτε τα ονόματα των μελών που ζουν στη Μπραζίλια, μπορούν να χρησιμοποιηθούν πολλαπλές φράσεις "select". Η πρώτη θα αναζητήσει τα CEP της Μπραζίλια:

ΕΠΙΛΕΞΤΕ ΑΠΟ από τους κωδικούς WHERE state = "BRASILIA" GO

Στη συνέχεια, χρησιμοποιήστε ένα "select" για κάθε κωδικό που βρέθηκε:

SELECT όνομα, επώνυμο ΑΠΟ τις διευθύνσεις WHERE cep = [codecep] GO

Αυτή η μέθοδος είναι χρονοβόρα και εύκολο να κάνει λάθη. Είναι εύκολο να χάσετε έναν ταχυδρομικό κώδικα, ειδικά εάν υπάρχουν πάρα πολλά από αυτά. Ένας ευκολότερος τρόπος για να ολοκληρώσετε αυτό το έργο είναι να χρησιμοποιήσετε την πρώτη πρόταση ως δευτερεύουσα υποσύσταση στο δεύτερο:


SELECT όνομα, επώνυμο από τις διευθύνσεις WHERE cep = (SELECT cep από τους κωδικούς WHERE state = "BRASILIA") GO

Αυτό το ερώτημα θα δείξει όλα τα μέλη της λίστας σας που ζουν στη Μπραζίλια.