���₢���킹�̍\�����o�����FORACLE MASTER Bronze�@SQL��bI �u���i9�j

Oracle�f�[�^�x�[�X�G���W�j�A�Ƃ��Ă̎��͂��ؖ�����ORACLE MASTER���i�B���̓�����ł���Bronze���i�̎擾�͓���Ȃ��B�{�A�ڂƁA�����f�ڒ��̘A�ځuBronze DBA�u���v�ō��i��ڎw�����I�i�Q�l�L���F�uOracle 10g�Ή���ORACLE MASTER�Ƃ́H�v�j

» 2006�N01��13�� 00��00�� ���J

�@�O��Ɉ��������A���₢���킹�ɂ���Ė₢���킹���ʂ�SQL���̏����Ɏg�p������@�ɂ‚��Ċw�т܂��B�O��uSELECT������SELECT���A���₢���킹�v�ŁA���₢���킹�̈Ӗ��A�\���̋L�q�ɂ‚��ďЉ�܂����B����͒P��s���₢���킹�A�����s���₢���킹�̎��s���@���w�т܂��傤�B

������������������

1�D�m�F�������������e

  • �P��s���₢���킹�̎��s
  • �����s���₢���킹�̎��s

2�D�P��s���₢���킹

�@���ʂƂ���1�s��߂����₢���킹�́u�P��s���₢���킹�v�ƌĂ΂�܂��B�P��s���₢���킹�ł́A�P��s��r���Z�q�i=�A<�A<=�A>�A>=�A!=�j���g�p���邱�Ƃ��ł��܂��B

�@���₢���킹��NULL��߂��ꍇ�A��₢���킹�̌��ʂ�1�s���߂���܂���B���̏ꍇ�uWHERE�� = NULL�v���w�肵�����ƂɂȂ�܂����ANULL�l�́u=�v�ł͔�r�ł��Ȃ����߂ł��B

���

�����1

���̎������m�F���Ă��������B

�yORDERS�z
ORD_ID CUST_ID ORD_DATE ORDER_TOTAL
------ ------- -------- -----------
   100     100 00-10-17        7500
   101     102 01-05-11        8000
   102     104 02-09-17       12000
   103     103 01-10-21        4500
   104     105 00-06-25        6000
   105     100 02-06-19        5500

�yCUSTOMERS�z

CUST_ID CUST_NAME
------- ----------
    100 SMITH
    101 ALLEN
    102 WARD
    103 JONES
    104 SMITH

���̕��̌��ʂƂ��Đ��������̂�I�����Ȃ����B

SELECT ord_id, cust_id, ord_date FROM orders
WHERE cust_id = (SELECT cust_id FROM customers WHERE cust_name='SMITH');


    a�D
          ORD_ID    CUST_ID ORD_DATE
      ---------- ---------- --------
             105        100 02-06-19
             100        100 00-10-17
             102        104 02-09-17
	  
    b�D
          ORD_ID    CUST_ID ORD_DATE
      ---------- ---------- --------
             105        100 02-06-19
             100        100 00-10-17
	  			
    c�D
          ORD_ID    CUST_ID ORD_DATE
      ---------- ---------- --------
             102        104 02-09-17
			
    d�D�G���[�ƂȂ�

�����Fd

�����

�@�O��̏h��Ƃ������ł��B���₢���킹�Ƃ̔�r���Z�q�Ɂu=�v���g�p����ꍇ�A���₢���킹��1�s��߂��K�v������܂��B�����ł���CUSTOMERS�\�ɂ́A���₢���킹�Ŏg�p���Ă���CUST_NAME�񂪁uSMITH�v�̃��R�[�h��2�s����܂��̂ŁA���s���ɃG���[�ƂȂ�܂��i����d�j�B

�@�I����a�̌��ʂ́A�uIN�v���Z�q���g�p����Ώo�͂ł��܂��B

SELECT ord_id, cust_id, ord_date FROM orders
WHERE cust_id IN (SELECT cust_id FROM customers WHERE cust_name='SMITH');

�@�I����b���I����c�̌��ʂ��o�͂���ɂ́A�������K�v�ł��ˁB1�‚̕��@�Ƃ��āA���₢���킹���ŃO���[�v�֐����g�p����Ƃ������̂�����܂��B

���I����b�F

SELECT ord_id, cust_id, ord_date FROM orders
WHERE cust_id = (SELECT MIN(cust_id) FROM customers WHERE cust_name='SMITH');

���I����c�F

SELECT ord_id, cust_id, ord_date FROM orders
WHERE cust_id = (SELECT MAX(cust_id) FROM customers WHERE cust_name='SMITH');

3�D�����s���₢���킹

�@���ʂƂ��ĕ����s��߂����₢���킹�́u�����s���₢���킹�v�ƌĂ΂�܂��B�����s���₢���킹�ł́A�����s��r���Z�q�iIN�AANY�AALL�j���g�p���܂��B

IN ���₢���킹�̌��ʍs�̂����ꂩ�Ɠ�����
ANY ���₢���킹�̌��ʍs�̂����ꂩ�Ɣ�r����i���Z�q�@ANY�i���₢���킹�j�j
ALL ���₢���킹�̌��ʍs�̂��ׂĂƔ�r����i���Z�q�@ALL�i���₢���킹�j�j

�@�����ꂩ�̒l�Ɣ�r����Ƃ����Ӗ��ł�IN��ANY�͓����ł����AIN�́��Ŕ�r����̂ɑ΂��AANY�͎w�肵�����Z�q�ŁA�‚܂�͈͂Ŕ�r���邱�Ƃ��ł���_���قȂ�܂��B

���

�����1

���̎������m�F���Ă��������B

�yORDERS�z
ORD_ID CUST_ID ORD_DATE ORDER_TOTAL
------ ------- -------- -----------
   100     100 00-10-17        7500
   101     102 01-05-11        8000
   102     104 02-09-17       12000
   103     103 01-10-21        4500
   104     105 00-06-25        6000
   105     101 02-06-19        5500
   106     104 01-04-12        9000
   107     103 02-11-15        8000

�yCUSTOMERS�z
CUST_ID CUST_NAME  COUN
------- ---------- ----
    100 SMITH      LA
    101 ALLEN      CA
    102 WARD       LA
    103 JONES      FR
    104 MARTIN     US
    105 BLAKE      IT

���̕��̌��ʂƂ��Đ��������̂�I�����Ȃ����B

SELECT ord_id, cust_id, ord_date, order_total
FROM   orders
WHERE  order_total > ANY (SELECT order_total
                          FROM   orders
                          WHERE  cust_id IN (SELECT cust_id
                                             FROM   customers
                                 WHERE  country IN ('LA', 'IT')));

    a�D
      ORD_ID CUST_ID ORD_DATE ORDER_TOTAL
      ------ ------- -------- -----------
         104     105 00-06-25        6000
	  
    b�D
      ORD_ID CUST_ID ORD_DATE ORDER_TOTAL
      ------ ------- -------- -----------
         100     100 00-10-17        7500
         101     102 01-05-11        8000
	  			
    c�D
      ORD_ID CUST_ID ORD_DATE ORDER_TOTAL
      ------ ------- -------- -----------
         100     100 00-10-17        7500
         101     102 01-05-11        8000
         102     104 02-09-17       12000
         104     105 00-06-25        6000
         106     104 01-04-12        9000
         107     103 02-11-15        8000
	  			
    d�D
      ORD_ID CUST_ID ORD_DATE ORDER_TOTAL
      ------ ------- -------- -----------
         100     100 00-10-17        7500
         101     102 01-05-11        8000
         102     104 02-09-17       12000
         106     104 01-04-12        9000
         107     103 02-11-15        8000
			
    e�D�G���[�ƂȂ�

�����Fd

�����

�@���̖��̂悤�ɕ��₢���킹������q�ɂȂ��Ă���ꍇ�́A��ԓ����̕��₢���킹����l���Ă����܂��傤�B

�₢���킹1 WHERE�i�₢���킹2 WHERE�i�₢���킹3�j�j

�@�₢���킹3�̌��ʂ��g�p���Ė₢���킹2���s���A���̌��ʂ�₢���킹1�̏����Ɏg�p���܂��B

�i1�j�₢���킹3

SELECT cust_id
FROM customers
WHERE country IN ('LA', 'IT')

���̌��ʁACUST_ID��100�A102�A105�̒l���߂�܂��B

�i2�j�₢���킹2

�@�₢���킹3�̌��ʂ��g���ƁA���̂悤�ɂȂ�܂��B

SELECT order_total
FROM orders
WHERE cust_id IN (100, 102, 105)

���̌��ʁAORDER_TOTAL��7500�A8000�A6000�̒l���߂�܂��B

�i3�j�₢���킹1

SELECT ord_id, cust_id, ord_date, order_total
FROM orders
WHERE order_total > ANY (...)

�@ANY���Z�q�́A�₢���킹2�̌��ʂ̂����ꂩ�Ƃ̔�r�����܂��B7500�A8000�A6000�̂����ꂩ�̒l���傫��ORDER_TOTAL��l�����s�����߂�̂ŁA�uORDER_TOTAL��6000���傫��ORDERS�\�̍s�v�������ƂȂ�܂��B���Z�q�Ƃ��āu>�v���g�p���Ă��܂��̂ŁA6000�Ɠ������l�͊܂܂�܂���B������d�ł��B

4�D�g�b�vN����

�@FROM��ɕ��₢���킹���g�p���A���₢���킹����ORDER BY����g�p����ƁA�\�[�g�ς݌��ʂ̏W�����쐬���邱�Ƃ��ł��܂��B��₢���킹����ROWNUM�^������g�p���A�擾�������s�����肷��΁A���N�‚̃f�[�^��߂����Ƃ��ł��܂��B

SELECT �񖼃��X�g FROM (SELECT �񖼃��X�g FROM �\�� [WHERE ������] ORDER BY �\�[�g��)
WHERE ROWNUM <= �擾�s��;

�EORDER BY�F�g�b�vN�Ƃ��Ď擾�������w�肷��B����N�‚��擾����Ȃ�ASC�\�[�g�A���N�‚��擾����Ȃ�DESC�\�[�g���g�p����

�EROWNUM�F���ʂ̏W���ɘA�Ԃ�U��^���I�ȗ�B<�A<=���g�p���Ď擾�s�����L�q����

�@ROWNUM�^����́A���݂̕\���̊i�[�����ǂ���ɍs�ɘA�Ԃ�U���Ă��܂��܂��B���N�A����N�‚��擾����ɂ͕��₢���킹�Ń\�[�g���Ă������Ƃ��K�v�ł��B

��F
SQL> SELECT empno, ename, sal FROM (SELECT empno, ename,
                           sal FROM emp ORDER BY sal DESC)
  2  WHERE  ROWNUM <= 3;
      
     EMPNO ENAME             SAL
---------- ---------- ----------
      7839 KING             5000
      7788 SCOTT            3000
      7902 FORD             3000

5�D�W�����Z�q

�@�����[�V���i���f�[�^�x�[�X�ł́A���w�̏W���_���g�p���ĕK�v�ȍs��߂����Ƃ��”\�ł��BOracle�f�[�^�x�[�X�ł́AUNION�AINTERSECT�AMINUS�W�����Z�q���g�p���ďW�������肵�܂��B

UNION �e�₢���킹�őI�����ꂽ���ׂĂ̍s��߂�
INTERSECT �����̖₢���킹�őI�����ꂽ�s��߂�
MINUS 1�–ڂ̖₢���킹�őI�����ꂽ�s����A2�–ڂ̖₢���킹�őI�����ꂽ�s������

�@������̏W�����Z�q���d���l��r���������ʂ�߂��܂��BUNION ALL�Ƃ����W�����Z�q�����͗�O�ŁA�d���l�����̂܂ܖ߂��܂��B

}1@WZq �}1�@�W�����Z�q

�@�}1��2�‚́����قȂ�₢���킹�ƍl���܂��傤�B�����̏W���ɂ�A�AA�AB�AC��4�‚̒l���A�E���̏W���ɂ�A�AC�AD�AE��4�‚̒l���i�[����Ă��܂��B�d�Ȃ��Ă���̂́A�����̏W���ɑ��݂��Ă���l�ł��B�W�����Z�q�͂��ꂼ�ꎟ�̒l��߂��܂��B

  • UNION�FA�AB�AC�AD�AE
  • UNION ALL�FA�AA�AB�AC�AA�AC�AD�AE
  • INTERSECT�FA�AC
  • MINUS�FB

�܂Ƃ�

�@�O���ƍ����2��ɂ킽���āA���₢���킹�ɂ���Ė₢���킹���ʂ�SQL���̏����Ɏg�p������@��������܂����B���̓��e���`�F�b�N���Ă����܂��傤�B

  • ���₢���킹�́A�ق��̖₢���킹���ʂɊ�Â��₢���킹
  • �P��s��r���Z�q�i=�A�A>=�A!=�j���g�p�����ꍇ�A1�s�Ɣ�r�ł���B�����s�߂�ƃG���[
  • �����s��r���Z�q�iIN�AANY�AALL�j���g�p����Ε����s�Ɣ�r�ł���

�h��

�@����́A�u�f�[�^����v���m�F���܂��B���̏h��������Ă����Ă��������B

�g�����U�N�V�������������镶��2�‘I�����Ȃ����B

a�DDELETE FROM emp;
b�DROLLBACK TO SAVEPOINT a;
c�DGRANT SELECT ON emp TO hr;
d�DALTER TABLE emp ADD COLUMN jobs VARCHAR2(10);
e�DSELECT empno, ename FROM emp ORDER BY sal;


Copyright © ITmedia, Inc. All Rights Reserved.

'; 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�[�}

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