Βασικές εντολές sql. Μηχανισμός πρόσβασης δεδομένων. SQL δομημένης γλώσσας ερωτήματος. Ιστορία και πρότυπα της SQL. Επεξεργασία εντολών SQL από τον διακομιστή Oracle. Αιτήματα αφαίρεσης

Οποιεσδήποτε εννοιολογικές πληροφορίες σχετικά με σχεσιακές βάσεις δεδομένων και πίνακες είναι χρήσιμες μόνο εάν γνωρίζετε πώς να αλληλεπιδράτε με τα δεδομένα. Η γλώσσα SQL αποτελείται από δομημένες εντολές για προσθήκη, τροποποίηση και διαγραφή δεδομένων από μια βάση δεδομένων. Αυτές οι εντολές αποτελούν τη βάση για την αλληλεπίδραση με τον διακομιστή PostgreSQL.

Αυτή η ενότητα αφορά την "ανατομία" των εντολών SQL. Εξετάζει τα δομικά συστατικά των εντολών, περιγράφοντας τις λειτουργίες κάθε στοιχείου και τις αμοιβαίες σχέσεις τους. Ο τυπικός πελάτης γραμμής εντολών PostgreSQL, psql, εκτυπώνει τα αποτελέσματα των εντολών στα παραδείγματα που δίνονται.

Τα περισσότερα από τα παραδείγματα εντολών SQL είναι συγκεκριμένα για τη βάση δεδομένων booktown. Όλη η έξοδος psql έχει πρόθεμα με τη μορφή booktown=# .

Ορισμένα παραδείγματα χρησιμοποιούν τη βάση δεδομένων δοκιμής testdb. Από προεπιλογή, η προτροπή psql εμφανίζει μόνο το όνομα της βάσης δεδομένων και τα σύμβολα =#, υποδεικνύοντας ότι το σύστημα είναι έτοιμο να εκδώσει μια νέα εντολή (αν και θα δείτε το σύμβολο = να αλλάζει δυναμικά καθώς παρακολουθείται η κατάσταση της εισόδου SQL). Το βιβλίο παρέχει αυτήν την προτροπή μαζί με την είσοδο και την έξοδο SQL για να σας βοηθήσει να νιώσετε άνετα με την έξοδο πελάτη psql.

Ο πελάτης psql περιγράφεται λεπτομερώς στο Κεφάλαιο 4. Αναφέρεται εδώ μόνο για να διευκρινιστεί το στυλ των παραδειγμάτων εντολών SQL.

Σημείωση
Το σχήμα της βάσης δεδομένων booktown (μαζί με τα παραδείγματα εγγραφών) βρίσκεται στο αρχείο booktown.sql στο CD. Για να εγκαταστήσετε αυτήν τη βάση δεδομένων, εισαγάγετε την εντολή psql - U postgres template! στη γραμμή εντολών. - f /mnt/cdrom/booktown.sql, όπου /mnt/cdrom είναι η διαδρομή προς το προσαρτημένο CD και το postgres είναι το όνομα υπερχρήστη PostgreSQL
.

Ανατομία εντολών SQL

Οι εντολές SQL ξεκινούν πάντα με μια ενέργεια (ρήμα) - μια λέξη ή μια ομάδα λέξεων που περιγράφει τη λειτουργία που εκτελείται. Επιπλέον, μια εντολή SQL περιέχει συνήθως μία ή περισσότερες ενότητες που διευκρινίζουν τη σημασία της. Στον πίνακα 3.2 παραθέτει τις κύριες ενέργειες της SQL.

Πίνακας 3.2. Βασικές ενέργειες PostgreSQL.

Περιγραφή δράσης
ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Δημιουργία νέας βάσης δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΕΥΡΕΤΗΡΙΟΥ Δημιουργία νέου ευρετηρίου σε στήλη πίνακα
ΔΗΜΙΟΥΡΓΗΣΤΕ ΑΚΟΛΟΥΘΙΑ Δημιουργία νέας ακολουθίας σε υπάρχουσα βάση δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΤΡΑΠΕΖΙΟΥ Δημιουργία νέου πίνακα σε υπάρχουσα βάση δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΣΚΑΝΔΙΣΤΗΣ Δημιουργήστε έναν νέο ορισμό ενεργοποίησης
ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΒΟΛΗ Δημιουργήστε μια νέα προβολή για έναν υπάρχοντα πίνακα
ΕΠΙΛΕΓΩ Επιλογή εγγραφών από πίνακα
ΕΙΣΑΓΕΤΕ Εισαγωγή μιας ή περισσότερων νέων εγγραφών σε έναν πίνακα
ΕΚΣΥΓΧΡΟΝΙΖΩ Τροποποίηση δεδομένων σε υπάρχουσες εγγραφές
ΔΙΑΓΡΑΦΩ Αφαίρεση υπαρχουσών εγγραφών από έναν πίνακα
ΑΠΟΣΤΟΛΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Καταστροφή υπάρχουσας βάσης δεδομένων
ΔΕΙΚΤΗΣ ΠΤΩΣΗΣ Αφαίρεση ευρετηρίου στήλης από υπάρχοντα πίνακα
ΑΚΟΛΟΥΘΙΑ ΠΤΩΣΗΣ Καταστροφή μιας υπάρχουσας γεννήτριας ακολουθιών
ΠΡΩΤΟΤΡΑΠΕΖΙ Καταστροφή υπάρχοντος πίνακα
ΣΚΑΝΔΙΣΤΗΣ ΠΡΟΣΤΑΣΗΣ Καταστροφή υπάρχοντος ορισμού ενεργοποίησης
ΑΠΟΣΤΟΛΗ ΠΡΟΒΟΛΗ Καταστροφή υπάρχουσας προβολής
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ Δημιουργία νέου λογαριασμού χρήστη PostgreSQL στο σύστημα
ΑΛΛΑΓΗ ΧΡΗΣΤΗ Τροποποίηση υπάρχοντος λογαριασμού χρήστη PostgreSQL
ΑΠΟΣΤΟΛΗ ΧΡΗΣΤΗ Διαγραφή υπάρχοντος λογαριασμού χρήστη PostgreSQL
ΧΟΡΗΓΗΣΗ Εκχώρηση δικαιωμάτων πρόσβασης σε ένα αντικείμενο βάσης δεδομένων
ΑΝΑΚΑΛΩ Κατάργηση δικαιωμάτων πρόσβασης σε ένα αντικείμενο βάσης δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΛΕΙΤΟΥΡΓΙΑΣ Δημιουργία νέας συνάρτησης SQL σε βάση δεδομένων
ΔΗΜΙΟΥΡΓΗΣΤΕ ΓΛΩΣΣΑ Δημιουργία νέου ορισμού γλώσσας στη βάση δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΧΕΙΡΙΣΤΗ Δημιουργία νέας δήλωσης SQL στη βάση δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΤΥΠΟΥ Δημιουργία νέου τύπου δεδομένων SQL σε μια βάση δεδομένων

Η Structured Query Language αναπτύχθηκε από την IBM στις αρχές της δεκαετίας του 1970. Το 1986, η SQL τυποποιήθηκε για πρώτη φορά από τους οργανισμούς ANSI.

Η SQL είναι μια ισχυρή και ταυτόχρονα απλή γλώσσα για τη διαχείριση βάσεων δεδομένων. Υποστηρίζεται σχεδόν από όλες τις σύγχρονες βάσεις δεδομένων. Η SQL χωρίζεται σε δύο υποσύνολα εντολών: DDL (Γλώσσα ορισμού δεδομένων) και DML (Γλώσσα χειρισμού δεδομένων). Οι εντολές DDL χρησιμοποιούνται για τη δημιουργία νέων βάσεων δεδομένων, πινάκων και στηλών και οι εντολές DML χρησιμοποιούνται για ανάγνωση, εγγραφή, ταξινόμηση, φιλτράρισμα, διαγραφή δεδομένων.

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

Εντολές DDL

CREATE - χρησιμοποιείται για τη δημιουργία νέων πινάκων, στηλών και ευρετηρίων.

DROP - χρησιμοποιείται για την αφαίρεση στηλών και ευρετηρίων.

ALTER - χρησιμοποιείται για την προσθήκη νέων στηλών σε πίνακες και την αλλαγή συγκεκριμένων στηλών.

Εντολές DML

Η SELECT είναι η πιο συχνά χρησιμοποιούμενη εντολή και χρησιμοποιείται για την ανάκτηση ενός συνόλου δεδομένων από έναν πίνακα βάσης δεδομένων. Η εντολή SELECT έχει την ακόλουθη σύνταξη:

ΕΠΙΛΕΓΩ field_list1ΑΠΟ όνομα_πίνακα ]

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

Για παράδειγμα, ας δημιουργήσουμε ένα απλό ερώτημα για τη λήψη δεδομένων από τα πεδία "όνομα" και "τηλέφωνο" του πίνακα "φίλοι":

ΕΠΙΛΕΓΩ όνομα, τηλέφωνοΑΠΟ οι φιλοι

Εάν πρέπει να λάβετε όλα τα πεδία του πίνακα, τότε δεν είναι απαραίτητο να τα αναφέρετε, απλώς βάλτε έναν αστερίσκο (*):

ΕΠΙΛΕΓΩ * ΑΠΟ οι φιλοι

Για να εξαιρέσετε διπλότυπες καταχωρήσεις από την εμφανιζόμενη λίστα, χρησιμοποιήστε τη λέξη-κλειδί DISTINCT:

ΕΠΙΛΕΞΤΕ ΔΙΑΚΡΙΤΗ όνομαΑΠΟ οι φιλοι

Εάν χρειάζεται να λάβετε ξεχωριστή εγγραφή, τότε χρησιμοποιείται η ρήτρα WHERE. Για παράδειγμα, πρέπει να λάβουμε τον αριθμό τηλεφώνου του "Vasya Pupkin" από τον πίνακα "φίλοι":

ΕΠΙΛΕΓΩ * ΑΠΟ οι φιλοιΟΠΟΥ όνομα = "Βάσια Πούπκιν"

ή το αντίστροφο, πρέπει να μάθουμε σε ποιον ανήκει το τηλέφωνο 44-65-01:

ΕΠΙΛΕΓΩ * ΑΠΟ οι φιλοιΟΠΟΥ τηλέφωνο = "44-65-01"

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

* - ταιριάζει με μια συμβολοσειρά που αποτελείται από έναν ή περισσότερους χαρακτήρες.

Ταιριάζει με οποιονδήποτε χαρακτήρα.

Ταιριάζει με έναν χαρακτήρα από ένα συγκεκριμένο σύνολο.

Για παράδειγμα, για να ανακτήσετε εγγραφές από το πεδίο "όνομα" που περιέχει τη λέξη "Vasya", το αίτημα θα μοιάζει με αυτό:

ΕΠΙΛΟΓΗ * ΑΠΟ οι φιλοιΟΠΟΥ όνομαΑΡΕΣΕΙ "*Βάσια*"

Η ρήτρα ORDER BY χρησιμοποιείται για τον προσδιορισμό της σειράς με την οποία επιστρέφονται τα δεδομένα. Χωρίς αυτόν τον τελεστή, η σειρά των δεδομένων που επιστρέφονται δεν μπορεί να προβλεφθεί. Οι λέξεις-κλειδιά ASC και DESC σας επιτρέπουν να προσδιορίσετε την κατεύθυνση της ταξινόμησης. Το ASC ταξινομεί με αύξουσα σειρά και το DESC με φθίνουσα σειρά.

Για παράδειγμα, ένα αίτημα για λήψη μιας λίστας εγγραφών από το πεδίο "όνομα" με αλφαβητική σειρά θα μοιάζει με αυτό:

ΕΠΙΛΟΓΗ * ΑΠΟ οι φιλοιΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ όνομα

Σημειώστε ότι η λέξη-κλειδί ASC δεν απαιτείται επειδή είναι η προεπιλεγμένη.

INSERT - αυτή η εντολή χρησιμοποιείται για την προσθήκη μιας νέας εγγραφής στον πίνακα. Είναι γραμμένο ως εξής:

ΕΙΣΑΓΩΓΗ ΣΤΟ όνομα_πίνακαΑΞΙΕΣ ( λίστα_τιμών)

Λάβετε υπόψη ότι οι τύποι τιμών στη λίστα τιμών πρέπει να ταιριάζουν με τους τύπους τιμών των πεδίων του πίνακα, για παράδειγμα:

ΕΙΣΑΓΩΓΗ ΣΤΟ οι φιλοιΑΞΙΕΣ ( "Άνκα ο πολυβολητής", "32-09-81" )

Αυτό το παράδειγμα προσθέτει μια νέα καταχώρηση στον πίνακα φίλων με τις καθορισμένες τιμές.

UPDATE - Αυτή η εντολή χρησιμοποιείται για την ενημέρωση δεδομένων σε έναν πίνακα και χρησιμοποιείται συχνότερα σε συνδυασμό με τον όρο WHERE. Η εντολή UPDATE έχει την ακόλουθη σύνταξη:

ΕΚΣΥΓΧΡΟΝΙΖΩ όνομα_πίνακαΣΕΙΡΑ όνομα πεδίου = έννοια

Εάν παραλείψετε τον όρο WHERE, τα δεδομένα σε όλα τα καθορισμένα πεδία στον πίνακα θα ενημερωθούν. Για παράδειγμα, ας αλλάξουμε τον αριθμό τηλεφώνου της Vasya Pupkun:

ΕΚΣΥΓΧΡΟΝΙΖΩ οι φιλοιΣΕΙΡΑ τηλέφωνο = "55-55-55" ΟΠΟΥ όνομα = "Βάσια Πούπκιν"

ΔΙΑΓΡΑΦΗ - όπως πιθανότατα έχετε ήδη καταλάβει, αυτή η εντολή χρησιμοποιείται για τη διαγραφή εγγραφών από τον πίνακα. Όπως και η ΕΝΗΜΕΡΩΣΗ, η εντολή DELETE χρησιμοποιείται συνήθως με μια ρήτρα WHERE. Εάν αυτή η ρήτρα παραλειφθεί, όλα τα δεδομένα από τον καθορισμένο πίνακα θα διαγραφούν. Η σύνταξη της εντολής DELETE είναι η εξής:

ΔΙΑΓΡΑΦΗ ΑΠΟ όνομα_πίνακα

Για παράδειγμα, ας αφαιρέσουμε αυτόν τον ενοχλητικό Vasya Pupkin από το τραπέζι μας :) :

ΔΙΑΓΡΑΦΗ ΑΠΟ οι φιλοιΟΠΟΥ όνομα = "Βάσια Πούπκιν"

Το τέλος

Σε αυτό το άρθρο μίλησα για τους κύριους τελεστές SQL, είναι αρκετά επαρκείς για εργασία με βάσεις δεδομένων· θα μιλήσω για τους υπόλοιπους τελεστές με περισσότερες λεπτομέρειες κάποια άλλη φορά.

Η SQL ή Structured Query Language είναι μια γλώσσα που χρησιμοποιείται για τη διαχείριση δεδομένων σε ένα σύστημα σχεσιακής βάσης δεδομένων (RDBMS). Αυτό το άρθρο θα καλύψει τις κοινώς χρησιμοποιούμενες εντολές SQL τις οποίες θα πρέπει να γνωρίζει κάθε προγραμματιστής. Αυτό το υλικό είναι ιδανικό για όσους θέλουν να βελτιώσουν τις γνώσεις τους για την SQL πριν από μια συνέντευξη για δουλειά. Για να το κάνετε αυτό, δείτε τα παραδείγματα που δίνονται στο άρθρο και θυμηθείτε ότι μελετήσατε τις βάσεις δεδομένων σε ζευγάρια.

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

Δημιουργία βάσης δεδομένων για παραδείγματα

Δημιουργήστε μια βάση δεδομένων για να δείξετε πώς λειτουργούν οι ομάδες. Για να εργαστείτε, θα χρειαστεί να κάνετε λήψη δύο αρχείων: DLL.sql και InsertStatements.sql. Μετά από αυτό, ανοίξτε ένα τερματικό και συνδεθείτε στην κονσόλα MySQL χρησιμοποιώντας την ακόλουθη εντολή (το άρθρο υποθέτει ότι η MySQL είναι ήδη εγκατεστημένη στο σύστημα):

Mysql -u root -p

Στη συνέχεια εισάγετε τον κωδικό πρόσβασής σας.

Εκτελέστε την ακόλουθη εντολή. Ας ονομάσουμε τη βάση δεδομένων «πανεπιστήμιο»:

ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ πανεπιστήμιο. USE πανεπιστήμιο; ΠΗΓΗ; SOURCE Εντολές για εργασία με βάσεις δεδομένων1. Προβολή διαθέσιμων βάσεων δεδομένων ΕΜΦΑΝΙΣΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ. 2. Δημιουργία νέας βάσης δεδομένων CREATE DATABASE. 3. Επιλογή βάσης δεδομένων για χρήση ΧΡΗΣΗ. 4. Εισαγάγετε εντολές SQL από το αρχείο .sql SOURCE ; 5. Κατάργηση της βάσης δεδομένων DROP DATABASE ; Εργασία με πίνακες6. Δείτε τους διαθέσιμους πίνακες στη βάση δεδομένων SHOW TABLES.

7. Δημιουργία νέου πίνακα CREATE TABLE ( , , PRIMARY KEY (), FOREIGN KEY () REFERENCES ()); Περιορισμοί ακεραιότητας κατά τη χρήση του CREATE TABLE

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

  • ένα κελί πίνακα δεν μπορεί να έχει τιμή NULL.
  • πρωτεύον κλειδί - PRIMARY KEY (col_name1, col_name2, ...) ;
  • ξένο κλειδί - ΞΕΝΟ ΚΛΕΙΔΙ (col_namex1, …, col_namexn) ΑΝΑΦΟΡΕΣ όνομα_πίνακα(col_namex1, …, col_namexn) .

Μπορείτε να καθορίσετε περισσότερα από ένα πρωτεύοντα κλειδιά. Σε αυτήν την περίπτωση, θα λάβετε ένα σύνθετο πρωτεύον κλειδί.

Παράδειγμα

Δημιουργήστε έναν πίνακα "instructor":

Εκπαιδευτής CREATE TABLE (ID CHAR(5), όνομα VARCHAR(20) NOT NULL, dept_name VARCHAR(20), μισθός NUMERIC(8,2), PRIMARY KEY (ID), FOREIGN KEY (dept_name) REFERENCES Department(dept_name));

8. Πληροφορίες πίνακα

Μπορείτε να προβάλετε διάφορες πληροφορίες (τύπος τιμής, κλειδί ή όχι) σχετικά με τις στήλες του πίνακα με την ακόλουθη εντολή:

ΠΕΡΙΓΡΑΦΕΙ ;

9. Προσθήκη δεδομένων στον πίνακα INSERT INTO (, , , …) VALUES (, , , …);

Όταν προσθέτετε δεδομένα σε κάθε στήλη σε έναν πίνακα, δεν χρειάζεται να καθορίσετε ονόματα στηλών.

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΤΙΜΕΣ (, , , ...);

10. Ενημέρωση δεδομένων πίνακα UPDATE SET = , = , ... WHERE ; 11. Διαγραφή όλων των δεδομένων από τον πίνακα DELETE FROM ; 12. Αφαίρεση τραπεζιού DOP TABLE ; Εντολές για τη δημιουργία ερωτημάτων 13. ΕΠΙΛΕΓΩ

Το SELECT χρησιμοποιείται για την ανάκτηση δεδομένων από έναν συγκεκριμένο πίνακα:

ΕΠΙΛΟΓΗ , , ... ΑΠΟ ;

Η ακόλουθη εντολή μπορεί να εμφανίσει όλα τα δεδομένα από τον πίνακα:

ΕΠΙΛΟΓΗ * ΑΠΟ ;

14. ΕΠΙΛΕΞΤΕ DISTINCT

Οι στήλες του πίνακα ενδέχεται να περιέχουν διπλά δεδομένα. Χρησιμοποιήστε το SELECT DISTINCT για να ανακτήσετε μόνο μη διπλότυπα δεδομένα.

SELECT DISTINCT , , … FROM ;

15. ΠΟΥ

Μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί WHERE στο SELECT για να καθορίσετε συνθήκες σε ένα ερώτημα:

ΕΠΙΛΕΞΤΕ , , ... ΑΠΟ ΠΟΥ ;

Οι ακόλουθες προϋποθέσεις μπορούν να καθοριστούν στο αίτημα:

  • Σύγκριση κειμένου.
  • Σύγκριση αριθμητικών τιμών.
  • λογικοί τελεστές ΚΑΙ (και), Ή (ή) και ΟΧΙ (άρνηση).
Παράδειγμα

Δοκιμάστε τις παρακάτω εντολές. Δώστε προσοχή στις προϋποθέσεις που καθορίζονται στο ΠΟΥ:

ΕΠΙΛΕΞΤΕ * ΑΠΟ μάθημα WHERE dept_name='Συν. Sci.'; ΕΠΙΛΕΞΤΕ * ΑΠΟ μάθημα WHERE μονάδες>3; SELECT * FROM course WHERE dept_name="Comp. Sci." ΚΑΙ μόρια>3;

16. ΟΜΑΔΑ ΑΠΟ

Ο τελεστής GROUP BY χρησιμοποιείται συχνά με αθροιστικές συναρτήσεις όπως COUNT, MAX, MIN, SUM και AVG για την ομαδοποίηση των τιμών εξόδου.

ΕΠΙΛΟΓΗ , , … ΑΠΟ ΟΜΑΔΑ ΚΑΤΑ ;

Παράδειγμα

Ας εμφανίσουμε τον αριθμό των μαθημάτων για κάθε σχολή:

ΕΠΙΛΕΞΤΕ COUNT(αναγνωριστικό_μαθήματος), όνομα_τμήματος ΑΠΟ ΟΜΑΔΑ μαθήματος ΑΝΑ όνομα_τμήματος.

17. ΕΧΟΝΤΑΣ

Η λέξη-κλειδί HAVING προστέθηκε στην SQL επειδή το WHERE δεν μπορεί να χρησιμοποιηθεί με συγκεντρωτικές συναρτήσεις.

ΕΠΙΛΕΞΤΕ , , ... ΑΠΟ ΟΜΑΔΑ ΕΧΟΝΤΑΣ

Παράδειγμα

Ας εμφανίσουμε μια λίστα με σχολές που έχουν περισσότερα από ένα μαθήματα:

SELECT COUNT(course_id), dept_name FROM course GROUP BY dept_name HAVING COUNT(course_id)>1;

18. ΠΑΡΑΓΓΕΛΙΑ ΑΠΟ

ORDER BY χρησιμοποιείται για την ταξινόμηση των αποτελεσμάτων των ερωτημάτων σε φθίνουσα ή αύξουσα σειρά. Το ORDER BY θα ταξινομηθεί με αύξουσα σειρά, εκτός εάν έχει καθοριστεί ASC ή DESC.

ΕΠΙΛΟΓΗ , , … ΑΠΟ ΠΑΡΑΓΓΕΛΙΑ ΑΠΟ , , … ASC|DESC;

Παράδειγμα

Ας εμφανίσουμε μια λίστα μαθημάτων με αύξουσα και φθίνουσα σειρά μονάδων:

ΕΠΙΛΟΓΗ * ΑΠΟ ΜΑΘΗΜΑ ΠΑΡΑΓΓΕΛΙΑ ΚΑΤΑ πιστωτικές μονάδες. ΕΠΙΛΟΓΗ * ΑΠΟ ΤΑΞΗ μαθημάτων ΚΑΤΑ μόρια DESC;

19. ΜΕΤΑΞΥ

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

ΕΠΙΛΕΞΤΕ , , … ΑΠΟ ΠΟΥ ΜΕΤΑΞΥ ΚΑΙ ;

Παράδειγμα

Ας εμφανίσουμε μια λίστα με εκπαιδευτές των οποίων ο μισθός είναι μεγαλύτερος από 50.000, αλλά μικρότερος από 100.000:

ΕΠΙΛΕΞΤΕ * ΑΠΟ τον εκπαιδευτή ΟΠΟΥ μισθός Μεταξύ 50000 ΚΑΙ 100000.

20. LIKE

Ο τελεστής LIKE χρησιμοποιείται στο WHERE για να καθορίσει ένα μοτίβο αναζήτησης για παρόμοια τιμή.

Υπάρχουν δύο δωρεάν χειριστές που χρησιμοποιούνται στο LIKE:

  • % (κανένας, ένας ή περισσότεροι χαρακτήρες).
  • _ (ένας χαρακτήρας).
ΕΠΙΛΕΞΤΕ , , ... ΑΠΟ ΠΟΥ ΑΡΕΣΕΙ ; Παράδειγμα

Ας εμφανίσουμε μια λίστα μαθημάτων των οποίων τα ονόματα περιέχουν "to" και μια λίστα μαθημάτων των οποίων τα ονόματα αρχίζουν με "CS-":

ΕΠΙΛΟΓΗ * ΑΠΟ ΤΟ ΜΑΘΗΜΑ ΟΠΟΥ τίτλος LIKE '%to%'; SELECT * FROM course WHERE course_id LIKE "CS-___";

21. ΕΙΣ

Χρησιμοποιώντας το IN μπορείτε να καθορίσετε πολλαπλές τιμές για τον όρο WHERE:

ΕΠΙΛΟΓΗ , , … ΑΠΟ ΠΟΥ ΜΕΣΑ (, , …);

Παράδειγμα

Ας εμφανίσουμε μια λίστα φοιτητών από ειδικότητες Comp. Επιστήμη, Φυσική και Ηλεκτρ. Eng.:

SELECT * FROM student WHERE dept_name IN ('Comp. Sci.', 'Physics', 'Elec. Eng.');

22. ΕΓΓΡΑΦΕΙΤΕ

Το JOIN χρησιμοποιείται για τη σύνδεση δύο ή περισσότερων πινάκων χρησιμοποιώντας κοινά χαρακτηριστικά μέσα σε αυτούς. Η παρακάτω εικόνα δείχνει τους διαφορετικούς τρόπους συμμετοχής στην SQL. Σημειώστε τη διαφορά μεταξύ μιας αριστερής εξωτερικής ένωσης και μιας δεξιάς εξωτερικής ένωσης:

ΕΠΙΛΟΓΗ , , … ΑΠΟ ΣΥΜΜΕΤΟΧΗ = ;

Παράδειγμα 1

Θα εμφανίσουμε μια λίστα με όλα τα μαθήματα και τις σχετικές πληροφορίες για τις σχολές:

ΕΠΙΛΟΓΗ * ΑΠΟ ΜΑΘΗΜΑ ΕΓΓΡΑΦΕΙΤΕ στο τμήμα ON course.dept_name=department.dept_name;

Παράδειγμα 2

Θα εμφανίσουμε μια λίστα με όλα τα απαιτούμενα μαθήματα και λεπτομέρειες σχετικά με αυτά:

SELECT prereq.course_id, title, dept_name, credits, prereq_id FROM prereq LEFT OUTER JOIN μαθήματος ON prereq.course_id=course.course_id;

Παράδειγμα 3

Θα εμφανίσουμε μια λίστα με όλα τα μαθήματα, ανεξάρτητα από το αν απαιτούνται ή όχι:

SELECT course.course_id, title, dept_name, credits, prereq_id FROM prereq RIGHT OUTER JOIN μάθημα ON prereq.course_id=course.course_id;

23. Προβολή

Το View είναι ένας εικονικός πίνακας SQL που δημιουργήθηκε ως αποτέλεσμα της εκτέλεσης μιας έκφρασης. Περιέχει γραμμές και στήλες και μοιάζει πολύ με έναν κανονικό πίνακα SQL. Η προβολή εμφανίζει πάντα τις πιο πρόσφατες πληροφορίες από τη βάση δεδομένων.

Δημιουργία CREATE VIEW AS SELECT , , ... FROM WHERE ; Αφαίρεση DROP VIEW ; Παράδειγμα

Ας δημιουργήσουμε μια προβολή που αποτελείται από μαθήματα με 3 μονάδες:

24. Αθροιστικές συναρτήσεις

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

  • COUNT (col_name) - επιστρέφει τον αριθμό των σειρών.
  • SUM (col_name) - επιστρέφει το άθροισμα των τιμών σε αυτήν τη στήλη.
  • AVG (col_name) - επιστρέφει τη μέση τιμή μιας δεδομένης στήλης.
  • MIN (col_name) - επιστρέφει τη μικρότερη τιμή μιας δεδομένης στήλης.
  • MAX (col_name) - Επιστρέφει τη μεγαλύτερη τιμή μιας δεδομένης στήλης.
25. Ένθετα υποερωτήματα

Τα ένθετα υποερωτήματα είναι ερωτήματα SQL που περιλαμβάνουν προτάσεις SELECT , FROM και WHERE που είναι ένθετες σε άλλο ερώτημα.

Παράδειγμα

Ας βρούμε μαθήματα που διδάχθηκαν το φθινόπωρο του 2009 και την άνοιξη του 2010:

SELECT DISTINCT course_id FROM section WHERE semester = 'Fall' AND year= 2009 AND course_id IN (SELECT course_id FROM section WHERE semester = 'Spring' AND year= 2010);

Kirill Pozdeev, μεταφραστής

Πώς η Yandex χρησιμοποιεί τα δεδομένα σας και τη μηχανική εκμάθηση για την εξατομίκευση των υπηρεσιών -.

Η SQL (ˈɛsˈkjuˈɛl; Αγγλική δομημένη γλώσσα ερωτημάτων - «δομημένη γλώσσα ερωτήματος») είναι μια δηλωτική γλώσσα προγραμματισμού που χρησιμοποιείται για τη δημιουργία, τροποποίηση και διαχείριση δεδομένων σε μια σχεσιακή βάση δεδομένων.

Συμμόρφωση με τα πρότυπα SQL για διαφορετικές βάσεις δεδομένων:

SQL (Structured Query Language - δομημένη γλώσσα ερωτημάτων). Η SQL είναι κυρίως μια λογική γλώσσα πληροφοριών που έχει σχεδιαστεί για να περιγράφει αποθηκευμένα δεδομένα, να ανακτά αποθηκευμένα δεδομένα και να τροποποιεί δεδομένα.

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

Η SQL είναι μια γλώσσα χωρίς διάκριση πεζών-κεφαλαίων. Οι συμβολοσειρές στην SQL περικλείονται σε μονά εισαγωγικά.

Η γλώσσα SQL είναι μια συλλογή από δηλώσεις. Οι δηλώσεις SQL χωρίζονται σε:

    Data Definition Language (DDL) - η γλώσσα περιγραφής σχήματος στο ANSI, αποτελείται από εντολές που δημιουργούν αντικείμενα (πίνακες, ευρετήρια, προβολές κ.λπ.) στη βάση δεδομένων (CREATE, DROP, ALTER κ.λπ.).

    Οι τελεστές χειρισμού δεδομένων (Γλώσσα χειρισμού δεδομένων, DML) είναι ένα σύνολο εντολών που καθορίζουν ποιες τιμές παρουσιάζονται σε πίνακες ανά πάσα στιγμή (INSERT, DELETE, SELECT, UPDATE, κ.λπ.).

    Δηλώσεις ορισμού πρόσβασης δεδομένων (Γλώσσα ελέγχου δεδομένων, DCL) - αποτελείται από εργαλεία που καθορίζουν εάν θα επιτρέψουν στον χρήστη να εκτελέσει ορισμένες ενέργειες ή όχι (ΠΑΡΑΧΩΡΗΣΗ/ΑΝΑΚΛΗΣΗ, ΚΛΕΙΔΩΜΑ/ΞΕΚΛΕΙΔΩΜΑ).

    Χειριστές Transaction Control Language (TCL).

Δυστυχώς, αυτοί οι όροι δεν χρησιμοποιούνται καθολικά σε όλες τις υλοποιήσεις. Υπογραμμίζονται από το ANSI και είναι χρήσιμα σε εννοιολογικό επίπεδο, αλλά τα περισσότερα προγράμματα SQL κάνουν ελάχιστα για να τα αντιμετωπίσουν ξεχωριστά, επομένως γίνονται ουσιαστικά λειτουργικές κατηγορίες εντολών SQL.

ΕΠΙΛΟΓΗ ενότητας ΕΓΓΡΑΦΗ

    Simple JOIN (=διασταύρωση JOIN =INNER JOIN) - σημαίνει ότι εμφανίζονται μόνο οι κοινές εγγραφές και των δύο πινάκων. Ο τρόπος με τον οποίο οι εγγραφές θεωρούνται κοινόχρηστες καθορίζεται από τα πεδία στην έκφραση ένωσης. Για παράδειγμα, η ακόλουθη καταχώρηση: FROM t1 JOIN t2 ON t1. id = t2. ταυτότητα

    σημαίνει ότι θα εμφανίζονται εγγραφές με το ίδιο αναγνωριστικό που υπάρχουν και στους δύο πίνακες.

    LEFT JOIN (ή LEFT OUTER JOIN) σημαίνει εμφάνιση όλων των εγγραφών από τον αριστερό πίνακα (αυτή που έρχεται πρώτη στην παράσταση ένωσης) ανεξάρτητα από το αν υπάρχουν αντίστοιχες εγγραφές στον δεξιό πίνακα. Εάν δεν υπάρχουν εγγραφές στον δεξιό πίνακα, ορίζεται η κενή τιμή NULL.

    Η ΔΕΞΙΑ ΣΥΝΔΕΣΗ (ή η ΔΕΞΙΑ ΕΞΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ) δρα σε αντίθεση με την ΑΡΙΣΤΕΡΗ ΣΥΝΔΕΣΗ - εμφανίζει όλες τις εγγραφές από τον δεξιό (δεύτερο) πίνακα και μόνο εκείνες που ταιριάζουν από τον αριστερό (πρώτο) πίνακα.

    Άλλοι τύποι ενώσεων JOIN: ΜΕΙΟΝ - αφαίρεση. FULL JOIN - πλήρης συμμετοχή. CROSS JOIN - «Όλοι με όλους» ή η λειτουργία καρτεσιανού προϊόντος.

SELECT JOIN SUBSTRING INSERT INTO users_auth VALUES (προεπιλογή, "root" , MD5("root"));

    INSERT IGNORE Εάν καθορίσετε τη λέξη-κλειδί IGNORE σε μια εντολή INSERT με σειρές που έχουν πολλαπλές τιμές, τότε τυχόν σειρές που έχουν διπλότυπα ΚΥΡΙΑ ή ΜΟΝΑΔΙΚΑ κλειδιά σε αυτόν τον πίνακα θα αγνοηθούν και δεν θα εισαχθούν. Εάν δεν καθορίσετε IGNORE, αυτή η λειτουργία εισαγωγής ματαιώνεται όταν συναντήσει μια σειρά που έχει διπλότυπη τιμή για ένα υπάρχον κλειδί

ΕΙΣΑΓΩΓΗ IGNORE ΣΤΙΣ ΤΙΜΕΣ ΤΙΜΕΣ (ΠΡΟΕΠΙΛΟΓΗ, 1, 1111, "Fr", 50, 50, 1, 1)

Η εντολή REPLACE διαφέρει από την INSERT μόνο στο ότι εάν υπάρχει μια εγγραφή στον πίνακα με την ίδια τιμή στο πεδίο με ευρετήριο (μοναδικό ευρετήριο) με τη νέα εγγραφή, τότε η παλιά εγγραφή διαγράφεται πριν προστεθεί η νέα.

ΕΚΣΥΓΧΡΟΝΙΖΩ< tablename>ΣΕΤ ( | ) .,. .< COLUMN name> = < VALUE expresslon>[ΟΠΟΥ< predlcate>| ΟΠΟΥ ΤΡΕΧΟΝ ΤΗΣ< cursor name>(*μόνο για συνημμένο*) ] ; ΕΝΗΜΕΡΩΣΗ ομότιμων SET zone= "voip" ; # ενημερώστε όλες τις σειρές στη στήλη ζώνης του πίνακα ομότιμων ΕΝΗΜΕΡΩΣΗ ΣΥΝΟΛΟΥ stats whp= "13x13x13" WHERE id = 1 ; ΕΝΗΜΕΡΩΣΗ χωρών SET nm_ukr= ( SELECT del_countries. ουκρανικά FROM del_countries WHERE χώρες. nm_en= del_countries. αγγλικά ) ;

Χρήση WordPress, ρύθμιση: στον πίνακα wp_posts, διαγράψτε όλες τις εμφανίσεις της σειράς

ΕΝΗΜΕΡΩΣΗ wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;

ΔΙΑΓΡΑΦΗ ΑΠΟ

[ ΠΟΥ | WHERE CURRENT OF (*μόνο συνημμένο*) ];

ΔΙΑΓΡΑΦΗ ΑΠΟ Ομότιμους. // θα διαγράψει όλα τα περιεχόμενα του πίνακα Peers. ΔΙΑΓΡΑΦΗ ΑΠΟ FinR όπου ημέρα Like "20120415%"; // ΔΙΑΓΡΑΦΗ ΑΠΟ Τιμές WHERE ratesheet_id NOT IN (SELECT id FROM ratesheets);

ΑΛΛΑΖΩ

    Αλλαγή της προεπιλεγμένης τιμής για μια στήλη. Για να ορίσετε μια νέα προεπιλεγμένη τιμή για μια στήλη, χρησιμοποιήστε μια εντολή όπως: ALTER TABLE προϊόντα ALTER COLUMN price SET DEFAULT 7.77 ; Ή ALTER TABLE ρινές ALTER COLUMN zone SET DEFAULT "voip" ;

    Σημειώστε ότι η εκτέλεση αυτής της εντολής δεν επηρεάζει τις υπάρχουσες σειρές στον πίνακα· η εντολή θα αλλάξει μόνο την προεπιλεγμένη τιμή για μελλοντικές εντολές INSERT. Για να αφαιρέσετε οποιαδήποτε προεπιλεγμένη τιμή, χρησιμοποιήστε

    Προϊόντα ALTER TABLE ALTER COLUMN τιμή ΠΤΩΣΗ ΠΡΟΕΠΙΛΟΓΗ ;

    Η εντολή κάνει το ίδιο πράγμα με τη ρύθμιση της προεπιλεγμένης τιμής σε null. Εφόσον η διαγραφή μιας προεπιλεγμένης τιμής την ορίζει σιωπηρά σε μηδενική τιμή, δεν θα αναφερθούν σφάλματα εάν διαγραφεί μια υπάρχουσα προεπιλεγμένη τιμή.

    Λειτουργεί ως η προεπιλεγμένη τιμή για τη στήλη. Σε αυτήν την περίπτωση, η στήλη timetracking έχει έναν τύπο δεδομένων χρονικής σήμανσης, που σημαίνει ότι η προεπιλεγμένη τιμή της μπορεί να οριστεί στη συνάρτηση ενσωματωμένη τώρα(), δηλ. κατά την προσθήκη μιας νέας σειράς στη στήλη, η τρέχουσα ημερομηνία και ώρα θα καταγραφεί ALTER TABLE timetracking ALTER COLUMN date_wd SET DEFAULT now();

    Προσθήκη περιορισμού. Για να προσθέσετε έναν περιορισμό, χρησιμοποιείται η σύνταξη του πίνακα για τον καθορισμό αυτού του περιορισμού. Για παράδειγμα: ALTER TABLE προϊόντα ADD CHECK (όνομα ""); ALTER TABLE προϊόντα ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE προϊόντα ΠΡΟΣΘΗΚΗ ΞΕΝΟΥ ΚΛΕΙΔΙΟΥ (product_group_id) ΑΝΑΦΟΡΕΣ ομάδες_προϊόντων.

    Για να προσθέσετε έναν μη μηδενικό περιορισμό που δεν μπορεί να γραφτεί ως περιορισμός πίνακα, χρησιμοποιήστε τη σύνταξη:

    ALTER TABLE προϊόντα ALTER COLUMN product_no SET NOT NULL;

    Ο καθορισμένος περιορισμός θα επιβληθεί αμέσως, επομένως τα δεδομένα στον πίνακα πρέπει να τον ικανοποιούν πριν προσθέσετε τον περιορισμό.

Συναρτήσεις Συνάθροισης

Υπάρχουν 5 συγκεντρωτικές συναρτήσεις στην τυπική SQL:

    COUNT - η συνάρτηση επιστρέφει τον αριθμό των σειρών που πληρούν ορισμένα κριτήρια.,

    SUM - επιστρέφει το άθροισμα (σύνολο) των τιμών σε μια συγκεκριμένη στήλη. Οι σειρές στηλών με τιμές NULL αγνοούνται από τη συνάρτηση SUM.

    AVG - μέση τιμή στη στήλη,

Οι συναρτήσεις συνάθροισης χρησιμοποιούνται ως ονόματα πεδίων σε έναν όρο ερωτήματος SELECT, με μία εξαίρεση: τα ονόματα πεδίων χρησιμοποιούνται ως ορίσματα. Οι συναρτήσεις SUM και AVG μπορούν να λειτουργήσουν μόνο με αριθμητικά πεδία. Οι συναρτήσεις COUNT, MAX, MIN λειτουργούν τόσο με αριθμητικά όσο και με πεδία χαρακτήρων. Όταν εφαρμόζονται σε πεδία χαρακτήρων, οι συναρτήσεις MAX και MIN μπορούν να λειτουργήσουν με τα ισοδύναμα ASCII των χαρακτήρων.

SELECT Count(Books.ID) AS [Αριθμός Βιβλίων] FROM Books;

Η χρήση CROUP BY σάς επιτρέπει να εφαρμόζετε συγκεντρωτικές συναρτήσεις σε ομάδες εγγραφών.

SELECT Count(Books.ID) AS [Αριθμός Βιβλίων] FROM Books GROUP BY [Συγγραφέας];

Προβολές (VIEW)

Το VIEW είναι ένα αντικείμενο δεδομένων που δεν περιέχει δεδομένα σχετικά με τον κάτοχό του. Είναι ένας τύπος πίνακα του οποίου τα περιεχόμενα ανακτώνται από άλλους πίνακες εκτελώντας ένα ερώτημα.

Οι πίνακες βάσης είναι πίνακες που περιέχουν δεδομένα. Ωστόσο, υπάρχει ένας άλλος τύπος πίνακα: - προβολές (VIEW). Οι προβολές είναι πίνακες των οποίων το περιεχόμενο επιλέγεται ή λαμβάνεται από άλλους πίνακες. Λειτουργούν σε ερωτήματα και δηλώσεις DML όπως ακριβώς οι κύριοι πίνακες, αλλά δεν περιέχουν δικά τους δεδομένα. Οι προβολές είναι σαν παράθυρα μέσω των οποίων προβάλλετε πληροφορίες που είναι πραγματικά αποθηκευμένες στον υποκείμενο πίνακα.

    Εντολή CREATE VIEW. Η προβολή δημιουργείται με την εντολή CREATE VIEW. Αποτελείται από τις λέξεις CREATE VIEW, το όνομα της προβολής που πρέπει να δημιουργηθεί, τη λέξη AS (ΠΩΣ) και μετά το ερώτημα. Ας δημιουργήσουμε την προβολή Londonstaff: CREATE VIEW Londonstaff AS SELECT * FROM Salespeople WHERE city = "London";

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

    Αυτό το παράρτημα περιέχει συντομευμένες περιγραφές διαφόρων εντολών SQL. Ο στόχος είναι να σας δώσει γρήγορη και ακριβή αναφορά και ορισμό της SQL.

    Η πρώτη ενότητα αυτής της εφαρμογής ορίζει τα στοιχεία που χρησιμοποιούνται για τη δημιουργία εντολών SQL. το δεύτερο είναι λεπτομέρειες της σύνταξης και των προτάσεων με μια σύντομη περιγραφή των ίδιων των εντολών.

    Ακολουθούν οι τυπικές συμβάσεις (που ονομάζονται συνθήκες BNF):

  • Οι λέξεις-κλειδιά πληκτρολογούνται με κεφαλαία.
  • Η SQL και άλλες ειδικές συνθήκες περικλείονται σε αγκύλες και πληκτρολογούνται με πλάγιους χαρακτήρες.()
  • Προαιρετικά μέρη εντολών περικλείονται σε αγκύλες ([ και ]).
  • Μια έλλειψη (...) υποδηλώνει ότι το προηγούμενο μέρος της εντολής μπορεί να επαναληφθεί πολλές φορές.
  • Μια κάθετη γραμμή (|) σημαίνει ότι ό,τι προηγείται μπορεί να αντικατασταθεί από αυτό που ακολουθεί.
  • Οι σγουρές αγκύλες (( και )) υποδεικνύουν ότι τα πάντα μέσα τους πρέπει να αντιμετωπίζονται ως σύνολο προκειμένου να αξιολογηθούν άλλοι χαρακτήρες (όπως κάθετες γραμμές ή ελλείψεις).
  • Η διπλή άνω και κάτω τελεία και το σύμβολο ίσου (:: =) σημαίνουν ότι αυτό που ακολουθεί είναι ένας ορισμός του τι προηγείται.

    Επιπλέον, θα χρησιμοποιήσουμε την ακόλουθη ακολουθία (.,..) για να υποδείξουμε ότι ό,τι προηγείται μπορεί να επαναληφθεί πολλές φορές, με μεμονωμένα συμβάντα διαχωρισμένα με κόμματα. Τα χαρακτηριστικά που δεν αποτελούν μέρος του επίσημου προτύπου θα επισημαίνονται στην περιγραφή ως (*non-standard*).

    ΠΑΡΑΚΑΛΩ ΣΗΜΕΙΩΣΤΕ: Η ορολογία που χρησιμοποιούμε εδώ δεν είναι επίσημη ορολογία ANSI. Η επίσημη ορολογία μπορεί να είναι πολύ μπερδεμένη, οπότε την έχουμε απλοποιήσει κάπως. Για αυτόν τον λόγο, μερικές φορές χρησιμοποιούμε συνθήκες που διαφέρουν από το ANSI ή χρησιμοποιούμε τις ίδιες συνθήκες αλλά με ελαφρώς διαφορετικό τρόπο. Για παράδειγμα, ο ορισμός μας για το C διαφέρει από τον συνδυασμό ANSI του τυπικού ορισμού του C. ΣΤΟΙΧΕΙΑ SQL

    Αυτή η ενότητα ορίζει τα στοιχεία των εντολών SQL.

    Χωρίζονται σε δύο κατηγορίες: Βασικά στοιχεία γλώσσας και Λειτουργικά στοιχεία γλώσσας.

    Τα βασικά στοιχεία είναι δημιουργημένα μπλοκ γλώσσας. Όταν η SQL εξετάζει μια εντολή, πρώτα αξιολογεί κάθε χαρακτήρα στο κείμενο της εντολής ως προς αυτά τα στοιχεία. Ένας διαχωριστής διαχωρίζει ένα μέρος μιας εντολής από ένα άλλο. οτιδήποτε μεταξύ οριοθέτων αντιμετωπίζεται ως ενότητα. Με βάση αυτή τη διαίρεση, η SQL ερμηνεύει την εντολή.

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

    Τα στοιχεία που παρατίθενται εδώ είναι κοινά σε όλες τις εντολές που περιγράφονται.

    Τα λειτουργικά στοιχεία μπορούν να οριστούν μεταξύ τους ή ακόμη και με τους δικούς τους όρους. Για παράδειγμα, το κατηγόρημα Η τελευταία και πιο σύνθετη περίπτωση περιέχει ένα κατηγόρημα μέσα στον δικό του ορισμό. Αυτό συμβαίνει επειδή ένα κατηγόρημα που χρησιμοποιεί AND ή OR μπορεί να περιέχει οποιοδήποτε αριθμό κατηγορημάτων που μπορούν να λειτουργήσουν ανεξάρτητα. Σας παρουσιάσαμε το κατηγόρημα Β σε ξεχωριστή ενότητα σε αυτό το παράρτημα λόγω της ποικιλίας και της πολυπλοκότητας αυτού του λειτουργικού στοιχείου της γλώσσας. Θα είναι συνεχώς παρών όταν συζητά άλλα λειτουργικά μέρη των ομάδων.

    ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ

    ΟΡΙΣΜΟΣ ΣΤΟΙΧΕΙΟΥ | | -- Το τέλος της συμβολοσειράς χαρακτήρων που ορίζεται από την εφαρμογή χώρου [( | = B AND


    Ο κόσμος των δωρεάν προγραμμάτων και χρήσιμες συμβουλές
    2024 whatsappss.ru