問題タブ [sql-standards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL 標準をスクリプトに適用する
次のスクリプトがあり、国際標準に準拠するように変更したいと考えています。私は SQL-Server を使用していますが、可能な限り SQL の国際標準に従いたいと考えています。角括弧が標準であるとは思えません。二重引用符に置き換える必要がありますか?
標準ドキュメントのコピーを入手するためにお金を払わなくても、標準で要求されているとおりに書式設定およびレイアウトされたスクリプトの例を提供するリソースがインターネット上にありますか?
編集
古典的な標準ではない私の唯一のわずかな好みは次のとおりです。これは AaronBertrand によって提唱されたもので、特にSELECT
句に 20 または 30 のフィールドがある場合は、より読みやすいことに同意します。
sql - COALESCE または CASE より効率的および/または標準
y と比較した x に関して。
- x は SQL 標準に準拠していますか? 【主観でしたらすみません】
- x は y よりも効率的ですか?
- それとも、これらのスクリプトは完全に異なり、異なるコンテキストで使用されますか?
バツ
y
sql - 1 つのクエリで ID とテーブル全体の最小値を選択する
特定の ID の最小訪問値と、テーブル全体の最小値を見つけたいと考えています。1 つのクエリで。
マイタブ
1回のクエリで実行できますか?
今、私は好きです:
次に、2 番目のクエリを実行します。
私が欲しいのは以下のようなものです(しかし、もっと簡単にすることはできますか?)
ありがとう
sql - 表演算子 APPLY を使用する場合
table operator を理解しようとしていますAPPLY
。
次に例を示します。
私の主なハードルは、いつ使用するかを理解することAPPLY
です。だから、実装された
を使用して上記と同じ結果を得るのがどれほど難しいのだろうかと思いますか? クエリを大幅に短くしたり、読みやすくしたりしますか
?
この例が を使用する大きな利点を示さない場合、使用する利点がある明確な例は何ですか?standard sql
sql-server 2005
APPLY
APPLY
APPLY
mysql - MySQLで行の存在を確認する最良の方法は何ですか?
行を確認する最良の方法を知る必要があります。
列なし; 数字のみ:
列とデータベースを使用 ( users.id )
カラムあり、データベースなし
すべてのフィールドで(明らかに非効率的):
また、「存在する」という文が使われる場合、「限界」という文を使用することをお勧めしますか?
制限付きの例:
無制限の例:
ありがとう!
sql - WHERE 句の論理処理順序または SQL 標準
数日前に SELECT ステートメントの論理処理順序、より具体的にはエイリアスと where 句について尋ねられましたが、1 つの問題についてはわかりません。次のようなクエリがあるとします。
WHERE 句でエイリアスを使用するとエラーが発生する理由は、実際には SELECT ステートメントの論理的な処理順序、または構文解析の問題でしょうか、それとも SQL 標準のルールでしょうか?
sql - 変数/関数/プロシージャ/etc の名前は PL/SQL のパフォーマンスに影響しますか?
私は "Java の世界" から "PL/SQL の世界" にやってきて、"レガシー" ストアド プロシージャを使用しているほぼ初心者ですが、質問があります。Java 命名のベスト プラクティスには、「変数、メソッド、クラスなどの名前は意味があり、自動的に文書化されるべきである」などのヒントが含まれています (Clean Coder の本を読みました)。デフォルトでは、Oracle の識別子の長さは 30 文字ですが、省略された命名は必ずしも「翻訳しやすい」とは限らず、それがアプリのパフォーマンスを考慮して行われているのか、それとも「単なる悪い習慣」なのかはわかりません。
次のようなものを見つけたとします。
そのコードを次のようにリファクタリングすると、何か気を付けなければならないことがありますか?
アプリのパフォーマンスが低下していますか? すべての変数が最後の変数のようになり、30 文字になるとしたら? 関数/プロシージャ/トリガー/その他の名前がパフォーマンスに影響するのはいつですか? これには基準がありますか?
ありがとう!
string - 特定の文字で文字列を分割 SQL-標準
私の SQL ステートメントでは、文字 '_' の文字列から部分文字列を抽出する必要があります。文字列は、たとえば 'A_XXX' 'AB_XXX' 'ABC_XXXX' である可能性があるため、抽出された部分文字列は 'A' 'AB' 'ABC' のようになります。
Oracle では、これは substr() および instr() 関数を使用して簡単に行うことができます。
結果は次のようになります。
特定の部分文字列が文字列の配列に含まれているかどうかを確認するには、このクエリが必要です。
クエリ全体は次のようになります。
SQL-Standardでそれを書く方法はありますか?
よろしくお願いします。
編集:
PostgreSQL が代替機能を提供している場合、それも役立ちます。残りは、たとえばINで解決できます。本当に重要な部分は、部分文字列を取得することです。