有多少人和我一樣,認為SQL語句有設計缺陷?

時間 2021-05-12 05:35:23

1樓:rand name

缺點確實有那麼一些。

應該有個EXCLUDE關鍵字,用來排除掉不需要的字段。比如一張表有a1,a2,...,a100的字段,查詢時只有a1,a2,a73不需要,那就得select a3,a4,...

,a72,a74,...,a100 from a。如果有EXCLUDE關鍵字,直接可以select * exclude a1,a2,a73 from a.

應該有個PRECISE UNION功能, UNION時自動匹配對應字段。SQL把UNION設計成不會自動匹配字段可能是有特定的考量,但是應該給乙個自動匹配的選項,否則拼合兩張字段順序不一樣的表時,就必須通過在SELECT裡手動指定順序的方法來保證兩邊的字段順序一致。

應該有個CRUDE JOIN功能,也就是沒有任何匹配條件,直接把兩張表的字段拼在一起。select a.*,b.

*雖然可以,但如果b中存在依賴於a的字段(比如對a的某個字段進行分組求和)就容易出問題。

where a.a1=b.b1這種做法只能使用在a.

a1 is not null and b.b1 is not null的情況,否則就不會返回資料。但無法決定遇到null時的具體處理方式,比如a1是null但b1不是null,b1不是null但a1是null時分別怎麼處理。

在不能保證每個a.a1都有對應b.b1(或反過來)的情況下,就有可能造成資料錯漏或者重複。

其實SQL應該具有乙個反射機制,通過乙個簡短的函式或關鍵字就能查出任意集合的全部字段,而不需要通過查詢information_schema.columns之類的方式。

2樓:因特理臻

SQL語句有缺陷?關聯式資料庫需要指令碼語言來操作就是sql。sql有注入漏洞,可能算缺陷,但是應該可以通過改進資料庫管理軟體來避免。

至於說難用不好用,其實那是你還沒掌握它的用法。其實python也很難用,也有缺陷吧,但是不妨礙他在人工智慧大行其道,至少沒有替代語言出來前他就是這樣。有 sql替代語言?

linq可以說是另類sql,你可以嘗試。

有多少人和我一樣喜歡魏無羨

枯棠 喜歡!超喜歡!喜歡他身上無憂無慮的少年氣息,肆意大笑,不被拘束,自由自在。喜歡他平時調皮又可愛,到了辦正事的時候認真的一絲不苟。他天賦異鼎,修為很高,射箭也十分厲害,思維敏捷,也會察言觀色。他還頗有些意氣風發的少年該有的好勝之心 他敢作敢當,護著疼他愛他的師姐。他知恩圖報,江叔叔收養了他,他把...

有多少人和我一樣,經過薛之謙全網黑事件後退微博的?

yarimasune 不是每個人都像你家謙謙那麼黑,不是每個人都做得出你家謙謙那些事 再一次重申,你不要再黑我家謙謙了!我家謙謙是世界上最好的人,我永遠支援你,劉謙 啊嗷 這麼說吧,因為相似經歷的緣故,我也算是個徹頭徹尾的薛黑。然而圍脖因為方便的緣故沒有取消關注x。然後今天 無藥可救對不對?薛黑的素...

有多少人和我一樣經常夢到四維空間?

CollinGao 我還真夢到過,就是我用了某種無法理解的方式朝第四個方向平移了一下,不知道離 主世界 多遠 我感覺周圍一片漆黑,什麼都沒有,就像乙個紙片人脫離畫面後發現周圍只有空間一樣。我嚇得 往回走 試了好幾次才回來。 葉赫那拉 不知道是不是四維空間但我有時候躺在床上就跟你有一樣的感覺是睡覺前。...