[英]Difference Between SQL Fiddle and Oracle NOVA
我有以下表格:
CREATE TABLE CUSTOMERS
(customerID INT PRIMARY KEY,
customerFullName VARCHAR(20) NOT NULL);
CREATE TABLE VEHICLES
(vehicleVIN VARCHAR(25) PRIMARY KEY,
vehicleMake VARCHAR(15) NOT NULL);
CREATE TABLE SALES
(saleID INT PRIMARY KEY,
customerID INT,
vehicleVIN VARCHAR(25));
CONSTRAINT SALES_FK1 FOREIGN KEY (customerID) REFERENCES CUSTOMERS(customerID),
CONSTRAINT SALES_FK2 FOREIGN KEY (vehicleVIN) REFERENCES VEHICLES(vehicleVIN));
並構建了以下查詢以運行這些表:
SELECT VEHICLES.vehicleMake, CUSTOMERS.customerFullName
FROM SALES
JOIN CUSTOMERS on SALES.customerID = CUSTOMERS.customerID
JOIN(
SELECT SALES.vehicleVIN, VEHICLES.vehicleMake
FROM SALES
JOIN VEHICLES ON SALES.vehicleVIN = VEHICLES.vehicleVIN
GROUP BY SALES.vehicleVIN, VEHICLES.vehicleMake
HAVING COUNT(SALES.vehicleVIN) >= ALL
(SELECT COUNT(SALES.vehicleVIN)
FROM SALES
INNER JOIN VEHICLES ON SALES.vehicleVIN=VEHICLES.vehicleVIN
GROUP BY VEHICLES.vehicleMake))
VEHICLES ON SALES.vehicleVIN = VEHICLES.vehicleVIN
ORDER BY CUSTOMERS.customerFullName;
當我在SQL Fiddle中運行此代碼時,它會完美執行並提供正確的輸出(一列顯示購買量最多的vehicleMake,另一列顯示購買該載具的每個人的customerFullName)。
當我在NOVA(Oracle)中運行它時,它只是說“未選擇行”兩者在語法上有區別嗎? 我需要更改代碼嗎? 謝謝!
回答自己。 我在SQL Fiddle和NOVA之間的插入語句中拉出數據時,存在微小差異。 問題是我的錯,從我現在可以看出,一切都在按預期進行。
我在SQL小提琴中的insert語句正在重新使用一些vehicleVIN編號,這有助於我編寫的查詢成功,但是該查詢對於我要完成的工作是不正確的。 提出了另一個問題來討論該特定問題。
底線:我不認為它們是NOVA DB語法和SQL Fiddle語法之間的主要區別。 一切都很好!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.