SQL�̒��o���ʂ��K�w�\���ŕ\������e�N�j�b�N�FSQL�N���j�b�N�i6�j�i1/2 �y�[�W�j

» 2005�N07��28�� 00��00�� ���J
[�їD�C������ЃC���T�C�g�e�N�m���W�[]

�@�{�A�ڂ�SQL�̉��p�͂�g�ɕt�������G���W�j�A�����ɁA���܂��܂ȃe�N�j�b�N���Љ��BSQL�̊�{�\���͕��ՂȂ��̂����A�����Ŋ��p����ɂ͋��ȏ��I�ȋL�q�𗝉����邾���ł͕s�\�����B�{�A�ڂ́A�����ȃ��[���}�K�W���u����I�I���I Oracle - �ǂ��Ղ茟�ؐ����v�𔭍s����C���T�C�g�e�N�m���W�[�̃R���T���^���g�����M�w�Ɍ}���ASQL�̃Z���X����ɖ𗧂‘�Z���Z���Љ�Ă����B�i�ҏW�ǁj

�@����܂ł�SQL���̎��F�������コ����e�N�j�b�N�����Љ�Ă��܂������A����͒��o���ʂ̎��F�������コ�����K�w�₢���킹�����Љ�܂��B

�K�w�₢���킹�̊�{

�@�K�w�₢���킹�̈�Ԃ悢��͎��s�v�悾�Ǝv���܂����A���̑O�ɂ܂��K�w�₢���킹�̊�{���炨���炢���܂��傤�B

SQL> select empno,ename,job,mgr,sal,comm from emp;
     EMPNO ENAME      JOB              MGR        SAL       COMM
---------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902        800
      7499 ALLEN      SALESMAN        7698       1600        300
      7521 WARD       SALESMAN        7698       1250        500
      7566 JONES      MANAGER         7839       2975
      7654 MARTIN     SALESMAN        7698       1250       1400
      7698 BLAKE      MANAGER         7839       2850
      7782 CLARK      MANAGER         7839       2450
      7839 KING       PRESIDENT                  5000
      7844 TURNER     SALESMAN        7698       1500          0
      7900 JAMES      CLERK           7698        950
      7902 FORD       ANALYST         7566       3000
      7934 MILLER     CLERK           7782       1300
12�s���I������܂����B
���X�g1�@EMP�\�̖₢���킹

�@�����ꂽEMP�\��SELECT���ʂł����c�c�A�N����i�ŁA�N�������H�I�͈�ڂł͕�����Â炢�Ǝv���܂��B����ȂƂ��Ɏg����̂��A�K�w�₢���킹�ł��B�Ⴆ�΁A��L�̌����ꂽSQL���ƌ����ꂽ���ʂ��K�w�₢���킹�ɂ���Ɓc�c�B

SQL> select
  2      empno,
  3      lpad(' ',2*(level)) || ename ename,
  4      job,
  5      hiredate,
  6      sal,
  7      comm
  8  from
  9      emp
 10  start with ename = 'KING'
 11  connect by prior empno = mgr;
     EMPNO ENAME                JOB       HIREDATE        SAL     COMM
---------- -------------------- --------- -------- ---------- --------
      7839   KING               PRESIDENT 81-11-17       5000
      7566     JONES            MANAGER   81-04-02       2975
      7902       FORD           ANALYST   81-12-03       3000
      7369         SMITH        CLERK     80-12-17        800
      7698     BLAKE            MANAGER   81-05-01       2850
      7499       ALLEN          SALESMAN  81-02-20       1600      300
      7521       WARD           SALESMAN  81-02-22       1250      500
      7654       MARTIN         SALESMAN  81-09-28       1250     1400
      7844       TURNER         SALESMAN  81-09-08       1500        0
      7900       JAMES          CLERK     81-12-03        950
      7782     CLARK            MANAGER   81-06-09       2450
      7934       MILLER         CLERK     82-01-23       1300
12�s���I������܂����B
���X�g2�@EMP�\�̊K�w�₢���킹

�@�N����i�Ȃ̂��͂���������܂���ˁBKING�В������[�g�Ƃ��āAJONES�ABLAKE�ACLARK���e�����Manager�ɔh�����A�ȉ����ꂼ��̕����̐l��������������܂��B

�@�ł́A����SQL������������ƌ��Ă����܂��傤�B�܂�3�s�ڂ�lpad�֐��́A���`�Ɏg����֐��ł��B������₷������o���܂��傤�B

SQL> select lpad('+',5,'-') || 'abcde' from dual;
LPAD('-',5
----------
----+abcde
���X�g3�@lpad�֐��̃T���v��

�@���̗�ł́A��1�����Ɏw�肵��������5�����ڂɂ���A����܂ł͑�3�����Ɏw�肵�������Ŗ��߂��܂��Blpad�֐��̑�3�������w�肵�Ȃ��ƃf�t�H���g�ŋ󔒂�����܂��B

�@���X�g2�ɖ߂��āAEMP�\�̊K�w�\���ōl���܂��B����̏ꍇ�A

lpad(' ',2*(level))

�Ƃ��Ă��܂��B��3�����̓f�t�H���g�ŋ󔒂Ȃ̂�

lpad(' ',2*(level),' ')

�Ɠ������ʂɂȂ�܂��B��2�����́u2*(level)�v�ƂȂ��Ă��܂��B

�@����level�Ƃ����̂͊K�w���x���ł��B�u�K�w���x���~2�v���w�肷�邱�ƂŁA�K�w��1�‰������2�‚��‹󔒂������Ă������ƂɂȂ�܂��B

�@����10�s�ڂ�start with���'KING'���w�肵��ENAME��'KING'�̂��̂��N�_�i���[�g�j�ɁA�K�w�����Ă��܂��B�ł��AKING�����[�g���ǂ����Ȃ�āA������Ȃ��”\��������܂��B

�@�Ȃ�΁A���[�g�̏�����SQL���Œ��o���Ă��܂��΂悢�̂ł��B

SQL> select
  2      empno,
  3      lpad(' ',level*2) || ename ename,
  4      mgr
  5   from
  6      emp
  7  start with ename = ( select ename from emp where mgr is null )
  8  connect by prior empno = mgr
  9  /
     EMPNO ENAME                       MGR
---------- -------------------- ----------
      7839   KING
      7566     JONES                  7839
      7902       FORD                 7566
      7369         SMITH              7902
      7698     BLAKE                  7839
      7499       ALLEN                7698
      7521       WARD                 7698
      7654       MARTIN               7698
      7844       TURNER               7698
      7900       JAMES                7698
      7782     CLARK                  7839
      7934       MILLER               7782
12�s���I������܂����B
���X�g4�@���[�g�̏�����SQL���Œ��o�����K�w�₢���킹

�@���X�g4��8�s�ځA�������uconnect by prior empno = mgr�v�ŁA�e�q�֌W���w�肵�܂��B���̗�ł́AEMPNO��MGR���֘A�t���邱�Ƃɂ��A��i�E�����̊֌W�����w�肵�Ă��܂��B�i���y�[�W�֑����j

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by IT - AIAAA
Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B