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

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


5
SQL Serverでは、いつGOを使用し、いつセミコロンを使用する必要がありますか?
コマンドの後にGOキーワードを使用する必要がある場合、およびコマンドの最後にセミコロンが必要かどうかについて、私は常に混乱していました。違いは何ですか?なぜ/いつ使用する必要がありますか? SQL Server Management Studioで生成スクリプトを実行すると、セミコロンではなく、どこでもGOが使用されているようです。
100 sql  sql-server 

5
SQL NVARCHARおよびVARCHARの制限
すべて、私には大きな(避けられない)動的SQLクエリがあります。選択基準のフィールド数が原因で、動的SQLを含む文字列は4000文字を超えています。今、私は4000の最大セットがあることを理解していNVARCHAR(MAX)ますが、ステートメントのサーバープロファイラーで実行されたSQLを見て DELARE @SQL NVARCHAR(MAX); SET @SQL = 'SomeMassiveString > 4000 chars...'; EXEC(@SQL); GO 動作しているようです(!?)。これもまた大きい別のクエリの場合、この4000制限(!?)に関連付けられているエラーがスローされます。基本的に、この4000制限の後のすべてのSQLがトリムされ、構文エラーが残ります。プロファイラーにはこれがありますが、この動的SQLクエリは完全に表示されています(!?)。 ここで正確に何が起こっているのですか、この@SQL変数をVARCHARに変換して続行するだけですか? 御時間ありがとうございます。 PS また、これらの大きなクエリを表示するために4000文字以上を出力できると便利です。以下は4000に制限されています SELECT CONVERT(XML, @SQL); PRINT(@SQL); 他にクールな方法はありますか?

4
SQL Server 2000データベースで開いているトランザクションを一覧表示する方法はありますか?
SQL Server 2000データベースで開いているトランザクションを一覧表示する方法を知っている人はいますか? sys.dm_tran_session_transactionsSQL 2005以降のデータベースバージョンのビューをクエリできることは承知していますが、SQL 2000では使用できません。


7
すべてのテキストベースのフィールドに汎用のvarchar(255)を使用することには欠点がありますか?
私が持っているcontactsようなフィールドを含むテーブルをpostcode、first name、last name、town、country、phone numberなど、のように定義されているすべてのそれらのVARCHAR(255)も、これらの分野のどれもが今までに近い255個の文字を有することに来ないだろうけれども。(不思議に思っているのは、Ruby on RailsのマイグレーションVARCHAR(255)がデフォルトでStringフィールドをマッピングし、私がそれをオーバーライドすることを決してしなかったからです)。 VARCHARのみ(フィールド長と共に)フィールドの実際の文字の数を格納するため、たとえば、使用する任意の明確な利点(性能又はその他)があるVARCHAR(16)上にVARCHAR(255)? さらに、これらのフィールドのほとんどにはインデックスがあります。フィールドのVARCHARサイズが大きくなると、インデックスのサイズやパフォーマンスに影響がありますか? 参考までに、MySQL 5を使用しています。
100 mysql  sql 

5
Django in / not query
私はdjangoで「not in」スタイルのクエリを作成する方法を理解しようとしています。たとえば、私が考えているクエリ構造は次のようになります。 select table1.* from table1 where table1.id not in ( select table2.key_to_table1 from table2 where table2.id = some_parm ) djangoの構文は、table1とtable2と呼ばれるモデルを想定してどのように見えますか?
100 sql  django 

7
MySQLで空のフィールドを確認する
私は、特定の基準でユーザーをチェックするクエリを作成しました。 私たちのサイトでは、ユーザーがメールアドレスを持っていても持っていなくてもかまいません。 $aUsers=$this->readToArray(' SELECT `userID` FROM `users` WHERE `userID` IN(SELECT `userID` FROM `users_indvSettings` WHERE `indvSettingID`=5 AND `optionID`='.$time.') AND `email`!="" '); これは、SQLで空のフィールドを確認する最良の方法ですか?私は「IS NOT NULL」を試したところ、メールアドレスがなくてもユーザーレコードが返されました。 上記のクエリは機能しますが、好奇心から、私はそれを正しい方法で行っているのかと思いました。
100 php  sql  mysql  null 

19
2つの日付間の日付範囲からデータを選択します
名前付きのテーブルがあり、Product_Salesこのようなデータを保持しています Product_ID | Sold_by | Qty | From_date | To_date -----------+---------+-----+------------+----------- 3 | 12 | 7 | 2013-01-05 | 2013-01-07 6 | 22 | 14 | 2013-01-06 | 2013-01-10 8 | 11 | 9 | 2013-02-05 | 2013-02-11 次に、日付範囲から2つの日付の間の売上データを選択する場合のクエリは何ですか? たとえば、から2013-01-03までの販売データを選択するとします2013-01-09。
100 sql  date  range 

6
1つのステートメントでJavaで実行される複数のクエリ
こんにちは私は、JDBCを使用してこのような何かを実行することは可能ですか? "SELECT FROM * TABLE;INSERT INTO TABLE;" SQLクエリ文字列を分割してステートメントを2回実行することで可能であることに気づいていますが、これには1回限りのアプローチがあるのではないかと思っていました。 String url = "jdbc:mysql://localhost:3306/"; String dbName = "databaseinjection"; String driver = "com.mysql.jdbc.Driver"; String sqlUsername = "root"; String sqlPassword = "abc"; Class.forName(driver).newInstance(); connection = DriverManager.getConnection(url+dbName, sqlUsername, sqlPassword);
100 java  mysql  sql  jdbc 

3
SQLite-異なるデータベースのテーブルをどのように結合しますか?
SQLiteデータベースを使用するアプリケーションがあり、すべてが正常に機能します。現在、2番目のSQLiteデータベースを必要とする新しい機能を追加しているところですが、さまざまなデータベースのテーブルを結合する方法を理解するのに苦労しています。 誰かがこれを手伝ってくれるなら、私は本当に感謝しています! 編集:承認された回答で述べられているように、データベースを接続するときに自分の言語に適応できるケースの例については、この質問を参照してください。
100 sql  database  sqlite  join 

5
再帰的な自己結合を行う最も簡単な方法は?
SQL Serverで再帰的な自己結合を行う最も簡単な方法は何ですか?私はこのようなテーブルを持っています: PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 4 SW 2 5 YT NULL 6 IS 5 また、特定の人から始まる階層にのみ関連するレコードを取得できるようにしたいと考えています。したがって、PersonID = 1でCJの階層を要求した場合、次のようになります。 PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 4 SW 2 そしてEBのために私は得るでしょう: PersonID | Initials | …

16
行末の「^ M」文字
UNIX環境で特定のSQLスクリプトを実行すると、SQLスクリプトの各行の最後に「^ M」文字が表示され、コマンドラインにエコーされます。SQLスクリプトが最初に作成されたOSがわかりません。 何が原因で、どうすれば修正できますか?

5
MIN / MAXとORDER BYおよびLIMIT
次のクエリのうち、どちらの方法が適切だと思いますか?あなたの理由は何ですか(コード効率、保守性の向上、WTFeryの削減)... SELECT MIN(`field`) FROM `tbl`; SELECT `field` FROM `tbl` ORDER BY `field` LIMIT 1;
99 sql  mysql 

1
postgresqlで変数の値を出力する
postgresql関数があります CREATE OR REPLACE FUNCTION fixMissingFiles() RETURNS VOID AS $$ DECLARE deletedContactId integer; BEGIN SELECT INTO deletedContactId contact_id FROM myContacts WHERE id=206351; -- print the value of deletedContactId variable to the console END; $$ LANGUAGE plpgsql; deletedContactIdの値をコンソールに出力するにはどうすればよいですか?
99 sql  postgresql 

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