You are on page 1of 14

SQL.

DISTINCT

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

Παραδείγματα:

SELECT DISTINCT firstname


FROM student

SELECT DISTINCT BirthDate


FROM student
WHERE

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

Παραδείγματα:

SELECT StudentID, FirstName, LastName


FROM student
WHERE birthdate < '1990-01-01'

UPDATE student
SET birthdate = '1990-01-01'
WHERE StudentID = 1000

DELETE FROM student


WHERE StudentID = 1000
AND, OR και NOT

Οι τελεστές AND, OR και NOT επιτρέπουν το συνδυασμό πολλαπλών συνθηκών σε μια δήλωση WHERE.

Παραδείγματα:

SELECT StudentID, FirstName, LastName


FROM student
WHERE StudentID >= 100
OR StudentID < 200
AND NOT BirthDate > '1990-01-01'

SELECT StudentID, FirstName, LastName


FROM student
WHERE NOT Email = 'gfilippakis@sleed.gr'
AND Email <> ''
ORDER BY

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

Παραδείγματα:

SELECT StudentID, FirstName, LastName


FROM student
ORDER BY LastName ASC

SELECT StudentID, FirstName, LastName


FROM student
WHERE StudentID >= 100
ORDER BY StudentID DESC
LIKE

Η λέξη κλειδί LIKE μας επιτρέπει την αναζήτηση ενός μοτίβου (pattern) στις τιμές ενός πεδίου.

Παραδείγματα:

SELECT *
FROM student
WHERE FirstName LIKE '%a%'

SELECT LastName
FROM student
WHERE LastName LIKE 'F_l_pp%'
ORDER BY LastName ASC
IN

Η λέξη κλειδί IN μας επιτρέπει την αναζήτηση εγγραφών για καθορισμένες τιμές ενός πεδίου.

Παραδείγματα:

SELECT *
FROM student
WHERE FirstName IN ('George', 'Valerios', 'Michalis')

SELECT LastName
FROM student
WHERE LastName NOT IN ('Filippakis', 'Chatzigeorgiou', 'Mavromatakis')
BETWEEN

Η λέξη κλειδί BETWEEN μας επιτρέπει την αναζήτηση εγγραφών για καθορισμένο (κλειστό) εύρος τιμών
ενός πεδίου.

Παραδείγματα:

SELECT *
FROM student
WHERE BirthDate BETWEEN '1989-01-01' AND '2001-01-01'

SELECT *
FROM student
WHERE StudentID BETWEEN 100 AND 200
Ένωση πινάκων - SQL Joins

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

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

Η SQL διαθέτει τους παρακάτω τύπους ένωσης μεταξύ πινάκων:

● INNER JOIN - που επιστρέφει τα κοινά στοιχεία 2 πινάκων,


● LEFT JOIN - που επιστρέφει τα στοιχεία του πρώτου πίνακα με τα κοινά στοιχεία του δεύτερου,
● RIGHT JOIN - που επιστρέφει τα στοιχεία του δεύτερου πίνακα με τα κοινά στοιχεία του πρώτου, και
● FULL OUTER JOIN - που επιστρέφει όλα τα στοιχεία των δυο πινάκων.
INNER JOIN

Η ένωση INNER JOIN επιστρέφει τα κοινά στοιχεία (τομή) 2 πινάκων.

Παράδειγμα:

SELECT student.FirstName, student.LastName, grade.grade


FROM student
INNER JOIN grade ON student.StudentID = grade.StudentID
LEFT JOIN

Η ένωση LEFT JOIN επιστρέφει τα στοιχεία του πρώτου πίνακα με τα κοινά στοιχεία του δεύτερου.

Παράδειγμα:

SELECT student.FirstName, student.LastName, grade.grade


FROM student
LEFT JOIN grade ON student.StudentID = grade.StudentID
RIGHT JOIN

Η ένωση RIGHT JOIN επιστρέφει τα στοιχεία του δεύτερου πίνακα με τα κοινά στοιχεία του πρώτου.

Παράδειγμα:

SELECT student.FirstName, student.LastName, grade.grade


FROM student
RIGHT JOIN grade ON student.StudentID = grade.StudentID
FULL OUTER JOIN

Η ένωση FULL OUTER JOIN επιστρέφει όλα τα στοιχεία των δυο πινάκων.

Παράδειγμα:

SELECT student.FirstName, student.LastName, grade.grade


FROM student
FULL OUTER JOIN grade ON student.StudentID = grade.StudentID
Χρήσιμοι σύνδεσμοι

● https://dev.mysql.com/doc/refman/5.7/en/expressions.html
● https://dev.mysql.com/doc/refman/5.7/en/join.html

You might also like