2

クエリに省略表記を与える方法はありますか?

元。

Q1 = (select * from tablename2) 

Q2 = (select * from tablename2)

select name from Q1; 
select name from Q2;

私はビューを認識していますが、それらを使用するつもりはありません。

4

3 に答える 3

2

はい。ビューを作成します

CREATE VIEW Q1 AS (
  SELECT 
    name,
    id,
    othercol
  FROM tablename1
);

/* Works with a WHERE clause too */
CREATE VIEW Q2 AS (
  SELECT 
    name,
    id,
    othercol
  FROM tablename2
  WHERE othercol = 'some limitation'
);

SELECT name FROM Q1;
/* aggregates work too */
SELECT name, COUNT(*) AS numrows FROM Q2 GROUP BY name;

注:SELECT *ビュー(または実際には本番コードのどこか)に表示することはお勧めしません。選択リストの列については常に明示して、順序が決定的になるようにします。

CREATE TEMPORARY TABLE ... SELECTまたは、構文を使用して一時テーブルを作成します。

CREATE TEMPORARY TABLE Q1 
  SELECT name, id, othercol FROM tablename1;

/* select from it */
SELECT name FROM Q1 WHERE id IN (1,2,3,4,5)

/* When done, drop it. Otherwise, it will be dropped when the client connection terminates. */
DROP TABLE Q1;
于 2012-10-06T21:32:37.913 に答える
0

私はあなたが意見について話していると思います。それらのドキュメントをチェックしてください。

于 2012-10-06T21:32:16.967 に答える
0

ビューは、探しているものに似ています。

ただし、「ビュー」は、他のクエリまたは更新の「エイリアス」または「ファサード」よりも表記上の利便性が低くなります。「ビューは仮想テーブルです」という比喩が適切です。MSSQL では、「ビュー」もセキュリティを強化する効果的な方法です。

この件に関する良い記事は次のとおりです。

于 2012-10-06T21:40:03.673 に答える