Το αρχείο της βάσης (MS ACCESS) με τα παρακάτω ερωτήματα είναι εδώ. Θα πρέπει να έχετε κατά νου, ότι οι επιλογές [ALL|DISTINCT], [TOP N|TOP N PERCENT], που αναφέρονται παρακάτω, εισάγονται μόνο από τη σύνταξη SQL.
Ερώτηση | Σχεδίαση ερωτήματος | SQL |
Τα ονόματα με αύξουσα αλφαβητική ταξινόμηση και οι κωδικοί όλων των εξαρτημάτων. | ![]() |
SELECT P.PNAME, P.P FROM P ORDER BY P.PNAME; |
2. Τα ονόματα με φθίνουσα αλφαβητική ταξινόμηση και οι κωδικοί όλων των εξαρτημάτων. | ![]() |
SELECT P.PNAME, P.P FROM P ORDER BY P.PNAME DESC; |
3. Τα ονόματα και τα χρώματα με αύξουσα αλφαβητική ταξινόμηση, όλων των εξαρτημάτων. | ![]() |
SELECT P.PNAME, P.COLOR FROM P ORDER BY P.COLOR; |
4. Τα ονόματα με φθίνουσα αλφαβητική ταξινόμηση και τα χρώματα με αύξουσα αλφαβητική ταξινόμηση, όλων των εξαρτημάτων. | ![]() |
SELECT P.PNAME, P.COLOR FROM P ORDER BY P.PNAME DESC , P.COLOR ASC; |
5. Τα ονόματα με αύξουσα αλφαβητική ταξινόμηση, των εξαρτημάτων των εξαρτημάτων με όνομα διαφορετικό από Screw. | ![]() |
SELECT P.PNAME FROM P WHERE P.NAME <> "Screw" ORDER BY P.NAME; |
6. Τα ονόματα με αύξουσα αλφαβητική ταξινόμηση και το βάρος, όλων των εξαρτημάτων που έχουν χρώμα Red. | ![]() |
SELECT P.PNAME, P.WEIGHT FROM P WHERE P.COLOR = "Red" ORDER BY P.PNAME; |
7. Τα χρώματα των εξαρτημάτων. (Προσοχή! Όχι το χρώμα κάθε εξαρτήματος. Η επιλογή DISTINCT μετά από SELECT αφαιρεί τις διπλοεγγραφές, με αποτέλεσμα να παίρνουμε το κάθε χρώμα μόνο μία μοναδική φορά. Παρατηρείστε επίσης ότι το αποτέλεσμα είναι ταξινομημένο. Εκτελέστε το ερώτημα με SELECT DISTINCT και με SELECT ALL, μέχρι να καταλάβετε τη διαφορά.) | ![]() |
SELECT DISTINCT P.COLOR FROM P; |
8. Τα βάρη των εξαρτημάτων. (Ισχύουν τα ίδια με το προηγούμενο ερώτημα) | ![]() |
SELECT DISTINCT P.WEIGHT FROM P; |
9. Τις πρώτες 3 εγγραφές από τον πίνακα εξαρτημάτων | ![]() |
SELECT TOP 3 P.* FROM P; |
10. Τους κωδικούς και τα ονόματα των 3 βαρύτερων εξαρτημάτων. | ![]() |
SELECT TOP 3 P.P, P.PNAME FROM P ORDER BY P.WEIGHT DESC; |
11. Το πρώτο 10% από τις εγγραφές από τον πίνακα εξαρτημάτων | ![]() |
SELECT TOP 3 P.* FROM P; |
12. Τους κωδικούς και τα ονόματα των 10% ελαφρύτερων εξαρτημάτων. | ![]() |
SELECT TOP 10 PERCENT P.P, P.PNAME FROM P ORDER BY P.WEIGHT ASC; |
13. Οι κωδικοί των εξαρτημάτων που το χρώμα τους δεν είναι ούτε Red ούτε Blue | ![]() |
SELECT P.P, P.COLOR FROM P WHERE P.COLOR<>"Red" AND P.COLOR<>"Blue"; |
14. Και τώρα η έκπληξη! Αλλάξτε τον τελεστή AND του προηγούμενου ερωτήματος σε OR και εκτελέστε το ερώτημα. Βεβαιωθείτε ότι καταλάβατε απολύτως τη διαφορά. Τip: κάντε τον πίνακα αληθείας. | ![]() |
SELECT P.P, P.COLOR FROM P WHERE P.COLOR<>"Red" ΟR P.COLOR<>"Blue"; |
15. Οι κωδικοί και το χρώμα των εξαρτημάτων που το χρώμα τους δεν είναι Blue. Προφανώς, σε αυτή τη περίπτωση ο τελεστής NOT δεν είναι απαραίτητος. Χρησιμοποιήστε τον, για να καταλάβετε τη σημασία του. | ![]() |
SELECT P.P, P.COLOR FROM P WHERE ΝΟΤ (P.COLOR="Blue"); |
16. Οι κωδικοί και το βάρος των εξαρτημάτων όπου το βάρος δεν είναι στην περιοχή [14,17]. Μπορείτε να διατυπώσετε το ερώτημα χωρίς τον τελεστή NOΤ; | ![]() |
SELECT P.P, P.WEIGHT FROM P WHERE NOT (P.WEIGHT BETWEEN 14 AND 17); |
17. Οι κωδικοί των εξαρτημάτων που το χρώμα τους δεν είναι ούτε Red ούτε Blue | ![]() |
SELECT P.P, P.COLOR FROM P WHERE NOT P.COLOR IN ("Red","Blue"); |
18. Οι κωδικοί των εξαρτημάτων που το χρώμα τους δεν είναι Red ή δεν είναι Blue Η διατύπωση αυτή είναι παρόμοια με τη προηγούμενη. Συγκρίνετε τα αποτελέσματα με αυτά που παίρνετε από τις ερωτήσεις 13 και 14. | ![]() |
SELECT P.P, P.COLOR FROM P WHERE (NOT P.COLOR="Red") OR (NOT P.COLOR="Blue"); |
19. Οι κωδικοί των εξαρτημάτων που το χρώμα τους δεν είναι Red και δεν είναι Blue Η διατύπωση αυτή είναι παρόμοια με τη προηγούμενη. Συγκρίνετε τα αποτελέσματα με αυτά που παίρνετε από τις ερωτήσεις 13,14,17 και 18. Δοκιμάστε τις ερωτήσεις χωρίς τον τελεστή NOT. | ![]() |
SELECT P.P, P.COLOR FROM P WHERE (NOT P.COLOR="Red") AND (NOT P.COLOR="Blue"); |