問題タブ [ansi-sql]

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.

0 投票する
12 に答える
8557 参照

sql - ANSI または ISO SQL 標準を完全にサポートするデータベースがないのはなぜですか?

もし私が石油精製所を設計していたとしたら、さまざまなベンダーの材料が微妙ではあるが重要な点で公表された基準に準拠していないとは思いません。あるサプライヤの配管、バルブ、およびその他のコンポーネントは、他のサプライヤの同じ部品と同様に、ANSI 規格に準拠したフランジと肉厚で提供されます。したがって、相互運用性とシステムの安全性が保証されます。

では、なぜ一般的なデータベースは、標準のどの部分に準拠するかについて非常に慎重であり、標準に 100% 準拠したシステムが前面に出ていないのはなぜでしょうか? 標準は「壊れている」か、範囲が不足しているか、設計が難しすぎるか?

これを結論として。SQL の標準を定義する ANSI (または ISO) のポイントは何ですか?

編集:一般的なデータベース間の実装の違いのリスト

0 投票する
6 に答える
27898 参照

mysql - MySQL が集計関数なしで「グループ化」クエリを許可するのはなぜですか?

驚き -- これは MySQL で完全に有効なクエリです。

Oracle または SQL Server でこのクエリを実行すると、自然なエラー メッセージが表示されます。

では、MySQL は各 X に対してどの Y を表示するかをどのように決定するのでしょうか? 1 つを選択するだけです。私が知る限り、最初に見つかった Y を選択するだけです。Y が集計関数でも group by 句でもない場合、クエリで「select Y」を指定しても、そもそも意味がありません。したがって、データベース エンジンとしての I は、必要なものを何でも返します。

この「緩み」をオフにする MySQL 構成パラメーターもあります。 http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by

この記事では、この点に関して、MySQL が ANSI-SQL に準拠していないと批判されていることについても触れています。 http://www.oreillynet.com/databases/blog/2007/05/debunking_group_by_myths.html

私の質問は: なぜMySQL はこのように設計されたのですか? ANSI-SQL を破る理由は何でしたか?

0 投票する
2 に答える
3581 参照

sql - データベース テーブル内のネストされたデータ

次の方法で関連付けられているレコードを含むテーブルがあります。

親、子、孫。

クエリを実行して次のことを実行できるようにしたいと考えています。

  1. 特定のレコードの子孫であるすべてのレコードを取得する
  2. 特定のレコードの直接の子であるすべてのレコードを取得します (つまり、直接の子のみ)
  3. 特定のレコードの孫であるすべてのレコードを取得する (つまり、孫のみ)
  4. レコードの祖父母を取得する
  5. レコードの親を取得する
  6. すべてのレコード (およびその子と孫) を取得します

このクエリがソートされた方法でデータを返すようにしたいので、構造化ドキュメント (クエリ結果からの XML など) を作成できます。「ソート」とは、結果セットが親 THEN 子、THEN 孫によって「グループ化」されていることを意味します

このような単純なテーブルを設計しました (PSEUDO CODE):

いくつか質問があります:

  1. (私が実行したいクエリ [(1)-(6)] を念頭に置いて) これが最善 (つまり、使用できる最も効率的なテーブル構造ですか?) です。いいえの場合、何ですか?

  2. 上記の (1) ~ (6) のクエリを実行するための ANSI SQL ステートメントの作成を手伝ってくれる人はいますか?

0 投票する
1 に答える
13191 参照

sql - AnsiSQL型キャスト

たとえば、postgresのようにANSISQLで型をキャストすることは許可されていますか?

qntyreserveは文字列です。

0 投票する
1 に答える
334 参照

sql - Sql Server Management Studio - Programmatically Creating Scripts based on DAL; Why use SET ANSI_NULLS ON before each table

I'm looking to generate the SQL scripts for table creation programmatically based on class definitions in my DAL similar to SQL Server Management Studio.

So, when I right click on a table in MS SMS, and tell it to script table as > Create to > new query window, it generates some very understandable code. However, I'm not sure why they generate a few of the following lines:

  • SET ANSI_NULLS ON
  • SET QUOTED_IDENTIFIER ON
  • SET ANSI_PADDING ON
    • {TABLE DEF GOES HERE}
  • SET ANSI_PADDING OFF

I have looked these statements in the product documentation, and understand what they are for, but am not sure why they are generated around each table declaration.

0 投票する
2 に答える
5309 参照

sql - CONNECT BY の標準的な代替?

いくつかの Oracle SQL クエリを変換して、(理論的には) 任意の SQL データベースで動作するようにしようとしています。一部のクエリは本質的に階層的であり、CONNECT BY を使用して記述されています。

Oracle の START WITH...CONNECT BY 構文に代わる標準的な SQL はありますか? または、階層クエリを変換するために従うべき推奨プロセスはありますか?

0 投票する
10 に答える
43021 参照

sql - ANSISQLマニュアル

誰かが優れたANSISQLリファレンスマニュアルを推奨できますか?

チュートリアルを意味する必要はありませんが、基本的またはより詳細な説明や例が必要な場合に検索するための適切なリファレンスドキュメントです。

現在、私はW3Schools SQLチュートリアルSQLチュートリアルを使用していますが、これらは「深い」とは言えません。

もちろん、各主要なRDBMSプロデューサーは、独自の製品を対象としたある種のリファレンスマニュアルを持っていますが、それらは偏っている傾向があり、時には独自の拡張機能を使用します。

編集:質問の目的は、データベースエンジンに共通するもの、つまりSQLルートに焦点を当てることでした。しかし、違いを理解することも前向きなことです。これは非常に興味深いことです。

0 投票する
4 に答える
13680 参照

sql - 2つの日付の間の日数-ANSISQL

SQLで2つの日付の間の日数を決定する方法が必要です。

回答はANSISQLである必要があります。

0 投票する
4 に答える
138 参照

ansi-sql - 入札用の SQL クエリの作成

代替テキスト

これに対するクエリを作成するにはどうすればよいですか? 私は SQL でこれだけ複雑なクエリを書く専門家ではありません。ここで入札 3、4 について言及するのを忘れていました。

0 投票する
5 に答える
45846 参照

sql-server - Sql Server と PostgreSQL の両方で `where booleanvalue=false` を実行するには?

Sql Server と PostgreSQL の両方で実行できるアプリケーションを作成しようとしています。

基本的に共通の表現が見つからないようです

SQL Server では、私がしなければならない (ビット型の既定値は true または false でなければならないため、非常に混乱しますが、それらを true または false に割り当てたり、それに対してテストしたりすることはできません)。

PostgreSQLで私がしなければならない

if(dbformat=="postgres")..私たちのプログラムにはこれを行うクエリがかなりたくさんあるので、タイプのがらくたを行う代わりに使用できるユニバーサル構文があればいいのにと思います..

また、列をブール/ビット型のままにして、整数型に変更しないことをお勧めします..それはオプションですが..