2017-08-18 90 views
-1

我有一個1000行的複雜查詢,我想要修改。它非常難以理解查詢。因此,是否有任何工具或SQL命令來分割SQL查詢在查詢中涉及的表上。將複雜查詢拆分爲單個查詢以提高可讀性

例如:涉及兩個表的查詢被分成單個的表2次的查詢:

SELECT 
    t1.c1, 
    t2.c1,t2,c2 
FROM table1 t1 
JOIN table2 t2; 

進入

1) SELECT 
     t1.c1 
    FROM table1 t1; 

    2) SELECT 
     t2.c1, 
     t2.c2 
    FROM table2 t2; 

同樣我已經75代表在單個查詢中連接在一起,這需要分成75條單行選擇語句。

+0

像這樣的簡單連接並不是一個複雜的查詢,很少能在兩個中斷一個查詢,並且它意味着同樣的事情。首先,在你的例子中,如果table1和table2分別有5行和10行,第一個查詢將產生50個結果;後兩者將分別得到5和10個結果。 – Uueerdo

+0

我喜歡複雜的查詢。人們害怕,不會碰他們。 –

+0

爲什麼你想拆分查詢?只是爲了可讀性? –

回答

1

SQL SERVER:嘗試使用CTE表達式WITH子句或爲每個表或您認爲合適的表創建VIEW。這是如此,請記住,您應該獲得與原始查詢相同的輸出。

+0

但他使用的是MySQL嗎? @amit – Noob

+0

是的,我後來看到了這個標籤。 – Amit