クエリに省略表記を与える方法はありますか?
元。
Q1 = (select * from tablename2)
Q2 = (select * from tablename2)
select name from Q1;
select name from Q2;
私はビューを認識していますが、それらを使用するつもりはありません。
はい。ビューを作成します。
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;
私はあなたが意見について話していると思います。それらのドキュメントをチェックしてください。
ビューは、探しているものに似ています。
ただし、「ビュー」は、他のクエリまたは更新の「エイリアス」または「ファサード」よりも表記上の利便性が低くなります。「ビューは仮想テーブルです」という比喩が適切です。MSSQL では、「ビュー」もセキュリティを強化する効果的な方法です。
この件に関する良い記事は次のとおりです。