亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么SQLANSI-92標準沒有比ANSI-89更好地采用呢?

為什么SQLANSI-92標準沒有比ANSI-89更好地采用呢?

料青山看我應如是 2019-07-05 15:19:30
為什么SQLANSI-92標準沒有比ANSI-89更好地采用呢?在我工作過的每一家公司,我都發現人們仍然在用ANSI-89標準編寫SQL查詢:select a.id, b.id, b.address_1from person a, address bwhere a.id = b.id而不是ANSI-92標準:select a.id, b.id, b.address_1from person ainner join address bon a.id = b.id對于這樣一個非常簡單的查詢,可讀性沒有太大的差別,但是對于大型查詢,我發現將我的聯接條件分組并列出表會使我們更容易發現JOIN中可能出現的問題,讓我們在WHERE子句中保留所有篩選。更不用說,我覺得外部聯接比Oracle中的(+)語法直觀得多。當我試圖向人們傳教ANSI-92時,使用ANSI-92比ANSI-89有什么具體的性能效益嗎?我會自己嘗試,但是我們這里的Oracle設置不允許我們使用解釋計劃-不希望人們試圖優化他們的代碼,對嗎?
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

我想到了幾個理由:

  • 人們這樣做是出于習慣
  • 人們比較懶惰,喜歡使用“舊風格”連接,因為它們只需要較少的輸入。
  • 初學者常常在sql-92聯接語法方面遇到問題。
  • 人們不會僅僅因為有新語法而改用新語法
  • 人們不知道新語法(如果您想稱它為)所具有的好處,主要是它使您能夠篩選表。

    以前

    你做一個外部連接,而不是在它之后,當你只有WHERE子句時。

就我而言,我使用SQL-92語法進行所有的聯接,并在可能的情況下轉換代碼。這是一種更干凈、更易讀、更強大的方法。但是很難說服某人使用這種新樣式,因為他們認為這樣做會在不改變查詢結果的同時增加輸入工作量。


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 1062 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號