Key Takeaways
1. Η SQL είναι η Γλώσσα των Βάσεων Δεδομένων
Η SQL είναι μια γλώσσα σχεδιασμένη ειδικά για την επικοινωνία με βάσεις δεδομένων.
Καθολική Πρόσβαση. Η SQL (Structured Query Language) αποτελεί τη θεμελιώδη βάση για την αλληλεπίδραση με σχεδόν οποιοδήποτε σύστημα διαχείρισης βάσεων δεδομένων (DBMS). Η μη ιδιοκτησιακή της φύση διασφαλίζει ότι η εκμάθηση της SQL σας εξοπλίζει με τις δεξιότητες για την πρόσβαση και την επεξεργασία δεδομένων σε διάφορες πλατφόρμες, από προσωπικές εφαρμογές έως συστήματα επιπέδου επιχείρησης.
Βασικές Έννοιες Βάσεων Δεδομένων. Μια βάση δεδομένων είναι μια οργανωμένη συλλογή δεδομένων, συχνά ορατή ως ένα ντουλάπι αρχείων. Μέσα σε αυτό το ντουλάπι, οι πίνακες λειτουργούν ως δομημένα αρχεία, καθένας από τους οποίους περιέχει συγκεκριμένους τύπους δεδομένων. Οι στήλες ορίζουν τα μεμονωμένα κομμάτια πληροφορίας μέσα σε έναν πίνακα, όπως ονόματα πελατών ή τιμές προϊόντων, ενώ οι γραμμές αντιπροσωπεύουν μεμονωμένα αρχεία.
Πρωτεύοντα Κλειδιά. Κάθε πίνακας θα πρέπει να έχει ένα πρωτεύον κλειδί, μια στήλη (ή σύνολο στηλών) που προσδιορίζει μοναδικά κάθε γραμμή. Αυτό είναι κρίσιμο για την αποτελεσματική ενημέρωση ή διαγραφή συγκεκριμένων αρχείων. Η κατανόηση αυτών των θεμελιωδών εννοιών είναι απαραίτητη για τη σωστή χρήση της SQL στη διαχείριση και ανάκτηση δεδομένων.
2. Κατα mastering SELECT: Η Βάση της Ανάκτησης Δεδομένων
Η δήλωση SQL που θα χρησιμοποιείτε πιθανότατα πιο συχνά είναι η δήλωση SELECT.
Κεντρική Λειτουργικότητα. Η δήλωση SELECT
είναι το «άλογο εργασίας» της SQL, επιτρέποντάς σας να ανακτάτε δεδομένα από έναν ή περισσότερους πίνακες. Στην πιο απλή της μορφή, απαιτεί να καθορίσετε τι θέλετε να επιλέξετε (στήλες) και από πού (πίνακας).
Επιλογή Στηλών. Μπορείτε να ανακτήσετε μεμονωμένες στήλες, πολλές στήλες (χωρισμένες με κόμματα) ή όλες τις στήλες χρησιμοποιώντας το αστερίσκο (*). Αν και η χρήση του *
μπορεί να φαίνεται βολική, είναι γενικά καλύτερο να αναφέρετε ρητά τις στήλες που χρειάζεστε για να βελτιώσετε την απόδοση και να αποφύγετε την ανάκτηση περιττών δεδομένων.
Πρακτική Εφαρμογή. Για παράδειγμα, SELECT prod_name FROM Products;
ανακτά όλα τα ονόματα προϊόντων από τον πίνακα Products
. SELECT prod_id, prod_name, prod_price FROM Products;
ανακτά το ID, το όνομα και την τιμή κάθε προϊόντος. Η κατανόηση της δήλωσης SELECT
είναι το πρώτο βήμα για να γίνετε ικανοί στη SQL.
3. Ταξινόμηση και Φιλτράρισμα: Εξευγενίζοντας τα Δεδομένα σας
Για να ταξινομήσετε ρητά τα δεδομένα που ανακτήθηκαν χρησιμοποιώντας μια δήλωση SELECT, χρησιμοποιείται η ρήτρα ORDER BY.
Ταξινόμηση Δεδομένων. Η ρήτρα ORDER BY
σας επιτρέπει να ταξινομήσετε τα ανακτημένα δεδομένα με βάση μία ή περισσότερες στήλες. Μπορείτε να καθορίσετε αύξουσα (ASC
) ή φθίνουσα (DESC
) σειρά. Αν δεν καθοριστεί σειρά, η αύξουσα είναι η προεπιλεγμένη.
Φιλτράρισμα Δεδομένων. Η ρήτρα WHERE
σας επιτρέπει να φιλτράρετε τα δεδομένα με βάση συγκεκριμένες συνθήκες. Αυτό σας επιτρέπει να ανακτάτε μόνο τις γραμμές που πληρούν τα κριτήριά σας. Η SQL υποστηρίζει μια σειρά από συνθήκες, συμπεριλαμβανομένων των =
, <>
, <
, >
, BETWEEN
, και IS NULL
.
Συνδυασμός Ρητρών. Μπορείτε να συνδυάσετε τις ρήτρες ORDER BY
και WHERE
για να φιλτράρετε και να ταξινομήσετε τα δεδομένα σας. Για παράδειγμα, SELECT prod_name, prod_price FROM Products WHERE prod_price < 10 ORDER BY prod_name;
ανακτά τα ονόματα και τις τιμές όλων των προϊόντων που κοστίζουν λιγότερο από 10$, ταξινομημένα αλφαβητικά κατά όνομα.
4. Υπολογισμένα Πεδία: Μετασχηματισμός Δεδομένων σε Πραγματικό Χρόνο
Σε αντίθεση με όλες τις στήλες που ανακτήσαμε μέχρι τώρα, τα υπολογισμένα πεδία δεν υπάρχουν πραγματικά στους πίνακες βάσεων δεδομένων.
Δυναμικά Δεδομένα. Τα υπολογισμένα πεδία δημιουργούνται εν πτήσει μέσα σε μια δήλωση SELECT
, επιτρέποντάς σας να μετασχηματίζετε, να μετατρέπετε ή να αναμορφώνετε δεδομένα χωρίς να αλλάξετε τον υποκείμενο πίνακα. Αυτό είναι ιδιαίτερα χρήσιμο όταν χρειάζεστε δεδομένα σε συγκεκριμένη μορφή για αναφορές ή εφαρμογές.
Συγκέντρωση. Μπορείτε να συνδυάσετε πεδία χρησιμοποιώντας τελεστές όπως +
ή ||
(ανάλογα με το DBMS) για να συνδυάσετε πολλές στήλες σε μια ενιαία τιμή. Για παράδειγμα, μπορείτε να συνδυάσετε το όνομα ενός προμηθευτή και τη χώρα του σε ένα ενιαίο πεδίο "τίτλος προμηθευτή".
Ψευδώνυμα. Για να δώσετε σε ένα υπολογισμένο πεδίο ένα όνομα που μπορεί να αναφέρεται από εφαρμογές πελατών, χρησιμοποιήστε τη λέξη-κλειδί AS
για να αναθέσετε ένα ψευδώνυμο. Για παράδειγμα, SELECT quantity*item_price AS expanded_price FROM OrderItems;
δημιουργεί ένα υπολογισμένο πεδίο με το όνομα expanded_price
που αντιπροσωπεύει τη συνολική τιμή κάθε αντικειμένου.
5. Συναρτήσεις: Το Πολυδιάστατο Εργαλείο της SQL
Οι συναρτήσεις είναι λειτουργίες που συνήθως εκτελούνται σε δεδομένα, συνήθως για να διευκολύνουν τη μετατροπή και την επεξεργασία.
Επεξεργασία Δεδομένων. Οι συναρτήσεις SQL παρέχουν έναν ισχυρό τρόπο για να επεξεργάζεστε δεδομένα μέσα στις ερωτήσεις σας. Αυτές οι συναρτήσεις μπορούν να χρησιμοποιηθούν για την εκτέλεση ποικιλίας λειτουργιών, συμπεριλαμβανομένων της επεξεργασίας κειμένου, αριθμητικών υπολογισμών και μορφοποίησης ημερομηνιών/ωρών.
Τύποι Συναρτήσεων. Κοινές κατηγορίες συναρτήσεων περιλαμβάνουν:
- Συναρτήσεις κειμένου:
UPPER()
,LOWER()
,TRIM()
- Αριθμητικές συναρτήσεις:
ABS()
,ROUND()
,SQRT()
- Συναρτήσεις ημερομηνίας/ώρας:
DATEPART()
,YEAR()
,MONTH()
Ειδικότητα DBMS. Είναι σημαντικό να σημειωθεί ότι η σύνταξη και η διαθεσιμότητα των συναρτήσεων μπορεί να διαφέρουν σημαντικά μεταξύ διαφορετικών DBMS. Πάντα να συμβουλεύεστε την τεκμηρίωση του DBMS σας για να προσδιορίσετε τις συγκεκριμένες συναρτήσεις που υποστηρίζονται και τη σωστή χρήση τους.
6. Συνοψίζοντας και Ομαδοποιώντας: Αποκτώντας Γνώσεις από τα Δεδομένα
Συναρτήσεις Συγκέντρωσης: Συναρτήσεις που λειτουργούν σε ένα σύνολο γραμμών για να υπολογίσουν και να επιστρέψουν μια μοναδική τιμή.
Συναρτήσεις Συγκέντρωσης. Η SQL παρέχει συναρτήσεις συγκέντρωσης για να συνοψίσετε δεδομένα χωρίς να ανακτήσετε κάθε γραμμή. Αυτές οι συναρτήσεις περιλαμβάνουν AVG()
, COUNT()
, MAX()
, MIN()
, και SUM()
.
Ομαδοποίηση Δεδομένων. Η ρήτρα GROUP BY
σας επιτρέπει να διαιρείτε τα δεδομένα σε λογικά σύνολα και να εκτελείτε συγκεντρωτικούς υπολογισμούς σε κάθε ομάδα. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε GROUP BY vend_id
για να υπολογίσετε τον αριθμό των προϊόντων που προσφέρει κάθε προμηθευτής.
Φιλτράρισμα Ομάδων. Η ρήτρα HAVING
χρησιμοποιείται για να φιλτράρει ομάδες με βάση συγκεντρωτικές τιμές. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε HAVING COUNT(*) >= 2
για να ανακτήσετε μόνο εκείνους τους προμηθευτές που προσφέρουν δύο ή περισσότερα προϊόντα.
7. Συνδέσεις: Ενοποιώντας Πίνακες για Συνολικές Ερωτήσεις
Απλά, μια σύνδεση είναι ένας μηχανισμός που χρησιμοποιείται για να συσχετίσει πίνακες μέσα σε μια δήλωση SELECT (και έτσι το όνομα σύνδεση).
Σχεσιακή Δύναμη. Οι συνδέσεις είναι ένα θεμελιώδες χαρακτηριστικό της SQL που σας επιτρέπει να συνδυάζετε δεδομένα από πολλούς πίνακες σε ένα ενιαίο σύνολο αποτελεσμάτων. Αυτό είναι απαραίτητο για την εργασία με σχεσιακές βάσεις δεδομένων, όπου τα δεδομένα συχνά διασπώνται σε πολλούς πίνακες για να διασφαλιστεί η ακεραιότητα και η αποδοτικότητα των δεδομένων.
Τύποι Συνδέσεων. Ο πιο κοινός τύπος σύνδεσης είναι η εσωτερική σύνδεση (ή ισοδύναμη σύνδεση), η οποία επιστρέφει μόνο τις γραμμές που έχουν αντίστοιχες τιμές και στους δύο πίνακες. Οι εξωτερικές συνδέσεις, συμπεριλαμβανομένων των αριστερών και δεξιών εξωτερικών συνδέσεων, σας επιτρέπουν να συμπεριλάβετε γραμμές από έναν πίνακα ακόμη και αν δεν υπάρχουν αντίστοιχες γραμμές στον άλλο πίνακα.
Δημιουργία Συνδέσεων. Για να δημιουργήσετε μια σύνδεση, καθορίζετε τους πίνακες που θα συμπεριληφθούν στη ρήτρα FROM
και ορίζετε τη σχέση μεταξύ τους χρησιμοποιώντας μια ρήτρα WHERE
ή μια ρήτρα ON
(με τη σύνταξη INNER JOIN
). Για παράδειγμα, SELECT vend_name, prod_name FROM Vendors INNER JOIN Products ON Vendors.vend_id = Products.vend_id;
συνδέει τους πίνακες Vendors
και Products
με βάση τη στήλη vend_id
.
8. Υποερωτήσεις: Ενσωματώνοντας Ερωτήσεις για Προχωρημένο Φιλτράρισμα
Οι υποερωτήσεις επεξεργάζονται πάντα ξεκινώντας από την εσωτερική δήλωση SELECT και προχωρώντας προς τα έξω.
Δύναμη Ενσωμάτωσης. Οι υποερωτήσεις είναι ερωτήσεις που ενσωματώνονται μέσα σε άλλες ερωτήσεις, επιτρέποντάς σας να δημιουργείτε σύνθετες και δυναμικές συνθήκες φιλτραρίσματος. Η εσωτερική ερώτηση εκτελείται πρώτη και τα αποτελέσματά της χρησιμοποιούνται από την εξωτερική ερώτηση.
Φιλτράρισμα με Υποερωτήσεις. Οι υποερωτήσεις χρησιμοποιούνται συχνά στη ρήτρα WHERE
με τελεστές όπως IN
για να φιλτράρουν δεδομένα με βάση τα αποτελέσματα μιας άλλης ερώτησης. Για παράδειγμα, μπορείτε να ανακτήσετε όλους τους πελάτες που έχουν παραγγείλει ένα συγκεκριμένο προϊόν χρησιμοποιώντας μια υποερώτηση για να βρείτε τους αριθμούς παραγγελιών που περιέχουν αυτό το προϊόν.
Υπολογισμένα Πεδία με Υποερωτήσεις. Οι υποερωτήσεις μπορούν επίσης να χρησιμοποιηθούν για τη δημιουργία υπολογισμένων πεδίων, επιτρέποντάς σας να εκτελείτε συγκεντρωτικούς υπολογισμούς για κάθε γραμμή στην εξωτερική ερώτηση. Για παράδειγμα, μπορείτε να εμφανίσετε τον συνολικό αριθμό παραγγελιών που έχει τοποθετήσει κάθε πελάτης χρησιμοποιώντας μια υποερώτηση για να μετρήσετε τις παραγγελίες για κάθε ID πελάτη.
9. Επεξεργασία Δεδομένων: Εισαγωγή, Ενημέρωση και Διαγραφή
Όπως υποδηλώνει το όνομά της, η δήλωση INSERT χρησιμοποιείται για να εισάγει (προσθέσει) γραμμές σε έναν πίνακα βάσεων δεδομένων.
Προσθήκη Δεδομένων. Η δήλωση INSERT
χρησιμοποιείται για να προσθέσετε νέες γραμμές σε έναν πίνακα. Μπορείτε να εισάγετε μια πλήρη γραμμή καθορίζοντας τιμές για όλες τις στήλες ή να εισάγετε μια μερική γραμμή καθορίζοντας τιμές μόνο για ορισμένες στήλες.
Τροποποίηση Δεδομένων. Η δήλωση UPDATE
χρησιμοποιείται για να τροποποιήσετε υπάρχοντα δεδομένα σε έναν πίνακα. Μπορείτε να ενημερώσετε συγκεκριμένες γραμμές χρησιμοποιώντας μια ρήτρα WHERE
ή να ενημερώσετε όλες τις γραμμές στον πίνακα (με προσοχή!).
Αφαίρεση Δεδομένων. Η δήλωση DELETE
χρησιμοποιείται για να αφαιρέσετε γραμμές από έναν πίνακα. Όπως και η UPDATE
, μπορείτε να διαγράψετε συγκεκριμένες γραμμές χρησιμοποιώντας μια ρήτρα WHERE
ή να διαγράψετε όλες τις γραμμές στον πίνακα (και πάλι, με προσοχή!).
10. Διαχείριση Πινάκων: Δημιουργία, Τροποποίηση και Διαγραφή Πινάκων
Η SQL δεν χρησιμοποιείται μόνο για την επεξεργασία δεδομένων πινάκων.
Έλεγχος Σχήματος. Η SQL δεν χρησιμοποιείται μόνο για την επεξεργασία δεδομένων, αλλά και για τη διαχείριση της δομής της βάσης δεδομένων σας. Η δήλωση CREATE TABLE
σας επιτρέπει να ορίσετε νέους πίνακες, καθορίζοντας ονόματα στηλών, τύπους δεδομένων και περιορισμούς.
Τροποποίηση Πινάκων. Η δήλωση ALTER TABLE
σας επιτρέπει να τροποποιήσετε τη δομή των υπαρχόντων πινάκων, όπως η προσθήκη ή η αφαίρεση στηλών. Ωστόσο, οι συγκεκριμένες τροποποιήσεις που επιτρέπονται μπορεί να διαφέρουν ανάλογα με το DBMS.
Αφαίρεση Πινάκων. Η δήλωση DROP TABLE
σας επιτρέπει να διαγράψετε μόνιμα έναν πίνακα από τη βάση δεδομένων. Αυτή η ενέργεια είναι μη αναστρέψιμη, οπότε χρησιμοποιήστε την με προσοχή.
11. Προβολές: Απλοποιώντας και Ασφαλίζοντας την Πρόσβαση στα Δεδομένα
Οι προβολές είναι εικονικοί πίνακες.
Εικονικοί Πίνακες. Οι προβολές είναι εικονικοί πίνακες που περιέχουν ερωτήσεις αντί για πραγματικά δεδομένα. Παρέχουν έναν τρόπο να απλοποιήσετε πολύπλοκες SQL λειτουργίες, να εκθέσετε μέρη ενός πίνακα αντί για ολόκληρους πίνακες και να ασφαλίσετε τα δεδομένα παρέχοντας στους χρήστες πρόσβαση σε συγκεκριμένα υποσύνολα δεδομένων.
Απλοποίηση Ερωτήσεων. Οι προβολές μπορούν να ενσωματώσουν πολύπλοκες συνδέσεις, υπολογισμένα πεδία και συνθήκες φιλτραρίσματος, επιτρέποντας στους χρήστες να ανακτούν δεδομένα με απλούστερες ερωτήσεις. Για παρά
Last updated:
Review Summary
Sams Teach Yourself SQL™ σε 10 Λεπτά λαμβάνει κυρίως θετικές κριτικές, επαινώντας την σαφήνεια, τη συνοπτικότητα και την αποτελεσματικότητά του ως εισαγωγή στο SQL. Οι αναγνώστες εκτιμούν τα μικρά κεφάλαιά του, τα πρακτικά παραδείγματα και την ικανότητά του να λειτουργεί ως γρήγορη αναφορά. Ορισμένοι το επικρίνουν για το ότι είναι πολύ βασικό ή ότι λείπουν λεπτομερείς οδηγίες ρύθμισης. Το βιβλίο συνιστάται για αρχάριους στο SQL και για όσους αναζητούν μια ανανέωση, αν και μπορεί να μην είναι κατάλληλο για προχωρημένους χρήστες ή πολύπλοκα σενάρια βάσεων δεδομένων. Συνολικά, θεωρείται πολύτιμος πόρος για την γρήγορη εκμάθηση των βασικών του SQL.
Similar Books









