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

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

7
文字列CONCATが追加されたフィールドのSQL UPDATEすべての値が機能しない
これが私がやりたいことです: 現在のテーブル: +----+-------------+ | id | data | +----+-------------+ | 1 | max | | 2 | linda | | 3 | sam | | 4 | henry | +----+-------------+ ミステリークエリ(のようなもの"UPDATE table SET data = CONCAT(data, 'a')") 結果のテーブル: +----+-------------+ | id | data | +----+-------------+ | 1 | maxa | …

14
サブクエリと結合
次のようなサブクエリの代わりに内部結合を使用するために、別の会社から継承したアプリケーションの遅いセクションをリファクタリングしました。 WHERE id IN (SELECT id FROM ...) リファクタリングされたクエリは、約100倍速く実行されます。(〜50秒から〜0.3)改善が期待されていましたが、それがそれほど劇的だった理由を誰かが説明できますか?where句で使用される列にはすべてインデックスが付けられました。SQLはクエリをwhere句で行ごとに1回実行しますか? 更新 -結果の説明: 違いは「where id in()」クエリの2番目の部分にあります- 2 DEPENDENT SUBQUERY submission_tags ref st_tag_id st_tag_id 4 const 2966 Using where vs結合された1つのインデックス付き行: SIMPLE s eq_ref PRIMARY PRIMARY 4 newsladder_production.st.submission_id 1 Using index


9
SQL Serverデータベースのサイズを選択します
SQLサーバーにクエリを実行してデータベースのサイズのみを取得するにはどうすればよいですか? 私はこれを使いました: use "MY_DB" exec sp_spaceused 私はこれを得た : database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB それは私が必要としないいくつかの列を私に返します、おそらくこのストアドプロシージャからdatabase_size列を選択するトリックがありますか? 私もこのコードを試しました: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' それは私にこの結果を与えます: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613 MY_DB MY_DB_log …



2
DELETEステートメントでエイリアスを使用できないのはなぜですか?
Visual Studio 2010のSQL Server Compact Edition(多分SQL ServerとSQLは一般的に知りません)では、次のコマンドが機能します。 DELETE FROM foods WHERE (name IN ('chickens', 'rabbits')) しかし、このコマンドは次のエラーを生成します: Error near identifier f. Expecting OUTPUT. DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))


3
PostgreSQLの列名では大文字と小文字が区別されますか?
persons列名が言う別のチームから受け継がれたPostgresで、私はdbテーブルを言っています"first_Name"。現在、PGコマンダーを使用して、このcolumn-nameでこのテーブルをクエリしようとしています。 select * from persons where first_Name="xyz"; そしてそれはただ戻る エラー:列「first_Name」は存在しません 私がばかげたことをしているのか、この問題の回避策がないのかわかりませんか?



30
MySQL:テーブルを作成できません(エラー番号:150)
.sqlファイルをインポートしようとしていますが、テーブルの作成に失敗します。 失敗したクエリは次のとおりです。 CREATE TABLE `data` ( `id` int(10) unsigned NOT NULL, `name` varchar(100) NOT NULL, `value` varchar(15) NOT NULL, UNIQUE KEY `id` (`id`,`name`), CONSTRAINT `data_ibfk_1` FOREIGN KEY (`id`) REFERENCES `keywords` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 同じデータベースから.sqlをエクスポートしました。すべてのテーブルを削除しましたが、インポートしようとしましたが、なぜ失敗しますか? MySQL:テーブル './dbname/data.frm'を作成できません(errno:150)

5
Oracleシーケンスの現在の値をインクリメントせずに取得する方法は?
増分しないシーケンスの値を取得するSQL命令はありますか? ありがとう。 編集と結論 Justin Caveが述べたように、シーケンス番号を「保存」しようとしても役に立たないので select a_seq.nextval from dual; シーケンス値をチェックするには十分です。 それが最初の質問に答えたので、私はまだオリーの答えを良いものとして保ちます。ただし、シーケンスを変更する必要がある場合は、変更しないことの必要性について自問してください。
156 sql  oracle  sequence 

2
SQL ON DELETE CASCADE、削除はどのように行われますか?
次のように、データベースに2つの関係がある場合: CREATE TABLE Courses ( CourseID int NOT NULL PRIMARY KEY, Course VARCHAR(63) NOT NULL UNIQUE, Code CHAR(4) NOT NULL UNIQUE ); CREATE TABLE BookCourses ( EntryID int NOT NULL PRIMARY KEY, BookID int NOT NULL, Course CHAR(4) NOT NULL, CourseNum CHAR(3) NOT NULL, CourseSec CHAR(1) NOT NULL ); そして、私はこのように2つの間に外部キー関係を確立します: …

7
postgresqlで月と年でクエリ結果をグループ化する
Postgresサーバーに次のデータベーステーブルがあります。 id date Product Sales 1245 01/04/2013 Toys 1000 1245 01/04/2013 Toys 2000 1231 01/02/2013 Bicycle 50000 456461 01/01/2014 Bananas 4546 私は与えクエリを作成したいSUMのSales月と年次のようにすることにより、カラムとグループの結果を: Apr 2013 3000 Toys Feb 2013 50000 Bicycle Jan 2014 4546 Bananas それを行う簡単な方法はありますか?
156 sql  postgresql 

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