Βίντεο: Calling All Cars: Alibi / Broken Xylophone / Manila Envelopes 2024
Ίσως οι πιο συνηθισμένες δηλώσεις που θα εκτελεστούν στη βάση δεδομένων Oracle 12c ως Διαχειριστής Βάσεων Δεδομένων (DBA) είναι οι εντολές DESCRIBE και SELECT. Μετά από όλα, ένα μεγάλο μέρος της δουλειάς σας θα διερευνήσει τι είναι στη βάση δεδομένων και αναλύοντας τις τρέχουσες συνθήκες.
Πείτε ότι θέλετε να λάβετε κάποιες πληροφορίες σχετικά με τις εργασίες στην εταιρεία σας.
-
Ανοίξτε ένα τερματικό στο λειτουργικό σας σύστημα ως κάτοχος λογισμικού της Oracle.
-
Ορίστε το περιβάλλον σας με την ώρα.
-
Πληκτρολογήστε και πατήστε Enter.
-
Πληκτρολογήστε και πατήστε Enter.
-
Πληκτρολογήστε και πατήστε Enter.
-
Πληκτρολογήστε και πατήστε Enter.
Εμφανίζεται η ακόλουθη έξοδος:
SQL> DESCRIBE jobs Name Null? Τύπος ----------------------------- -------- ------------ -------- JOB_ID NOT NULL VARCHAR2 (10) JOB_TITLE NOT NULL VARCHAR2 (35) MIN_SALARY ΑΡΙΘΜΟΣ (6) MAX_SALARY ΑΡΙΘΜΟΣ (6)
-
Για να δείτε το job_id και job_title, πληκτρολογήστε
και πατήστε Enter.
Θα πρέπει να δείτε την ακόλουθη έξοδο:
SQL> επιλέξτε job_id, job_title από εργασίες; JOB_ID JOB_TITLE ---------- ----------------------------------- Πρόεδρος AD_PRES AD_VP πόροι Εκπρόσωπος Μάρκετινγκ Εκπρόσωπος Διευθυντής Διοίκησης Αντιπρόεδρος AD_ASST Διοίκησης Βοηθός FI_MGR Οικονομικός Διευθυντής FI_ACCOUNT Λογιστής AC_MGR Διευθυντής Λογιστηρίου AC_ACCOUNT Ελεγκτής Λογιστής SA_MAN Διευθυντής πωλήσεων SA_REP Αντιπρόσωπος πωλήσεων PU_MAN Διευθυντής Προμηθειών PU_CLERK Προμηθειών Υπάλληλος ST_MAN Διευθυντής Χρηματιστήριο ST_CLERK Χρηματιστήριο Υπάλληλος SH_CLERK αποστολή Υπάλληλος IT_PROG Προγραμματιστής MK_MAN Marketing MK_REP HR_REP του Ανθρώπου PR_REP Εκπρόσωπος Δημοσίων Σχέσεων 19 σειρές επιλεγμένες.
Η εντολή DESCRIBE σας επιτρέπει να δείτε τη δομή του πίνακα. Αυτό περιλαμβάνει τα ονόματα των στηλών, τους τύπους δεδομένων και αν οι στήλες επιτρέπονται να είναι κενές (null). Αυτή η πληροφορία μπορεί να είναι πολύ σημαντική κατά την κατασκευή διαφόρων δηλώσεων SQL. Για παράδειγμα, εάν εισάγετε μια σειρά, θα πρέπει να δώσετε τιμές για το job_id και το job_title επειδή δεν είναι NULL.
Η εντολή SELECT είναι πολύ απλή. Παρατηρήστε ότι γράφτηκε όλα σε μια γραμμή. SQL δεν ενδιαφέρεται πραγματικά πώς διαχωρίζετε τις δηλώσεις γραμμής ανά γραμμή, αρκεί να μην σπάσετε τις λέξεις στα μισά.
Διαχωρίστε τις δηλώσεις SQL με ρήτρα. Για μεγαλύτερες, πιο περίπλοκες δηλώσεις, μπορείτε να χρησιμοποιήσετε πολλά διαλείμματα γραμμής. Αυτά τα διαλείμματα μπορούν να σας βοηθήσουν να κάνετε τις δηλώσεις ευκολότερες στην ανάγνωση.
Εδώ είναι δύο εντολές SELECT και η έξοδος τους:
SQL> επιλέξτε * 2 από τις θέσεις εργασίας 3 όπου job_title = 'Πρόεδρος'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES Πρόεδρος 20080 40000 SQL> επιλέξτε * 2 από θέσεις εργασίας 3 όπου job_title όπως 'P%'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES Πρόεδρος 20080 40000 AC_ACCOUNT Λογιστής 4200 9000 PU_MAN Διευθυντής Προμηθειών 8000 15000 PU_CLERK Υπεύθυνος Αγοράς 2500 5500 IT_PROG Προγραμματιστής 4000 10000 PR_REP Εκπρόσωπος Δημοσίων Σχέσεων 4500 10500 6 σειρές επιλεγμένο.
Σημειώστε ότι αντί να χρησιμοποιήσετε μια λίστα με στήλες, χρησιμοποιήθηκε ένας αστερίσκος (*). Αυτό λέει ότι η ρήτρα SELECT είναι να επιστρέψει όλες τις στήλες, σε αντίθεση με αυτό που παρουσιάστηκε νωρίτερα όπου επιλέχθηκαν μόνο δύο στήλες.
Παρατηρήστε τη χρήση της ρήτρας WHERE. Η ρήτρα WHERE περιορίζει τα δεδομένα που επιστρέφονται. Σε αυτό το παράδειγμα, η ρήτρα WHERE χρησιμοποιείται με δύο τρόπους:
-
Ως ισότητα (=): Αναζητάτε ακριβώς τι θέλετε να βρείτε.
-
Ως ασαφής αναζήτηση (LIKE): Μπορείτε να χρησιμοποιήσετε άγριες κάρτες για να ολοκληρώσετε τους όρους αναζήτησης. Η Oracle χρησιμοποιεί το σύμβολο ποσοστού ως σύμβολο άγριας κάρτας.
Η χρήση του συμβόλου% καθορίζει ότι θέλετε να επιλέξετε όλες τις σειρές που αρχίζουν με το κεφάλαιο P και μετά να έχετε οτιδήποτε μετά από αυτές. Συχνά, στα λειτουργικά συστήματα, βλέπετε έναν αστερίσκο που χρησιμοποιείται ως άγρια κάρτα. Ωστόσο, αυτό δεν συμβαίνει μέσα σε μια δήλωση SQL. αντί να χρησιμοποιήσετε ένα ποσοστό% (%).
Προσθέτοντας στη δήλωση SELECT, βλέπετε
SQL> επιλέξτε χαμηλότερη (job_id), ανώτερη (job_title) title, max_salary 2 από τις εργασίες 3 όπου job_title όπως P% 4 και max_salary <14000 5 order by max_salary ASC. ΚΑΤΩ (JOB_ TITLE MAX_SALARY ---------- ----------------------------------- ---------- pu_clerk ΑΓΟΡΑΣΤΗΡΙΟ 5500 ac_account ΔΗΜΟΣΙΟΣ ΛΟΓΙΣΜΟΣ 9000 it_prog ΠΡΟΓΡΑΜΜΑΤΙΣΤΗΣ 10000 pr_rep ΑΝΤΙΠΡΟΣΩΠΟΣ ΣΥΝΔΕΣΕΩΝ 10500
Ορισμένες λειτουργίες προστέθηκαν στις στήλες της ρήτρας SELECT. Οι λειτουργίες παίρνουν και εισάγονται για να παράγουν μια έξοδο: σε αυτή την περίπτωση, το job_id και το job_title.Οι λειτουργίες χαρακτήρων UPPER και LOWER χρησιμοποιήθηκαν.Μπορείτε να μαντέψετε τι κάνουν; Στην περίπτωση αυτή, είναι αρκετά προφανές.Η Oracle έχει δεκάδες λειτουργίες για να μπορείτε να χρησιμοποιείτε για να ενεργείτε με τα δεδομένα σας σε όλα τα είδη
Στην περίπτωση αυτή, καταδεικνύεται πως δεν είναι απαραίτητα σημαντικό το πώς αποθηκεύονται τα δεδομένα σας, αλλά μπορείτε να τα εμφανίσετε όσο θέλετε. να είναι ένα μίγμα της συνάρτησης μας και της column_name.
Αυτό οφείλεται στο γεγονός ότι η Oracle χρησιμοποιεί αυτόματα ό, τι πληκτρολογείτε στη ρήτρα SELECT για την επικεφαλίδα της στήλης σας.Στη δεύτερη στήλη, job_title, ψευδώνυμο "για να κάνει το αποτέλεσμα είναι λίγο πιο όμορφο.
Ένα ψευδώνυμο έρχεται μετά την κατασκευή της στήλης αλλά πριν από το κόμμα. Σε αυτό το παράδειγμα, το τίτλος είναι το ψευδώνυμο. Το ψευδώνυμο θα είναι πάντα προεπιλεγμένο σε κεφαλαία, εκτός αν βάλεις διπλά εισαγωγικά ("") γύρω από αυτό. Πρέπει επίσης να χρησιμοποιήσετε διπλά εισαγωγικά αν το ψευδώνυμό σας είναι περισσότερες από μία λέξεις. Για παράδειγμα
SQL> επιλέξτε άνω (job_title) "Τίτλος εργασίας" 2 από τις εργασίες 3 όπου job_title όπως 'P%'; Τίτλος θέσης εργασίας ----------------------------------- ΠΡΟΕΔΡΟΣ ΔΗΜΟΣΙΟΥ ΛΟΓΑΡΙΑΣΜΟΥ ΑΓΟΡΑΣΤΗΣ ΑΓΟΡΑΣΤΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΓΟΡΩΝ ΑΓΟΡΩΝ ΥΠΕΥΘΥΝΟΣ ΔΗΜΟΣΙΑΣ ΣΧΕΣΗΣ > Η χρήση της δήλωσης AND είναι μια δομή της ρήτρας WHERE. Η εντολή AND σας επιτρέπει να χρησιμοποιήσετε πολλαπλές συνθήκες για να περιορίσετε τα δεδομένα μας.
Τέλος, η ρήτρα ORDER BY ταξινομεί την έξοδο στην καθορισμένη στήλη, είτε αριθμητικά είτε αλφαβητικά, ανάλογα με τον τύπο δεδομένων. Από προεπιλογή, ταξινομεί σε αύξουσα σειρά. Η λέξη-κλειδί ASC (αύξουσα) προστέθηκε για διευκρίνιση.Θα μπορούσατε να χρησιμοποιήσετε το DESC αντί για να παραγγείλετε τα αποτελέσματα σε φθίνουσα αριθμητική σειρά max_salary.