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

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


4
MySQLテーブルの列を移動する方法は?
現在、私は次のMySQLテーブルを持っています。 Employees (empID, empName, department); テーブルを次のように変更します。 Employees (empID, department, empName); これはALTERステートメントを使用してどのように実行できますか? 注:列の位置のみを変更します。
207 mysql  sql  alter 


22
SQL選択結合:すべての列の前に 'prefix。*'を付けることはできますか?
これはSQLで可能かどうか疑問に思っています。2つのテーブルAとBがあり、テーブルAで選択を行い、テーブルBで結合するとします。 SELECT a.*, b.* FROM TABLE_A a JOIN TABLE_B b USING (some_id); テーブルAに列「a_id」、「name」、および「some_id」があり、テーブルBに「b_id」、「name」、および「some_id」がある場合、クエリは列「a_id」、「name」、「some_id」を返します'、' b_id '、' name '、' some_id '。すべての列を個別にリストせずにテーブルBの列名にプレフィックスを付ける方法はありますか?これに相当するもの: SELECT a.*, b.b_id as 'b.b_id', b.name as 'b.name', b.some_id as 'b.some_id' FROM TABLE_A a JOIN TABLE_B b USING (some_id); しかし、前述のように、すべての列をリストしないため、次のようになります。 SELECT a.*, b.* as 'b.*' FROM TABLE_A a JOIN TABLE_B b …
206 sql  join 

7
クエリによって返された行ごとにストアドプロシージャを1回実行するにはどうすればよいですか?
ユーザーデータを特定の方法で変更するストアドプロシージャがあります。user_idを渡します。テーブルでクエリを実行したいのですが、user_idごとに、そのuser_idでストアドプロシージャを1回実行します。 これに対するクエリをどのように記述しますか?

4
DB上のユーザーにすべての権限を与える
管理者にすることなく、データベースに対するすべての権限をユーザーに付与したいと思います。その理由は、現時点ではDEVとPRODが同じクラスター上の異なるDBであるため、ユーザーが本番オブジェクトを変更できないようにしたいが、DEV上のオブジェクトを変更できる必要があるためです。 私は試した: grant ALL on database MY_DB to group MY_GROUP; しかしそれは許可を与えていないようです。 それから私は試しました: grant all privileges on schema MY_SCHEMA to group MY_GROUP; そして、それは私にオブジェクトを作成する許可を与えているようですが、他のユーザーに属するそのスキーマのオブジェクトをクエリ/削除する許可はありません MY_SCHEMAのユーザーにUSAGE権限を付与することで続行できますが、テーブルに対する権限がないと文句を言います... だから私は私の質問だと思います:DB上のユーザーにすべての権限を与える簡単な方法はありますか? 私はPostgreSQL 8.1.23に取り組んでいます。



11
SQLでは、count(column)とcount(*)の違いは何ですか?
次のクエリがあります。 select column_name, count(column_name) from table group by column_name having count(column_name) > 1; 私はすべてのコールを交換した場合はどう違いだろうcount(column_name)にcount(*)? この質問は、Oracleのテーブルで重複する値を見つけるにはどうすればよいですか?。 受け入れられた回答(およびおそらく私の質問)を明確にするために、で置き換えるcount(column_name)と、列の値の数とカウントcount(*)を含む追加の行が結果に返されます。nullnull
205 sql 

14
SQL:WHERE句内のIF句
MS SQLのWHERE句内でIF句を使用することは可能ですか? 例: WHERE IF IsNumeric(@OrderNumber) = 1 OrderNumber = @OrderNumber ELSE OrderNumber LIKE '%' + @OrderNumber + '%'
203 sql  sql-server  tsql 

2
高速テストのためにPostgreSQLを最適化する
典型的なRailsアプリケーションをSQLiteからPostgreSQLに切り替えています。 問題は、PGによりスペックの実行が遅くなることです。 SQLiteでは約34秒、PGでは約76秒で、2倍以上遅くなります。 そこで、コードを変更せずに、SQLiteと同等の仕様のパフォーマンスを実現するためにいくつかの手法を適用したいと思います(理想的には接続オプションを設定するだけで、おそらく不可能です)。 私の頭の上から明らかなことは次のとおりです。 RAMディスク(OSXでRSpecを使用した適切なセットアップは見れば良いでしょう) ログに記録されていないテーブル(データベース全体に適用できるため、すべてのスクリプトを変更する必要はありませんか?) ご存じかもしれませんが、私は信頼性とその他については気にしていません(ここではDBは使い捨てのものです)。 私はPGを最大限に活用し、可能な限り速くする必要があります。 ベストアンサーは、理想的には、それを行うためのトリック、セットアップ、およびそれらのトリックの欠点を説明します。 更新: fsync = off + full_page_writes = off時間のみを〜65秒(〜-16秒)に短縮しました。良いスタートですが、目標の34にはほど遠いです。 アップデート2:私はRAMディスクを使用しようとしましたが、パフォーマンスゲインは誤差の範囲内でした。だから、それだけの価値はないようです。 更新3:* 最大のボトルネックを発見したので、私の仕様はSQLiteの仕様と同じくらい高速に実行されました。 問題は、切り捨てを行ったデータベースのクリーンアップでした。どうやらSQLiteは速すぎます。 「修正」するには、各テストの前にトランザクションを開き、最後にロールバックします。 〜700テストのいくつかの数値。 切り捨て:SQLite-34秒、PG-76秒。 トランザクション:SQLite-17秒、PG-18秒。 SQLiteの2倍の速度向上。PGの4倍の速度増加。

6
SQL句の「GROUP BY 1」とはどういう意味ですか?
誰かが私にSQLクエリを送信しましたが、このGROUP BY句は次のステートメントで構成されていますGROUP BY 1。 これはタイプミスである必要がありますか?エイリアス1が指定されている列はありません。これはどういう意味ですか?これはタイプミスであると思いますか?
203 mysql  sql  group-by 

7
SQL Serverの動的PIVOTクエリ?
私は次のデータを翻訳する手段を考え出す必要があります。 date category amount 1/1/2012 ABC 1000.00 2/1/2012 DEF 500.00 2/1/2012 GHI 800.00 2/10/2012 DEF 700.00 3/1/2012 ABC 1100.00 以下に: date ABC DEF GHI 1/1/2012 1000.00 2/1/2012 500.00 2/1/2012 800.00 2/10/2012 700.00 3/1/2012 1100.00 空白のスポットはNULLまたは空白のどちらでもかまいませんが、カテゴリは動的である必要があります。これに対するもう1つの可能性のある警告は、制限された容量でクエリを実行することです。つまり、一時テーブルが停止します。私は研究を試みて上陸しましたPIVOTが、それを理解するための最善の努力にもかかわらず、私は本当にそれを理解する前にそれを使用したことがないので、それを理解していません。誰かが私を正しい方向に向けることができますか?
202 sql  sql-server  tsql  pivot 

4
エラー:Postgresを使用して、シーケンスities_id_seqの許可が拒否されました
私はpostgres(およびデータベース情報システム全般)の初心者です。データベースで次のSQLスクリプトを実行しました。 create table cities ( id serial primary key, name text not null ); create table reports ( id serial primary key, cityid integer not null references cities(id), reportdate date not null, reporttext text not null ); create user www with password 'www'; grant select on cities to www; grant …

7
SQL-VSがどこにあるか
次の2つのテーブルがあります。 1. Lecturers (LectID, Fname, Lname, degree). 2. Lecturers_Specialization (LectID, Expertise). 最も専門性の高い講師を探したい。私がこれを試しても、うまくいきません: SELECT L.LectID, Fname, Lname FROM Lecturers L, Lecturers_Specialization S WHERE L.LectID = S.LectID AND COUNT(S.Expertise) >= ALL (SELECT COUNT(Expertise) FROM Lecturers_Specialization GROUP BY LectID); しかし、これを試すとうまくいきます: SELECT L.LectID, Fname, Lname FROM Lecturers L, Lecturers_Specialization S WHERE L.LectID = S.LectID …
202 sql  where  having 

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