簡體   English   中英

SQL Fiddle和Oracle NOVA之間的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM