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

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

14
SQL WHERE句の短絡は評価されますか?
SQL WHERE句のブール式は短絡評価され ますか? 例えば: SELECT * FROM Table t WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key) 場合@keyがNULL IS TRUEと評価、さ@keyがNULLでなく、@key = t.Key評価済み? いいえの場合、なぜですか? はいの場合、保証されますか?ANSI SQLの一部ですか、それともデータベース固有ですか? データベース固有の場合、SqlServer?Oracle?MySQL?

4
NuoDBを使用してRuby On RailsでSQLコマンドを手動で実行する方法
NuoDBのプロシージャにアクセスできるように、SQLコマンドを手動で実行しようとしています。 Ruby on Railsを使用しており、次のコマンドを使用しています。 ActiveRecord::Base.connection.execute("SQL query") 「SQLクエリ」は、任意のSQLコマンドです。 たとえば、「フィードバック」というテーブルがあり、コマンドを実行すると次のようになります。 ActiveRecord::Base.connection.execute("SELECT `feedbacks`.* FROM `feedbacks`") これは、要求されたすべてのデータを私に送信するのではなく、「真の」応答のみを返します。 これはRailsコンソールの出力です: SQL (0.4ms) SELECT `feedbacks`.* FROM `feedbacks` => true これを使用してNuoDBのストアドプロシージャを呼び出したいのですが、プロシージャを呼び出すと、 "true"応答も返されます。 とにかく、SQLコマンドを実行して、「真の」応答を取得する代わりに、要求されたデータを取得できますか?

4
IDを使用して複数のSQLテーブルを結合するにはどうすればよいですか?
結合したい4つの異なるテーブルがあります。テーブルは、次のような列で構成されています。 TableA - aID | nameA | dID TableB - bID | nameB | cID | aID TableC - cID | nameC | date TableD - dID | nameD テーブルAから始めて、bにはテーブルの主キーがあるため、bを使用してテーブルaとcを結合する方法を理解しました。TableAのTableDも結合できるようにしたい。以下は、最初にテーブルAとBを結合し、次にそれをCに結合するSQLステートメントです。 SELECT TableA.*, TableB.*, TableC.* FROM (TableB INNER JOIN TableA ON TableB.aID= TableA.aID) INNER JOIN TableC ON(TableB.cID= Tablec.cID) WHERE (DATE(TableC.date)=date(now())) Dを含めるために別の結合を追加しようとすると、「TableD」が不明であるというエラーが表示されます。 …
141 mysql  sql  join 

3
Selectステートメントのケース
CASEfrom SELECTを含むSQLステートメントがありますが、正しく理解できません。例を見せてもらえますかCASEケースが条件であり、結果がケースからの。例えば: Select xxx, yyy case : desc case when bbb then 'blackberry'; when sss then 'samsung'; end from (select ???? ..... 結果が表示される場所 name age handphone xxx1 yyy1 blackberry xxx2 yyy2 blackberry
141 sql  sql-server  case 


5
Oracle SQLでの日付の比較
1994年6月20日以降に採用された従業員数を表示しようとしていますが、「JUN」の無効な識別子というエラーが表示されます。助けてください、ありがとう! Select employee_id, count(*) From Employee Where to_char(employee_date_hired, 'DD-MON-YY') > 31-DEC-95;
141 sql  oracle 


9
JASE条件でCASEステートメントを使用できますか?
次の画像は、Microsoft SQL Server 2008 R2のシステムビューの一部です。画像から、sys.partitionsとsys.allocation_unitsの値の関係がに依存していることがわかりますsys.allocation_units.type。したがって、それらを結合するには、次のようなものを書きます。 SELECT * FROM sys.indexes i JOIN sys.partitions p ON i.index_id = p.index_id JOIN sys.allocation_units a ON CASE WHEN a.type IN (1, 3) THEN a.container_id = p.hobt_id WHEN a.type IN (2) THEN a.container_id = p.partition_id END しかし、上のコードは構文エラーを出します。それはCASE声明のせいだと思います。誰かが少し説明するのを手伝ってくれる? エラーメッセージを追加: メッセージ102、レベル15、状態1、行6「=」付近の構文が正しくありません。
141 sql  sql-server  join  case 

18
PDOデータベースクエリをデバッグする方法
PDOに移行する前に、PHPで文字列を連結してSQLクエリを作成しました。データベース構文エラーが発生した場合は、最終的なSQLクエリ文字列をエコーし​​、データベースで自分で試してみて、エラーが修正されるまで微調整してから、コードに戻すことができます。 準備されたPDOステートメントはより速く、より良く、より安全ですが、1つ気になるのは、データベースに送信される最終クエリが表示されないことです。Apacheログまたはカスタムログファイルの構文に関するエラー(catchブロック内のエラーをログに記録)を取得すると、エラーの原因となったクエリが表示されません。 PDOからデータベースに送信された完全なSQLクエリをキャプチャしてファイルに記録する方法はありますか?
140 php  sql  pdo 


7
Java用SQLパーサーライブラリ[終了]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 SQLステートメントを解析するためのオープンソースのJavaライブラリはありますか? 可能であれば、ベンダー固有の構文(Oracleテーブルスペース定義やMySQLのLIMIT句など)も解析(または少なくとも無視)できるように、カスタマイズ可能または柔軟である必要があります。 そうでない場合は、SQL標準に厳密に従うことも問題ありません。 更新:これは2つのことのために必要です: 非SQLデータベースへのSQLインターフェースの提供(内部API呼び出しへのマッピング) 実際のデータベース(Oracleなど)に移行する前にSQLを書き直す
140 java  sql  parsing 

10
C#を使用して.SQLスクリプトファイルを実行する方法
この質問にはすでに回答されていると思いますが、検索ツールを使用して回答を見つけることができませんでした。 c#を使用して.sqlファイルを実行したい。sqlファイルには複数のsqlステートメントが含まれており、その一部は複数の行に分かれています。私はファイルを読み取ってODP.NETを使用してファイルを実行しようとしましたが、ExecuteNonQueryは実際にこれを行うように設計されているとは思いません。 したがって、プロセスの生成を介してsqlplusを使用しようとしましたが、UseShellExecuteをtrueに設定してプロセスを生成しない限り、sqlplusはハングして終了しません。動作しないコードは次のとおりです。 Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "sqlplus"; p.StartInfo.Arguments = string.Format("xx/xx@{0} @{1}", in_database, s); p.StartInfo.CreateNoWindow = true; bool started = p.Start(); p.WaitForExit(); WaitForExitは決して戻りません.... UseShellExecuteをtrueに設定しない限り。UseShellExecuteの副作用は、リダイレクトされた出力をキャプチャできないことです。
140 c#  sql  oracle  scripting 

5
今日の日付から2か月を引いたSQLクエリ
エントリの日付が2か月以上古いテーブルのすべてのレコードを選択したい。 どうすればそれを行うことができますか? 私はまだ何も試していませんが、私はこの点にいます: SELECT COUNT(1) FROM FB WHERE Dte > GETDATE()
140 sql  sql-server 

10
グループ化された結果の各グループの上位nレコードを取得する
次の例は最も単純な例ですが、どのようなソリューションでもn個の上位結果が必要な場合にスケーリングできるはずです。 以下のようなテーブルにperson、group、ageの列がある場合、各グループで最も年長の2人をどのように取得しますか?(グループ内のタイはより多くの結果をもたらすべきではありませんが、アルファベット順で最初の2つを与えます) + -------- + ------- + ----- + | 人| グループ| 年齢| + -------- + ------- + ----- + | ボブ| 1 | 32 | | ジル| 1 | 34 | | ショーン| 1 | 42 | | ジェイク| 2 | 29 | | ポール| 2 | 36 | …

3
Postgresの2つのフィールドのMIN()を取得するにはどうすればよいですか?
次のようなテーブルがあるとします。 name | score_a | score_b -----+---------+-------- Joe | 100 | 24 Sam | 96 | 438 Bob | 76 | 101 ... | ... | ... score_aとscore_bの最小値を選択します。つまり、次のようなものです。 SELECT name, MIN(score_a, score_b) FROM table もちろん、結果は次のようになります。 name | min -----+----- Joe | 24 Sam | 96 Bob | 76 ... | …
140 sql  postgresql  min 

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