Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

MySQL υποερωτήματα Tutorial

υποερωτήματα είναι ερωτήματα ένθετα μέσα σε ένα άλλο ερώτημα . Υποερωτήματα σας επιτρέπει να διαχωρίσετε κάθε μέρος της δήλωσης και να προσφέρει μια πιο ευανάγνωστο εναλλακτική λύση για την εκτέλεση των εργασιών που θα απαιτούσε πολύπλοκες ενώνει και συνδικάτα χωρίς δευτερεύοντα ερωτήματα . MySQL υποερωτήματα μπορεί να επιστρέψει μια ενιαία τιμή , μόνο γραμμή, μόνο στήλη ή έναν πίνακα . Η Syntax
Η

Η βασική σύνταξη για ένα δευτερεύον ερώτημα είναι το εξής:

SELECT * FROM πίνακας WHERE columna = ( SELECT columnb ΑΠΟ Πίνακας 2 ) ?

Υποερωτήματα πρέπει να είναι SELECT , INSERT , UPDATE , DELETE , SET ή DO δήλωση , και δεν μπορείτε να τροποποιήσετε έναν πίνακα και επιλέξτε από αυτό στο δευτερεύον ερώτημα .

υποερωτήματα βρίσκονται συνήθως στη δεξιά πλευρά της ρήτρας WHERE , το οποίο μπορεί να περιέχει οποιαδήποτε από τους ακόλουθους τελεστές σύγκρισης και λογική : = (ίσο ) , <> ( όχι ίσο) , <= ( μικρότερο ή ίσο ) , > = ( μεγαλύτερο ή ίσο ) , <( μικρότερο από) , > ? ( μεγαλύτερο από) , ΜΕΤΑΞΥ (τιμή βρίσκεται μεταξύ δύο τιμών ) NOT (Λογικό NOT) , ΚΑΙ (λογικό AND) , Ή ( λογικό OR ) . Μπορούν επίσης να περιέχουν την σαφώς διακρινόμενη, GROUP BY , ORDER BY , και λέξεις-κλειδιά LIMIT . Μπορούν ακόμη να χρησιμοποιηθούν σε συνδυασμό με JOIN καταστάσεις. Εκτός από τους παραπάνω περιορισμούς, υπάρχουν πολύ λίγοι περιορισμοί που τίθενται σε δευτερεύοντα ερωτήματα μέσα σε MySQL .

Δεν υπάρχει ούτε ένας περιορισμός στον αριθμό των υπο-ερωτήσεις που μπορεί να βρεθεί σε μια κατάσταση . Εφ 'όσον μπορείτε να τοποθετήσετε κάθε δευτερεύον ερώτημα σε παρένθεση , μπορείτε να έχετε πολλά ένθετα ερωτήματα , όπως θα πρέπει να βρείτε τα δεδομένα σας . . Περισσότερες πληροφορίες σχετικά με υποερωτήματα μπορούν να βρεθούν στο εγχειρίδιο αναφοράς MySQL ( βλ. Πόρων )
εικόνων Παράδειγμα
Η

Ας υποθέσουμε ότι έχετε δύο πίνακες : ο πρώτος περιλαμβάνει το Όνομα , Τελευταία Όνομα , Οδός Ταχυδρομικός κώδικας και τα μέλη του στη λίστα σας? το δεύτερο περιέχει Πόλη, Πολιτεία και Ταχυδρομικός Κώδικας . Αν θέλατε να βρείτε τα ονόματα των μελών που ζουν στη Γεωργία , θα μπορούσατε να χρησιμοποιήσετε πολλαπλά επιλέξτε δηλώσεις . Η πρώτη δήλωση θα ήταν να βρει τους κωδικούς zip για τη Γεωργία :

SELECT zip ΑΠΟ ΟΠΟΥ zipcode state = " ΓΕΩΡΓΙΑ " ?

Στη συνέχεια, θα εκδώσει μια δήλωση επιλογής για κάθε ταχυδρομικό κώδικα επέστρεψε :

SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ διεύθυνση ΑΠΟ ΟΠΟΥ zip = " [ ταχυδρομικό κώδικα ] " ?

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

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

SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ διεύθυνση ΑΠΟ ΟΠΟΥ zip = ( SELECT zip ΑΠΟ ΟΠΟΥ zipcode state = " ΓΕΩΡΓΙΑ ")? .

Αυτό το ερώτημα θα επιστρέψει όλα τα μέλη του στη λίστα σας που ζουν στη Γεωργία με ένα ερώτημα

Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα