better query view initial state (#10431)

diff --git a/web-console/src/views/query-view/query-view.scss b/web-console/src/views/query-view/query-view.scss
index f1e2774..d5e6a77 100644
--- a/web-console/src/views/query-view/query-view.scss
+++ b/web-console/src/views/query-view/query-view.scss
@@ -99,6 +99,17 @@
         width: 100%;
         height: 100%;
       }
+
+      .init-state {
+        background: #232d35;
+        text-align: center;
+
+        p {
+          position: relative;
+          top: 38%;
+          font-size: 14px;
+        }
+      }
     }
   }
 
diff --git a/web-console/src/views/query-view/query-view.tsx b/web-console/src/views/query-view/query-view.tsx
index 0e8b489..3effd4e 100644
--- a/web-console/src/views/query-view/query-view.tsx
+++ b/web-console/src/views/query-view/query-view.tsx
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-import { Intent, Switch, Tooltip } from '@blueprintjs/core';
+import { Code, Intent, Switch, Tooltip } from '@blueprintjs/core';
 import axios from 'axios';
 import classNames from 'classnames';
 import { QueryResult, QueryRunner, SqlQuery } from 'druid-query-toolkit';
@@ -295,9 +295,11 @@
   }
 
   componentDidMount(): void {
+    const { liveQueryMode, queryString } = this.state;
+
     this.metadataQueryManager.runQuery(null);
 
-    if (this.state.liveQueryMode !== 'off') {
+    if (liveQueryMode !== 'off' && queryString) {
       this.handleRun();
     }
   }
@@ -522,6 +524,13 @@
               }}
             />
           )}
+          {queryResultState.isInit() && (
+            <div className="init-state">
+              <p>
+                Enter a query and click <Code>Run</Code>
+              </p>
+            </div>
+          )}
         </div>
       </SplitterLayout>
     );