次のクエリは、connect by
とleft join
と組み合わせたselect *
がすべての列を返すのではなく、これらの条件で使用される列のみを返します。 この動作は、select *
がリリースで使用されるべきではないことを考えると、私にとって役に立ちました。データを要求するのに便利です。他のクエリに対し、Oracle select asterisk connect by join sql-92の組み合わせ
with t1 as (
select 1 id, 0 parent, 'ROOT' name from dual
union all
select 2 id, 1 parent, 'CHILD-1' name from dual
union all
select 3 id, 1 parent, 'CHILD-2' name from dual
), t2 as (
select 1 t1id, 'node' special from dual
)
select * from t1
left join t2 on t2.t1id=t1.id
start with id = 2
connect by prior parent = id;
が、私はこの機能に関するドキュメントが見つかりませんでしたすべての列に
select * from t1
start with id = 2
connect by prior parent = id;
select * from t1
left join t2 on t2.t1id=t1.id;
を返し、任意のはありますか?
'T1を選択します。*、T2 *'作品。'SELECT *'がなぜそうでないのか分かりません。 – MT0
'WHERE name is NOT NULL AND(特別IS NULLまたは特別IS NOT NULL) 'を追加すると、それらの列が' SELECT * 'に現れることを意味します。 – MT0