版上的各位好,我這邊有一題SQL查詢語法的問題,希望大家幫我看看我的觀念正不正確,
寫完沒正確解答可以對照總覺得不太穩,尤其是第(四)題,麻煩各位了,謝謝!
題目:
https://www.dropbox.com/s/t6utc5q266oxw5r/102_1.jpg
我的答案:
(一)
SELECT Car.CarNo, Car.Name, Car.Brand, Car.Model, Car.Color
FROM Car JOIN Speeding ON Car.CarNo = Speeding.CarNo
WHERE KM=63 AND Date BETWEEN '2013/4/1' AND '2013/4/15'
(二)
SELECT CarNo, Name, Brand, Model, Color, Engine
FROM Car
WHERE Name IN
(
SELECT Name
FROM Car
WHERE Engine > 3200
GROUP BY Name
HAVING COUNT(*) >= 2
)
(三)
SELECT Car.CarNo, Car.Name, Speed
FROM Car JOIN Speeding ON Car.CarNo = Speeding.CarNo
WHERE Speed >= ( SELECT MAX(Speed) FROM Speeding )
(四)
SELECT CarNo
FROM Car
WHERE NOT EXISTS
(
SELECT *
FROM ( SELECT * FROM Speeding GROUP BY Highway ) AS hw
WHERE NOT EXISTS
(
SELECT *
FROM Speeding
WHERE hw.Highway = Speeding.Highway AND
Car.CarNo = Speeding.CarNo
)
)
--
寫完沒正確解答可以對照總覺得不太穩,尤其是第(四)題,麻煩各位了,謝謝!
題目:
https://www.dropbox.com/s/t6utc5q266oxw5r/102_1.jpg

我的答案:
(一)
SELECT Car.CarNo, Car.Name, Car.Brand, Car.Model, Car.Color
FROM Car JOIN Speeding ON Car.CarNo = Speeding.CarNo
WHERE KM=63 AND Date BETWEEN '2013/4/1' AND '2013/4/15'
(二)
SELECT CarNo, Name, Brand, Model, Color, Engine
FROM Car
WHERE Name IN
(
SELECT Name
FROM Car
WHERE Engine > 3200
GROUP BY Name
HAVING COUNT(*) >= 2
)
(三)
SELECT Car.CarNo, Car.Name, Speed
FROM Car JOIN Speeding ON Car.CarNo = Speeding.CarNo
WHERE Speed >= ( SELECT MAX(Speed) FROM Speeding )
(四)
SELECT CarNo
FROM Car
WHERE NOT EXISTS
(
SELECT *
FROM ( SELECT * FROM Speeding GROUP BY Highway ) AS hw
WHERE NOT EXISTS
(
SELECT *
FROM Speeding
WHERE hw.Highway = Speeding.Highway AND
Car.CarNo = Speeding.CarNo
)
)
--
All Comments