Oracle SQL 入门
Sara Billen
Curriculum Manager


连接类型:
SELECT Album.Title, Artist.Name
FROM Album INNER JOIN Artist
ON Album.ArtistId = Artist.ArtistId
| Album.Title | Artist.Name |
|---------------------------------|---------------|
| Black Sabbath | Black Sabbath |
| Black Sabbath Vol. 4 (Remaster) | Black Sabbath |
| The Cream Of Clapton | Eric Clapton |
| Unplugged | Eric Clapton |
| ... | ... |
FROM 中,用 INNER JOIN 分隔列出相关表ON 指定连接列SELECT Album.Title, Artist.Name
FROM Album INNER JOIN Artist
ON Album.ArtistId = Artist.ArtistId
再添加 WHERE、ORDER BY 等必要子句!
SELECT Album.Title, Artist.Name
FROM Album INNER JOIN Artist
ON Album.ArtistId = Artist.ArtistId
WHERE Artist.Name = 'Pearl Jam'
| Album.Title | Artist.Name |
|-------------|-------------|
| Pearl Jam | Pearl Jam |
| Riot Act | Pearl Jam |
| Ten | Pearl Jam |
| ... | ... |
SELECT Album.Title, Artist.Name
FROM Album INNER JOIN Artist
ON Album.ArtistId = Artist.ArtistId
等同于
SELECT Album.Title, Artist.Name
FROM Album INNER JOIN Artist
USING (ArtistId)
SELECT DISTINCT Customer.FirstName, Customer.LastName,
Employee.FirstName, Employee.LastName
FROM Customer INNER JOIN Employee
ON Customer.SupportRepID = Employee.EmployeeID
使用别名:
SELECT DISTINCT c.FirstName, c.LastName, e.FirstName, e.LastName
FROM Customer c INNER JOIN Employee e
ON c.SupportRepID = e.EmployeeID

SELECT t.Name AS Track, al.Title AS Album, ar.Name AS Artist
FROM
Track t INNER JOIN Album al USING (AlbumId)
INNER JOIN Artist ar USING (ArtistId)
SELECT t.Name as Track, al.Title as Album, ar.Name as Artist
FROM
Track t INNER JOIN Album al USING (AlbumId)
INNER JOIN Artist ar USING (ArtistId)
| Track | Album | Artist |
|--------------------|--------------------------------|-------------|
| The Legacy | A Matter of Life and Death | Iron Maiden |
| Lord of Light | A Matter of Life and Death | Iron Maiden |
| Out of the Shadows | A Matter of Life and Death | Iron Maiden |
| ... | ... | ... |
Oracle SQL 入门