タグ付けされた質問 「sql」

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。

6
SQL更新クエリの集計関数ですか?
あるテーブルの値を別のテーブルの値の合計に設定しようとしています。これらの線に沿った何か: UPDATE table1 SET field1 = SUM(table2.field2) FROM table1 INNER JOIN table2 ON table1.field3 = table2.field3 GROUP BY table1.field3 もちろん、このスタンドとして、それは動作しません- SETサポートしていませんSUMし、それがサポートしていませんGROUP BY。 私はこれを知っているべきですが、私の心は空白を描いています。何が悪いのですか?
98 sql  sql-server  tsql 

8
MySQLの「WITH」句
MySQLを使用して "WITH"句でビューを作成しようとしています WITH authorRating(aname, rating) AS SELECT aname, AVG(quantity) FROM book GROUP BY aname しかし、MySQLがこれをサポートしているようには見えません。 これはかなり標準的なものだと思いましたが、Oracleがこれをサポートしていると確信しています。MySQLに強制的に「WITH」節を使用させる方法はありますか?MyISAMとinnoDBエンジンで試してみました。これらはどちらも機能しません。


9
どちらのSQLクエリが高速ですか?結合基準またはWhere句でフィルタリングしますか?
これら2つのクエリを比較します。結合基準またはWHERE句にフィルターを配置する方が高速ですか。可能な限り早い時点で結果セットが減少するため、結合基準の方が高速であると常に感じていましたが、確かではありません。 いくつかのテストを作成して確認しますが、どちらを読んだ方がわかりやすいかについても意見を聞きたかったのです。 クエリ1 SELECT * FROM TableA a INNER JOIN TableXRef x ON a.ID = x.TableAID INNER JOIN TableB b ON x.TableBID = b.ID WHERE a.ID = 1 /* <-- Filter here? */ クエリ2 SELECT * FROM TableA a INNER JOIN TableXRef x ON a.ID = x.TableAID AND a.ID = …

4
string_agg()からの結果をソートする方法
テーブルがあります: CREATE TABLE tblproducts ( productid integer, product character varying(20) ) 行で: INSERT INTO tblproducts(productid, product) VALUES (1, 'CANDID POWDER 50 GM'); INSERT INTO tblproducts(productid, product) VALUES (2, 'SINAREST P SYP 100 ML'); INSERT INTO tblproducts(productid, product) VALUES (3, 'ESOZ D 20 MG CAP'); INSERT INTO tblproducts(productid, product) VALUES (4, …



7
円柱状データベースとは何ですか?
私はしばらくの間倉庫で働いています。 Columnar Databasesと、データベースがデータ検索に提供する速度に興味をそそられます。 マルチパートの質問があります: 柱状データベースはどのように機能しますか? それらはリレーショナルデータベースとどう違うのですか?
97 sql  database 

3
左外部結合から返されたデフォルトのnull値を置き換える
左外部結合を使用して3つのテーブルからデータを返すMicrosoft SQL Server 2008クエリがあります。多くの場合、2番目と3番目のテーブルにはデータがないため、左外部結合のデフォルトであると思うnullを取得します。selectステートメントのデフォルト値を置き換える方法はありますか?私はテーブル変数に選択できるという回避策がありますが、少し汚れているように感じます。 SELECT iar.Description, iai.Quantity, iai.Quantity * rpl.RegularPrice as 'Retail', iar.Compliance FROM InventoryAdjustmentReason iar LEFT OUTER JOIN InventoryAdjustmentItem iai on (iar.Id = iai.InventoryAdjustmentReasonId) LEFT OUTER JOIN Item i on (i.Id = iai.ItemId) LEFT OUTER JOIN ReportPriceLookup rpl on (rpl.SkuNumber = i.SkuNo) WHERE iar.StoreUse = 'yes' 可能であれば、QuantityとRegularPriceのデフォルトをゼロに設定します。

24
データベーステーブルのID列の名前付け
データベーステーブルのID列の名前付けに関する人々の意見を知りたくありませんでした。 ID列の主キーを持つInvoicesというテーブルがある場合、他のテーブルと競合しないようにその列をInvoiceIDと呼び、それが何であるかを明らかにします。 私が現在作業している場所では、すべてのID列をIDと呼んでいます。 したがって、彼らは次のことを行います: Select i.ID , il.ID From Invoices i Left Join InvoiceLines il on i.ID = il.InvoiceID 今、私はここにいくつかの問題を参照してください: 1.選択した上で、別名に列を必要とする InvoiceIDは私の脳内に収まらない2. ID = あなたがテーブルに別名なかったとInvoiceID言及した場合3.は、どのようなテーブル、それは明らかですついてる? トピックに関する他の人々の考えは何ですか?


10
postgresql-sql-「true」値の数
myCol ------ true true true false false null 上記の表で、私が行う場合: select count(*), count(myCol); 私は得る 6, 5 5nullエントリをカウントしないので、取得します。 真の値の数もカウントするにはどうすればよいですか(例では3)? (これは単純化であり、実際にはcount関数内ではるかに複雑な式を使用しています) 概要の編集:クエリにプレーンなcount(*)も含めたいので、where句を使用できません
97 sql  postgresql 

8
selectステートメントでインデックスを使用する方法
従業員テーブルemp_nameで、テーブルの列にインデックス(idx_name)を作成したとします。 select句でインデックス名を明示的に指定する必要がありますか、それともクエリを高速化するために自動的に使用されますか? select句で指定する必要がある場合、select queryでインデックスを使用するための構文は何ですか?
97 sql  database  indexing 

1
UNIQUE制約は自動的にフィールドにINDEXを作成しますか?
私は必要があります別のインデックス定義にemail(目的を検索するための)列、または「自動」と一緒に添加される指標であるUNIQ_EMAIL_USER制約は? CREATE TABLE IF NOT EXISTS `customer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `first` varchar(255) NOT NULL, `last` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `UNIQ_SLUG` (`slug`), UNIQUE KEY …
97 mysql  sql  indexing 

6
Oracleによるページング
私はOracleに精通していません。25万件のレコードがあり、ページごとに100件表示したいと考えています。現在、データアダプターとデータセットを使用して、25万レコードすべてをデータセットに取得する1つのストアドプロシージャと、ストアドプロシージャの結果のdataadapter.Fill(dataset)メソッドがあります。パラメータとして渡すことができる整数値として「ページ番号」と「ページごとのレコード数」がある場合、その特定のセクションだけを取得するための最良の方法は何ですか。たとえば、selectステートメントからページ番号として10を渡し、ページ数として120を渡すと、1880番目から1200番目までのようになり、私の頭の中の数学はうまくいかないかもしれません。 私はこれをC#を使用して.NETで行っていますが、それは重要ではないと思いました。SQL側で正しく取得できれば、クールなはずです。 更新:私はブライアンの提案を使用することができました、そしてそれは素晴らしい働きをしています。いくつかの最適化に取り組みたいのですが、ページは1分ではなく4〜5秒で表示され、ページングコントロールは新しいストアドプロシージャと非常にうまく統合できました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.