309

Learningsql www pupuol com

  • Upload
    pupuol

  • View
    220

  • Download
    3

Embed Size (px)

DESCRIPTION

http://www.pupuol.com/ShowOnline/ComputerEng/Programming/LearningSQL.Www.pupuol.com.pdf

Citation preview

Page 1: Learningsql www pupuol com
Page 2: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��������������������RDBMS������������� ��������� ��������� ��������� ���������������������������������������������������������������������������������������������� �� ������ �� ������ �� ������ �� ��������!�����������!�����������!�����������!�������sql

server"�#��������"�#��������"�#��������"�#������������

���������� �� �������������������$������ �%������"�#���&������'�$���������&����������"�����������(�!���� ��)*�+,���-.������������/������!���

��������� �������01�2����������������3������ ��������������������#���'RDBMS������������!$�������!4)5��#2!�����63���$�

�����������������2�&!��������,�!7��+!7� ��!������2��!),��5�&!���/�&�$�����8���/���������$�������),�������*9��:��))*�+,���-.�����+7

�2��))/��2�;��))/���-.�2����2<������ �����=��-�#������$�������),��5�&��>�)?+$�'@���/�����>�������=���%���/���� �

��������������������)/����(�����#�����-.� �����$�#���AB5���,��5�&����)/���-.�&)���C;���������$�������4)5�'RDBMS�������#�!D���+7�����$�

��������!E5��F��1����G��AF�������)���H,���������,�� ��$�������))/�IJ3���$�������#�����-.�#��K���5��)$������!$����

��)/�>��L5'�

����������E5��F��1�������!������A�!7���!)$��&!����1��M�5��;5�����+7� �����C/��/�N�������E5��F��1������A,������'����!�

�������������������))/���O�L6� �����������)7�����3,����2� ���������/�&�12��5��),��5�&+,���6��&PL���,�+,�'���������Q�����),������>�,��1�#���,��,<

��,�7���+F�� �����R�����+$������BO���'������� ����������S�+L���#2��n ��S�n-tier�������3!���!S���&,�����S���

���3�����+F��'��������������������������!��2���������T�-�������/��)��$����E5��F��1� �)*����A;��U<����0D����E)���������/���� 8�C��B����

�)��$�'����������/�&,��#8���V�����������������$������&�)D��-�W��(����,����+,�����&()���+7�&�'�����!���RDBMS�����>!�� �,��!����

����&� ��X*���E���������>�,��1���������� �)/�Y�/5� $����'�

�����������$�����+7����Z��/���B���������&9/���@�����C[6�>��'���������������E����)<���[6����8��3��������\�]�5�C[6�>������/�&AO���

��������������������������������>!��Y!O����U�!D�^!-��5��)/� $�6��+7����������3B,���RQ����$��J���C[6�>������8��6@��)$��-���1�_;��

��7�����7���Q�J�����Z��/'�

�7��� �$��-�#�YO�������0D���&9/���������C[6�>�����8�2��>��#���

� ����7������������`

� ��$������a��,�b

� � �$�(���������������,�3��������&� ��X*�>�+P5�_F����/�'

����7������5�/�&$��,����7������5�/�&$��,����7������5�/�&$��,����7������5�/�&$��,������������������������������������������������

��RDBMS��H,�SQL SERVER�������#����7��C��7�'��c�2�d9��������!$��[J3�����AB5��/�=��-�^�;�����&7

����������������&7���U����,������6��2*���eL5��������>*+��8�����dA�)��&7�����+L�����3,������,���U<�U����7���G2�(���'����

�f��$�����SQL SERVER� 4�����7��#������L5���46������������7���#���$��)�@��2�%��,��������

���-&5�FgQ���,���

h)/�5��AM�

�2��D�

C�6���$��2@����

��@���4�����

��4$�@�������

O�2���7���-.���4���

���/�^��5���7�eL5�0���5�

� Business Logic Rules������`i�������������������bi�����������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 3: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

`

�$�I-�7�

9A+���$�&�

G�7���@�

C��/�>�����4@�O�5�/�full text��

���/�^��5���7�eL5���������a�,�

�43B,�

U����/�

�&7�&7�&7�&7&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,����������

&5�FgQ���,���/�����&j7�>5S���\���g+F� ������,�����sql server��7��U<�����)/����'��2��8�&*�)*5�k�;O�#�-���!�,���

��������@�H,����&7���U��)F�����,��5�&����������������������>���!)����!�,�&�!�,��!��,����$�$�@�!����+$����5��������H,�>������8���7���6

���+,�H,�����,<����>���)�'������������7��Y9l�SQL SERVER��U��!,#6�������!$��-�!7�!#����&!7��&5�!FgQ���!,���

�)��$'�

���*,��*,��*,��*,���&+�1���$��J�,����@�SQL SERVER���>*+��U�)/����7����)7<�����������������U�7����2�����&1�(5��� �"&

�e�m2�����&1�(5��� �"�����6�� ����REMOTE SERVER�2�SQL AGENT"���������n����SQL SERVER����7��

�����������,������7���46�gA1��/�&��7���),�����#��&,�A��3�������/�����&5�FgQ���,�������!,�������!1����(�!������!���'���!�

)V������$��������7�2���7��)�O���$�2����INTEGRATION SERVICE�������!���!�O�L6��!)��������5�!+F�����!��>��

��������������������������� �$��+,���+$���4,<����&��,����,��2�&%�Q�C%���&Q�Y9l�����Y�55�>�����2��E)������'����d!Q�#������!��>!�

��������7�� �������&��7�SQL��SMO����(����C��1�)��$�&��,����,������'�

������F�,�&5�FgQ���,��o�������������������������4$�@�!���!),���!������!7��G�!12��Y9l��2�&O2�D����7�������C1��%��#����������F�+E��

�VIEW���2O�2�������7���-.���$������#��T�-�������������/���7���-.���4&5�FgQ���,����,�3���p����'�

����������>*+���/�&O�������q��h������������������������!,����!�������&O2��!D�� �2�&5�FgQ���,��������������&O2��D�a�,�� ��/�����>���<

����������������������������!r�������!����4)3!����!�^!B6��!����/� �$��-�&����Z��/�������������_;A��>��G��r�D����" �)*�����-.���D�&5�FgQ�

���������������������8��7��������2� ����������&9/�������/���������$��/� �$����������������!7�����7���&+4��&�����2�2������� $�����/�&�$��

�,�3�����-.�&5�FgQ���,��������'��rdbms��),���SQL SERVER����!,���>�!) ���&5�FgQ���,���������>*+��

�7�����7����%�2��2�����2��&5�FgQ��'����L5&5�FgQ���,������2���,�������/�&�$�SQL SERVER�&9���F�����7���

����6m��),���U��5CPU��4��2�;�8� I/OC�A1�>��#���������2��H6�%�2��������(&,��@��-�8�`�������!��!(,�������+7

��������������������������$�2!���2����!����!��!�����6�����>�)?+$�2������#��,����D����%����U<��2���+7� ������/���2�����

����7�����$��-�=���%������'������L5���2���,��&5�FgQ���!������!��2��������3�����+7��/7��/�&�$��'����$�2!��#�������!�

�#���J�,�$������/���7�����7��������>�)?+$:��)��$�&5�LO�Q���,������2�%�^B6SQL SERVER����!�,������#2!����/��

��)/���45��SQL SERVER `sss������/�t�D���D��J�,��9�����U�)/�� $�2�������7u@���������!��>���!���8���7�>��

��J�,��4$��726��3����/� �)*���v6`sss�)7�����7������5g������������#���!,�+,�>�!) ��!/� !�������&�!,��5�>����SQL

SERVER�������E��&����>�,��1�2� ��������p�A5������C��/�����i �7�����7���&*��6��2�������'�

���*,��������� ��$�>j+���>������#��&!(9�J����!$��J�!,� ,��!����>���<��/����X�����������>���+7�#��SQL SERVER�

��J�,��),��`sss�2�`sst�4 ����������" �7�����7������/�Z� �

�����AV��w����'���,�������+7SQL SERVER `sss�2�`sst��)/�Y�/5���*�������/�Z� ���4 ����������'���[!J7����

)�*���a�,�>��������N�E,��C��1���/�>���9��8�����>*+����/�>���/���,���������=���%���4)5�@��8 ���,�>�A7�-���'�

` Autonomy

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 4: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

b

�����>�O2������&�12SQL SERVER������)*����D�����x�&5�FgQ���,����)*���a27�&+�������

� MASTER

� MODEL

� MSDB

� TEMPDB �������������/�&�������+7��2���*)������������>���+$�Y[,�������2]�)/�������������&�!�����������>��#��&PL��U2����2��8��B�B%���

���/��$��J,���/'����������������������$��-�G2�(���Y[,�N��)$�����+7�&��J�,����������������G�F�]���8��L������E)��#��'�����#��&P!L����!4,�+,

&5�FgQ���,������#�������C��7���)�A������>*+���/�&�$��

� AdventureWorks�Q���,��&5�Fg�,�+,�

� AdventureWorksDW��������/������,�+,��ANALYSIS SERVICE���

�����������������������!/��!$��-����(�!�������!��&+�!1���$��,�+,�#��Z��/�>��8 �����^��5���7�Y[,���$��,�+,����2gF��'����+�+!]Fi���!/

������������������!�r��(���!LO��������!���������>��Y[,�2��3���G�Fg�������2�����&�,�)��G��[��'�������������!4*,���C��!7��!$��!,�+,�>!�

�,�7�&��#�&5�FgQ���

� PUBS

� NORTHWIND ��*,��*,��*,��*,����������������������������2���!7�h�!�#<���!$��!,�+,����U��������������D���4O�V��#�����(��������������#���4V;��8�Z��/�>��&%�Q�>�%���

����7�R���&+�1������'�7�-�>��Z�J�,��#���6��2*����/� )*���NgF��N�+5��F�E7����>��������!����>!��2���!���$��J,���;

���,�e�����g����9j���>�'�

���*,��*,��*,��*,���&5�FgQ���,���AdventureWorks������������������!+$���!���!AB5����&�!$��!,�+,�2�8��!���y��!��2���1��,�+,���\]�2���Q���

��������4,<���,�������+7��/�����?�����%��5���$��/SQL SERVER `sst�)*��� $�6���$��N�E,���'>�������C*3!���!���%�

����U<�&@��?��� $�U<�2�����'� AdventureWorks���U��)F���&5�FgQ���,���������?����%�#��h���&7#��<��'�>���,��

&5�FgQ��������#����G����[-�U��)F���������3������(�����)V����������������+F��/����&����[-��'��/� ,���2��#��>�SQL

SERVER2��))*���K��5����������SQL SERVER���!��5����>��H,�z�(5������4,<��+$�2�N�/�&$��-H,��)��)���Z��/�

�,�/��PUBS���2�NORTHWIND�������������������������!��#���!4,<�U�! ��)��$�&7#��<���$����(���������$��,�+,�>�4���,���2��>��:�

���O2�� �$�(��U��+46�������A�,�2��)��$������G�4DSQL SERVER)��$�U��<���'�� �$�!(���������+7��/� $����\�D5�>�

���4�@��?�����������-��*)���5���)/��/%��9D��+�����KX��2��#�����������O2�ADVENTUREWORKS��)*,�zl�'�

&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,������MASTER��������

�$SQL SERVER�8�U<�T�-�G�+�H)5�>�)?+$�2��J�,�>�6@�H,����U2����&5�!FgQ���,���MASTER��-������������!$

����'��>��&5�FgQ���,����������2��D�#��T�-��F�+E������&+������2��D������������)��!$���!@<� ��!���N�!+5�#���/��)*�������4�,����'

���������+7�&�12���V������&5�FgQ���,������������2�D�������/����8��)*�����E����D�SYSDATABASE���������&5�!FgQ���!,���

MASTER����3���=����'���+$O�2�������5�2���7���-.���4�����������N��/�����*)��>�6@�H,����U2���&+�������6���L��&5�!FgQ���,���

�������>������,�������1����(���������&5�FgQ���,���,�3�������4�,��'�����e�!��5�����+!7��2!���!/���������+$��AB5�8�R�]2���

��,�3�������4�,��+�1�>������))*��'�>�&5�FgQ���,��+,�2�������2]��+7� ����������/�fu%��,<�U����'�

������������/�&�4,<���),��8�&+������2��D&5�FgQ���,���MASTER�)��$���(���������,�)3����6���'��))/�IJ3���),�������4,<

������-����,������D2���$��N�E,���4,<��2�����&5��9+F��+7��*)��#��CA1�&��-����7���<��/�'�����&j�!7���$��J���+7�@����V�����

�������/����&5�FgQ���,����/���$��-��6������-�����)/���E����7�����D2�gA1�T�-��'����>!���!�$��J����!L1�2��+7��?,�)

�����������������2�!D��������!/���2�D��<��/���)�A��������������$��N�E,�������/SYSOBJEBCTS�������������&5�!FgQ���!,���U<���!���'��!@�

�,<8�����2����E��#��CA1������+7������,��)���)/�fu%�'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 5: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

x

���*,��*,��*,��*,����������������U�5��J������>*+����7����2{����A�,��+7�@��������������������@��12���/�|�97�C;��>�����>�3@�8�Z�-�������}���

�������$�,���{5�����2��D�U��)F�~�$�}��������Q�J����&9+F�&5����$����&+������2��D�#�����(����'���!)*�������5��6��2*��

��%�&+������2��D�#���/�-<��J�,�������C1QL SERVER��!�)*,����(�����'���������@#�!�����!����&�,�+!]�~�!$��!4,<���!,��

&5�FgQ��MASTER�������)$��+,�e9�J����$��J�,�>�������'i����������������!���!��{5��!4,<��!/��/��$��-��,�+]��6��2*����B�B%���

�))/�'������������7���2���/��$����n��&,��#��O�%�>5���&5�FgQ���,���MASTER�����#2���� �$��N�E,��&,��'���������+!7��!���!/�&!�12

�&���/�N�F�_F�������>*+��&5����$�����2��D�>�����*�����/�� )*�������5SQL SERVER���U�!)�+Q��>!�������7�

��)/�'�����)�@�>�) ��,��JA7�-��������8�&+�����0���5�8��9+D�#�O�2������+,���4$�@���2�&+�������4iG�FgQ��������6�3���&��#������

�$������)��$�>������-������,����7���-.�&+������2��D�>������/�&'�

��������������!$��!12�#�!)$���3!,�N�E,�����/��/�&�12��5��/�����>���7�_;���/���������+$�&)L��'�����&P!L��&P!L���!���!�������

�������������� �$����R7���)/�Z�)�D��&+������2��D�>��#�����(���������,����+,��+7��/��2�;����4��L1���'�����������,��)�������+7�C/�

�/��$���4)5�����4,<������/��)��$�&�$���J��<��),����4)���������H,���}�

&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,������MODEL��������

�&5�FgQ���,���MODEL���������>��&5��AF����8���7����u���,�Y��)����������!/��7���&O����),����,������&5�FgQ���,������#��U��!�

����6@�&X/�U<��2��'�FgQ���,��&5��MODEL������$��������&AO�1��&5�FgQ���,���������#�������)*�����E���+7��/����D��'��>����

��������&5�FgQ���,�����,�������+7�8��/�&)L�MODEL������������&5�FgQ����4*,����2��T�-�����,��������5���$����{5�����������!D����!���/

������7���+F����2<�&����$��-�'����������#���F�+E����8���,�������8���V���������������������!4*,����!+$�����!�$��J����!/����&����!%��2��!D

�������)/��6�]��&5�FgQ���,���>������)7�����7�����D2���)*�����E���/�&5�FgQ��'���������3!������!/��2@��) ���,������>�)?+$

��������������3�����-��� ������2���/�&5�FgQ���,���$������$��J����/�����&5�FgQ���,���>������)/��6�]��'����������!/���!7�����!7���

��������������)*���C+F�����&5�FgQ���,���$�����YO�1�U��)F����&5�FgQ���,���>��'MODEL��������������#��,������&5�FgQ���,��

��)/�fu%��,<���,��5�&+,��+7�2��7�����D��� ������������2'�

����������{5�����&5�FgQ���,���MODEL���������7�����7������������� ��) ����������!$����&5�!FgQ���!,��������!��C1��!%����&5�!FgQ���!,���

MODEL������+7�&�12��/�&)L��>��������� E%� $�&5�FgQ���,���MODEL�U<� E%�2���$����{5�����ssMB��!�����7�

����,����+,�&5�FgQ���,���������#���+/� E%��������ssMB��#�����'��������������D2�&4��3����$�-� $��2�D�>������'�������*����

�s����������$�,���{5�����2�D�>���/� )*�����/������5����'�

&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,������MSDB��������

MSDB���2���/�����&9;��SQL AGENT�)*�������4�,�U<������� �����e�m2��+$��'����!�@�U�A��3!��C+F��+7�@�

�BACKUP�������������������U<���!�����!/���!�8���!7��D��Y7�$��/���7�����/���)��U��#�����,�@������MSDB�����!$��-���!D2

�7���'����2��������/����U<�8��9��2�8���)/���)��U��#��D���L6�������������7���-.�MSDB�7������-�'�

&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,������TEMPDB��������

�&5�FgQ���,���TEMPDB���������������*����)$������+7��2���������9/���4�+�1�#��&*�QUERY�������!D����$��J������y����

���)/SQL SERVER=���%�����������!/�>!���!/��!)/���E���1����2��D������U<�C%������5��7����$��-�TEMPDB�

���3���N�E,��'����������������2�D�>����)*�����E������1����2�D����/�&�12TEMPDB������������U<��/���)*���*6��+7�����8��3�����E��

�����&5�FgQ���,�����������/���E�����D��'�������$�����������=���%���/� $�&���)$�����������������!$������>!��8��!�)/��!�-.��!1�����!������&

����S�+�%�TEMPDB�,�3�����-.�'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 6: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

t

TEMPDB�������������G2�(������������&5�FgQ����4*,�������'�������������&�1�!����,�U<���-��*9���)��$�&�1���U<�����D������7���4)5��,

����'��4)5��/���������G2�(5�>���2�D�>���+7�&�12��/������&5�FgQ���,��SQL SERVER�����2��������#����)*����D�����

��3�����-��'�

,,,,��*��*��*��*��������������������U�5��-����7����)�������B�B%�����+7��&*�)*5������TEMPDB��#����i������������!/�>��#���/� )*�������5����/��>��

���)/���$��'��������$�������&�1������7����,�������+7�&5�FgQ���,�����������)/���E�������&�����U<�����/�i����������!7��>�TEMPDB�

��,�3�����-.�'���������+�B������7����E�TEMPDB���������������a�D������&��(7<�U�7���#�_F�������8��7����$��J,��+7����������~�$�

������7��>����&5�FgQ���,����3����'��(@������/������������U<�#��>�����3,����,��E,<����'�

AdventureWorks������������

SQL SERVER#��CA1�����&�4O�V��C��7� $��,�+,�>���'�,���������-����T�[J��eL]�p�B,�&+�1���4O�V��'�8���V�����

�����,����e�L]�&%�Q����2��2�;��>+5��) �C��7��4,<��'���!<��*)����������_;���E)����ADVENTUREWORKS��U�!+$�

���������������/�N�3���/u�������9j���>���4)5�2� )*���e1��������������Cr���ADVENTUREWORKS������������!����!��Wg!5��!�

����Gg*3��U<�U������1��H%g��'����2���!/+5���D����2������&;����4,<�8��2gF���SQL SERVER�����!�U��!)F��!��

� �$�(��U����U�3,��2�8��F�+E����U��)F�����������4$�����C/�&�%�����[;�&5�FgQ���,���,������/�5�'�

��L��5���O2��C%���#�YUKON��������� !����!���!,<�#2!����!���!/���� �����&9-����/�N�,SQL SERVER `sst� ���)3!�����

���������,�+,��������4,<��/��6�����6��2*���&5�FgQ���,����������������*��GS�[;���3��������,�+,���U��)F�����,������/��)+5��1�

���,����=���%���2��'AdventureWorks������������<���D����47g5�>����������������������������#���!/���)!7��!�$��-�>!��#���+!7��!/��#��!,��U�+$�

������������������������!$����U�3!,�����!� ��+$��AB5��*�����������*$�7���U<��/��(@�����N������������A��U����/�����U<�&@��?���'

����������������������������2���!B���!��Z�!-�C!V���!��,�+,�>���/��(@������,�([)�����������8����,�d�1��U<��������+$�� @�Z�-���������8�&!L1

���������������[;����4�@�2�#�������������&�$��,�+,���)$�,�3,��/�&�4�+�1�>�)?+$�2����?�����$���-���'���>!��!H,�>��#�

����&O�F��,�+,'�

��)�A�������,�+,�>����63�����4�@�2�#��&PL���+7��5��/� $��-����(�����E)�����U<�#��>�'�

AdventureWorksDW��������

����,�+,���>�������C�9;5�2���E5���4�2�����'DW�e(J��DATA WHAREHOUSE���&F�!,��!/�8�������!,��

&5�FgQ����$��c2���3����/�����ANALYSIS SERVICE�7��)$��-���-���U<�����'�������!��>!����������>�@������7

�����������,�+,�2���/���,���)<��6��2*����/�����>��&5�FgQ���,�������+,�������&3)/�5�����������!�2���-���^A5��&9�9;5�2���E5��,

�))*�����/� $�����/��$����U�3,�����$��,�+,�#��C��/��F�+E�'�

����� �+[5�U�A��3���������4$����b��������������,�@�>��#���+7�2��)��$�Z��/�>���#�%�#��=��-��&5�FgQ���,���������8�!/��!�$��J,����(�����$�

���������*����D�����C�9;5�2���E5���4�2���/�&�12��������������7�����7���>$.��������4,<���)�'�����������!����2��>��>���G2�(5����&$��,�U�)/�

�,��������,�@��D�f��$���4,<�#��N��/�$�����8��,����7���E��&,�X+/��������4,<��2��$�8� #��,��&�'

��&5�FgQ���,����&5�FgQ���,����&5�FgQ���,����&5�FgQ���,��Pubs��������

���&5�FgQ���,��Pubs�}������������!���&+�!1��!�2���!��),���&5�FgQ���,���>�'����U�!)/��pubs�������������!��d!Q�#��U��!�����!4)5����

���������!�H,�&!7#��<���4���/�2�GS�B��������(���������6���/��/�Y[,��,�@��D��,�+,���U��)F����2��/��6�����6��2*��

b ���������������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 7: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�)��$���������Z��/�>��'Pubs����&��-�p�A5���ql server#��<������ ��X*�C;������E�������6���*9������,�2�W

������7� $�6�>+5�'Pubs�7��$��-����(����Z��/�>��������4@�'�

Pubs���U��)F�����,������&5�FgQ���,����7�fu%�&��-�������U2�������7�Y[,��,�@��D�'�

&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,������Northwind������������

����!���+!7�8���7u@�&��,����,��Z��E5�����?,�) access���!�visual basic����!7�����!/���!/�����&5�!FgQ���!,����!��S�!+�%���

northwind�����&�)7<��'Northwind��������>�O2������ sql server ��J�,����O2��Y[,�#�������7��6�]��sql server `sst�

�7�fu%�'��),���&5�FgQ���,���>�pubs��2���,�@��D����������sql server���!7�Y[,��'��&5�!FgQ���!,���northwind���!��

#���U��)F������7�R���Z��/�>����� 4�����/��)��'�

Pubs���2�northwind���������������!/�Y[,��,�@��D������2��6�����6���2*�������#��U�������4)5�����'����+�+!]F������G�!FgQ����!�����

��)/��LO������-����/� ������2���4,<�Y[,�2��6�������������3��'�

h)/�5��AMh)/�5��AMh)/�5��AMh)/�5��AM��������

�����C�6��/���)*����2����FgQ���,��&5�����������!$����n��G�1�(5���3����/����,�&�D��B�B%�����}����������U<�#���!7�U2�!��G�!FgQ���! @

�����������������2���9$2������)*�����E���+7��/�&9�6�$�8�,�3�����,��-�&5�FgQ���,������3�+,���+F���'�����������!���G�!��{5�>!���!B�B%���

h)/�5��AM�C�6�������x��3����AM��'��L���H;O��) &5�FgQ���,����������checkpoint �)*��������i�N�+5��*����

�C�6�����H;O�U<��5���7��AM�G���{5&5�FgQ���,���,�3�����+F��'�

�&5�FgQ���,��������������8�����&6��[5�&�����h��<���log���������������&!������!*������!���&!A�55�&!�����������&L�AQ���Q����

����C�6����&6��[5�&5�FgQ���,�����������F��h��6��_F���������������������#���!/��!$��������#�!D��>!���!�����&A�55�&�����������3���&�

������� �7�����@<�\�;�� H,�������7������G���{5�'Log���������2����������/����&5���{5���&5�!FgQ���,�������������2<�0!+D������!7���!+F��

C�6��2������4,<�#��������) ��H;O�$����2��)*�����$���&*��6&5�FgQ���,���)*�����+F��'�

����C[6�������x�����43)/�5�2��49(1������������U�!)/���!����,�3!����!AM��!,�� ��������,�@�>���/� #��X���a�]���>������B�1��&+/�

������/���7�����7���Q�J�log�����������������������E,<�#��KX��2��,�3���CB�)��U<�����$�������/�����&�D�>�O2�������2�����&5�!FgQ���!,���

����)*����������3�,��&9���'���������+7������*)�&5�FgQ���,�����������C�6�2��$�������7�����7������/��&5�FgQ���,�������h)/�!5��AM�2�

7�����7�������'��

�&7�>5�&�����&7�>5�&�����&7�>5�&�����&7�>5�&����&5�FgQ���,��&5�FgQ���,��&5�FgQ���,��&5�FgQ���,�����������2�D�2�D�2�D�2�D����

������������������������� !4��&5�!FgQ���!,������-��������2�D��#��,�����N��/�~�$�����8������7�C�*35����#����D��#��&5�FgQ���,����

�)���,�'�����2�D����������������@��;(�������������%��6�������L���,����excel������7���6@�H,�����'���$������#���2�D��

�)�����4,�������4���D���2��$�������7�C�*35�'�,�3�����-.��2��D�����B�B%����&5�FgQ���,�������$������

���������������2�D��/���������a�,��/����������6�C��7��2�D�$�eL5�>�)?+$���������!$����U�3!,�����!���U<�C��7�'�������!F��1�U��!��!$

����������������7���-.�U����>������,��������� �� ��*)��������������-����T�[J��'�����4,��!��#��N��!/�!$����>�,��1�>��#��&�J5

�)/���@�9D������fu%���2�&,����#2��8U�7��6�]��#�� ������/���7�_F����,�����'�

x ��������������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 8: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

������2�D����&$��,�U�)/�publisher�����&5�FgQ���,������pubs�� #��,��&����'�����C*7�����/���[5�i��������2��#����7������h�+,�

sql server management studio�������!L��C[!6�������U<�#�����(�!����!BQ��!��2���������)����$������#��&*��/���7���45�

���� �$��-�\�]�5�'�

�C*7�i������C*7�����/�&O2�D�i��7������U�3,��#���t���7�C�*35������U�����'�����������!B���! ��*)��>�6@�H,����U2����4,�������L5

������������D2��2�D��������7��������U2���@��&�%�������$��-�&1������M�'��2�D������>��������������!/���'������!��������!���!/�&!�12

��������������#��� /��$���/�����L5� �)*���fu%�U<�#���� �)*����6�]���2�D������������/��$������a�,�����8��,�3���������$��������a�!,��9�!���

��3�����;��2�eL5�U��������'�

��*,��*,��*,��*,�� 7�����7�����7�����u���,�#�����N��B�,��>�O2�� $��J���>��'Sql server���P6�&�������� �,���������/�����������9��1�>��

��9/�G�+9/�#��������&PL�������2� �7�����7���&O�- �)/����(���� ���U��)F������'��)/���2�B������2�>���������}���/�&�12

��������������G��AF�#�����(����N��)$�����7�����7�����D2��4,����N�,����&O�-���P6select���������!�����4$������� �����5�A#���4,�����

������������D2��E��,�>�����U���������'�����9/�G�+9/�2�&O�-���P6�#�����(�����4���(7<�8��$��-�#�l<����AB5��4,����N�,���

���4��E)$�,�2�'�������,���#�E�������/�>���6��2*���� ��/����� $��-�\�]�5���������'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 9: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��C*7�i`�

��

�$�I-�7�$�I-�7�$�I-�7�$�I-�7tttt������������

����@������2�D���Z� ���4 �C-����4)5��/�����&j�7�I-�7����������D2��'����!4�,����4[-�7��),���I-�7�����!

�������������������������������!�9/����!B���!��+!7�&!�12��/��,������D2�T�-�����,������7�Y5�����9/���B��&PL�:��)*���C+F�f��L+O�����

��)/��LD�����-�H,������G�FgQ�������,������U<�>�7�������*�������)*����6���������9/�����7�����7��'�

��E��D��F��h��6���������&�472��I-�7���)*��� $�6�����'�,�3�����)���BAQ������2������4[-�7���

���7�-��������������������������7�����7���I-�7�a�,�>��#��&*���,������^B6��2�D�$������+7�'�����������>!���!��8��7�������7�-�I-�7���@�

�������������������������7�Y5��I-�7��������&*��6�������������D2��)A��U��)F��������7�-�I-�7��/�&O2�D��/����)L��'����!�&�12

������������������)$��-�U<�G�;(�����+7�����7�-�I-�7���)*������u@�I-�7����f��L+O������'���������!�����f��L+O���������G�FgQ�

�,�3���Y5��G�;(�����+7'�

���l�7�-�7�-�7�-�7�-����������������������7�����7����2�D�$��������a�,�>��#�����#����L5���,�������+7�'��������2��[!5��!����3����$�A7������>���c�

�I-�7�����������+7�>$.�����'����!�)/���!�������!$�������$�����#�D���+7�����/��)*������7��������B���) ����I-�7�#��a�,�>��'

������������������Z��/���4�,��������9/�G�+9/�I-�7�#�������>��8����f��L+O����������'���������������!/�&�4$�@�!���!/���!7�����!7�����!��!�

t ��������

� view � ���������

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

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 10: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��,����I-�7��indexed views�����7�-�I-�7���C1��%������)7�����7�������7�-��l�I-�7�$��),������*,<�#��h��

����7������)7�'�

Triggers��������

�����������������D2��2�D�Z� ��4 �C-���^B6��/�����&j�7��5���'��������������������!Q��!���!/��)��!$�&!B�)���!/�#��&�4�+�!1��!$��5

&,����#2��2��6�]��8�fu%��),���IJ3��������������5���5��,�3����D���+7��2�D�'�

�����������������2��/�&�$�����8��3�������8�,2����*�����#������������),�������$�5&5�FgQ���,���&��������,�3���&,����#2������7�

������7���F��^�7�2�^���]�&PL���,�7�>j+����5��))*��'�

���1���1���1���1������������

���1���constrain���������2�D���eL5����^B6��/�����&j�7�����������D2���'��������!���U�3+�����A7����������1�>����/�'�����!�1�>!�

���������������������������!����N��!/�$�2��,����z6� $����2��>��� @�:���������&� ��X*��(%�����>*+����49%������$�5������+$��4��u@

�,��������,�@��D'�

C�6���4$2@C�6���4$2@C�6���4$2@C�6���4$2@�s�s�s�s��������

���������������,������d9L����/���� �$�2��2��D��+$�v6�h�������������+7�&5�FgQ�����#���l���log�������,�3�������4�,�C�6������'

���&9���C�6��2@��/�����&j�7�#���PF���C�6�>������3��������,��'�������!�$��J,����!/��!�@���!1�h!��<�>������+7�� @

�7��'�

SQL SERVER�#���3���&+/��/��$�����#�D���+7����b`sss��,�M�C�6��`��)/���E����'�5��!��@������#�!�,�C!�6���3!������!L

�#������S�+�%����7��SQL SERVER���,��'��������!-��!),��������,�!7��6�!]��&9���C�6��2@�����),��������,�M���49�6�>�

���������)7��������,�M�C�6��) �����#��&�+�1�'������������D2�&9���C�6��2@����/�&�12����/�“PRIMARY”���3!��������,���

���,�������+7`tt���!7�����7�����,�M�C�6��2@��'������G����!����!���!�,�M�C!�6��!CREATE DATABASE���!�ALTER

DATABASE��3�����E��'�

N�@��N�@��N�@��N�@���b�b�b�b��������

�������&%�Q�2��#������,��/�&�12�&5�FgQ���,�������� ��5� �$����\�]�5�����N�@�!��������������&5�!FgQ���!,���������R!7�C[!(����!���

�$��-���������������/���7�����7���Q�J�����>�+$�^B6�U�)/������8���� N�@���&5�FgQ���,����&!%�Q�#����[5�h�+,������!,��

&5�FgQ������������������!����2��D�>���^��2��2��2�D�$���4,����N�,�8�e9�J���2��D�C��7��/������'���������c�2��+!7��!���>!*+��N�@�!��

�����i���D���x�����ERD�����7������)7�����'�������ERD��&5�FgQ���,�������������3!��� ��!B5��+�!1�2���!������!4���D�������!),��

���,#���������[;�����^��2��2����),�����,#����2����7�����-��������

� ����������

�s ������������

���!���� �����������` ����� �"�#�$���

�b �%&�%'��

�x ����������������(��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 11: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�s

��*,��*,��*,��*,��������� @�����g/��4,<�SQL SERVER `sst�&%�Q���$�����������,����7�&%�Q�����2���&5�!FgQ���,������!�*(5�&!+/�

��,����7�'���$������8�B�B%����������������(���������&%�Q��O�2����&%�Q��c�O�N�@�����������������!7��!�6u����$����,��!���N��/�~�$�8

�&%�QER�)*�+,���F�����'�

���*,��*,��*,��*,��������������/�a27��4,<����C1��%�U������2��,����/� $�6�&%�Q��������N#S��������+$�&%�Q���$������>��8�U�)/�5��'���+�+!]

C��������ERD��$������2���)/��LO������'�

�C*7�`i� ���N�@����������2��D�#��&PL���/�����&5�FgQ���,���ADVENTREWORKS�$����U�3,��'�>��N�@�!��

�����7��� 4A���+7������������������>*+��� @������!���������������������&5�!FgQ���!,�����!)*���\3!5��'����2��!�9/�U�!*<��!�

����)/��D�5���4)�����gF�>�)?+$����������)*���IJ3������2�D�2��>���������a�,��/����'�������[6�C[(������������2������^!��2�����!����

������,����������2��/� �$��-�_;���@���-���� �$��-��4'�

�4$�@���4$�@���4$�@���4$�@���t�t�t�t������������

�������������#�E���2�D����),�����@�����'�������������������-�����*)���D������7�&�����(�����2�D����),����������3��������@�����-

�������,���������~�$�'���������������������$����U�3,�����2�D�C-�����$�������/�������7���-���h���#��RQ����AB5���@�����8�C��B�����'

�������RQ�>��&5�FgQ���,���������N6����QUERY����3�����-.��'��>�QUERY���������) �#���$������&��#������������!+$����AD���,2��

�������,��-�6��2�D��) �����#��U������3�����'�����������>*+����7�&��#�����$�����������@���eL5�����������&PL���,�7���AE���/

�,#������2<����@������U�7������U�3,��������^�7�#�'�

��5SQL SERVER `sss�,�/�&����$�3��������@���U����/��/������������U�/���)/��4$�@���#��&9���f�$�'���/�>�

���������2�������&@����2���)��'���������������������!@��>���!)��8�!�)/��!�)/�����!))/�&!����$�3��U����/��/����������,�������+7��4$�@�����

�����������7���&+/���6����������^B6������2�D���#��&�+�1��������+����2�z�B%�G��r�D���V���������������!����@�������,�������+7

�����������E���)7����+$��������������/�&�4,�����)/�'��������������U����!/��!*�������!7�&%�Q�Y��)��������,��������@���U<����2gF

�))/��E��D������-�#��,��������������2]��l�G�FgQ��>�������)7�A,���AE�'�

��������������������I-�7���4$�@���N�,����&�4$�@��� �,���������8��@���#�����(����������>5�&���������������2gF������!)/���E�� �'��>!�

����������������� �)/���E�� $�I-�7�����@�����)/���� �,����������*)���E���������a��,���),���8��@���a�,�'�����������!,��������!/�>���E��,

��7�����7����M�5�&���/��&()��&$�@�2��AV��&$�@���

� ���������������C�O����)��$�����I-�7���4$�@���#���L���,����a�D����2�D�>�) �����/�&�4$�@�����G�!�9+F��*)�

z�;O�����7�N�E,��gA1��2��D�>���'

� ��������������������>!�����:��3�����-.�I-�7�#��&3J��U��)F����2���7��A��;��gA1���@��������7�N�E,��a�+�D��G��9+F

��������3���N�E,��������a�+�D���/�&)L���������������3!���&,�!���#2�����6�]��������/�&�12�����!,������KX!��2�8

�I-�7�G�FgQ��#���+�B�����7���,��-'

� ����������������������!@��:��!7�#2���!���!�����@���I-�7��*)��C�O������)��$����#�W#�����)�#��,��6�]��2�fu%�G��9+F

����#��,��,������&,����#2��G��9+F��������1��M�5��;5�&,����#2�����G��9+F��9�����I-�7����9/�U���

�7�����7�����3���W#���'

�C[6�������s����d�+F�&$��,��7��� �$��-�&���/����p����Cr���'

�t

)��*���� ��������+��,�

�� join

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 12: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��

O�2�O�2�O�2�O�2���7���-.���4��7���-.���4��7���-.���4��7���-.���4������������

O�2�������7���-.���4sproc�h�����U��#����&�%2�8U�)/��5���7u@�#���$� .Net�����&�!�,����,��������)�������$�����8�

SQL server�,�������'�

O�2��G��������������7���-.���4Transact-SQL������>�6!@���!���!/�&,�!�#�Query��� SQL server ���&!�����(�!���

��7��,�@�&����1�&B�)���F�+E��������/��)��$'O�2��>�)?+$�2��$������8�$�{���#�����(�����#�D����7���-.���4Select�

�,���������*5���$��B9%2'�

Sproc��2�������������U����6�Q�-�����4)5��������>�) ��$��Server���))/�&���]F��4,<��/����Q�������

� ��������������������!����+/��*A7���6�5�Q�-�>�+$���8��,����a�D��� ���������4)58G������#��)9����7������D���

��/���D�O�2�����#��,��������7���-.���4'

� ogA1��,����7��)�4�2�C�X��/�'��))/�&��&�D��6���12�����,�7�&���D���/�&�12�>���)�'

� &��Q�#���),��5�dO�2��,���������E�����(������9��1�k�;O�>�+$���2��,�7�&,��-�6������7���-.���4'�

�������������4,��#�#��N��/�$�#����,��5�&���+7��2gF���.Net�����������$�/�C-��8����,����U�/��6�]������T-SQL�����8�O�2������!�-.���!4

��)/����(������7'�

���/��9��2������7�eL5�0���5���/��9��2������7�eL5�0���5���/��9��2������7�eL5�0���5���/��9��2������7�eL5�0���5������������

5�0���5����/��9��2������7�eL���VDF��$����������#���4�$�A7O�2��4,<��*)��#���l���8��,������7���-.���4��

� ���$������a��,���3���#���������B���),��5�&�SQL Server�),��@��'C��7���)V����������text8ntext�8

image8cursor�8time stamp�)��$�8'

� ������2�;��#��=��-��),��5�&+,������,��u����M�5���-�'`s������o������������������!-����2�!;��#��=��!-���!� �����),��5�&+,��4,<�

�����)7�����7���&����'�������������8��!)$��!��{5����&O2�D��),��5�&+,�8��,�+,����e-mail���������!$��������!��)�!�(��

�)$����{5����&5�FgQ���,����� ����'�VDF��������������4,��#�����+7��/��)��$�&L���5���A7��������$�������),�������,�����&��,����,��.Net8VB�����C++������!))/�&!����E��'���+!7

���)/��6�������&�3@�����B����2�����(��0��5��������{�����#���3�����,��5�&�'�

VDF�����$�SQL Server�3�������/�&L���5����G2�(5���)���&������2����4,��#����,����'����!$�{���U����6�����+7�@�By

Ref������VB����U����6���pointer��������$�C++���������&�)7���'���������������!E)�����&O��L���4,<������/� �����+7��������W#���vF���

��������������������D2������>����� $�&��-�����������:��,���,���D2�'����������������N�!,��!��T�[!J��&�3!@�������a�,�����,��5�&���+7��*��Q���

������0��5�#������2�D'�

�����C[6������������>�b��/� �$��-�&����'�

��43B,�2�U����/��43B,�2�U����/��43B,�2�U����/��43B,�2�U����/`�`�`�`�����

���������)��$� $���)/�����3�+$�����2��>�'�����AB5��/������4�����U����/o������� ���������2�2����L��Logins���� ����H,���'������!Q��!�

����2��),��5�&���/�������6�����)7��7�>�8�[�J�SQL Server��))/�&������4�,�����,�7�'�

���Store Procedures ���User Defined Functions `s�Side effect `��Users and Rules

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 13: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�`

����2��/���6�$SQL Server ���7����7�&�����(�����/�&��)��������������� �B�����l��� �B���������!7��,����/�����

���7�&��'�

��)��$������2�hB,��) ��������8�U����/�&L1�2���Q����'�������&[J7���$��/��/�&O�+F�SQL Server�������!)$�&!��N�E,��

+�B����U��5�&�o����/�����/���;���)��$�hB,�U<�C��7����/�>�) ��/�hB,�����'�

>�,��1>�,��1>�,��1>�,��1````````����

�����������������))/�&���2�;������,�7��2�D������2�),��5�&���/����&5�FgQ���$��1�2�>�,��1'�����������U�!/��6�!]���!�&,����#2�����G��9+F�@��

������������7��$��-����G��9+F�U<8���7�U�,�1���#��&�J5�_F������/���'&��U�,�1����2gF������������2�!;�����,��5����a�!,

��������/�^��5���7����������)/���+F�'�����������������!AB5��!4,<��!*9���)��!�,��!7���-����-�����$��1�8�>�,��1�fg-��o������������!6�#��&�+�!1�

��)��$�T�-��2�D��������7�IJ3�'�

��4,<�#��������D���$��J�,����2���7�R���&+�1���$��J�,�������@#��������4)5�>�,��1�/�Z�)�D�'�

��4]6�h����4]6�h����4]6�h����4]6�h��`b`b`b`b����

� ����v6�h���a�,�2��'����,��7����a�,�����8������7�����-����-����v6�h���a�,���

������������������))/�&��\35��2�D���������IJ3��U�������/��������������6��*9���'�������������U��!)F��!�������!�1��!���/�&5����U�+$���

������������7���U��)F�������>�,��1�2�����6�#��&�+�1���� ��6@�H,�����'��������))/�&����A,�����f�$����4,<����'�����U�/��6�]��N��)$����@�

������������������������8��!7�����!7�IJ3��v6�h������B����U����U<���2���7�����*,�IJ3�8�U�����������������B���+7�8���/���

����������������7�&���6�]��v6�h���������B�� $���5���5����Q�������B����'����4]6�h���#���,��)����������C[!6�������������� �$��!-�&!����

��/'�

����/�^��5���7�eL5������a��,�����/�^��5���7�eL5������a��,�����/�^��5���7�eL5������a��,�����/�^��5���7�eL5������a��,�`x`x`x`x����

��)��$� �������7�eL5������a��,�� �+L5����/�^��5���7�eL5������a��,�'�#���J�,�>��a27���SQL Server�U�*���>��

AB5o���������2�;��U2���2�U����&��'�>�)?+$�2���O2����$��J�,�� �@SQL Server`sss���^!��5���!7�eL5����������

��,�7�&���2�;����D��������a��,��#��e9�J����$�9�6���������01�2�������8��)�7���������/�'���SQL Server`sst���+!7�8�

���$�&9A+���U�/���B����9��1.Net��7�����$��-�U�5��-������a��,���������'�7��������a�,�����,��5�&���/��)L��>�����7����

AB5��/o�����7�������,������/������� �$�.Net����4�,���-����8���)/���-.�'�

��*,��*,��*,��*,��������)/�p���%�������>�����}��������#��,���5���)*������(�����+7��/���������a�,����������P6�>�)?+$�2���������������������#�!���!�-.

�����+7�'�����������-�#��,����������������$����1�&�%�������+7�� @������������AB5���/�>���/���7�����7��Q�-��������8���)/�eL5����o�����M�!5�

�����������������B�1��>����7�>j���8���)/�&�����1������,<�������K��8������&���/�h$�/�������#o��������������=���%���+7��/�������� ��'���!

���$��N�E,�������/�>��8�����>��#�����������h��#<��h��#<��h��#<�'�

``�Rules `b�Defaults `x�User-Defined Data Types

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 14: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�b

�5�/�5�/�5�/�5�/�C��/�>�����4@�O�C��/�>�����4@�O�C��/�>�����4@�O�C��/�>�����4@�O`t`t`t`t����

�����������������������>�!����E��!D��/�&�4,����������>���#��IJ3��G�L�1���E��D��/��$������#��&�4�7��,��$������C��/�>�����4@�O�5�/

������������������������&���7��,��4,<�����/�&�4,����2��,�����1��2�D���4�,��������7��>���*,<�C�O������3J��&���F��������L6��4,<����C��/

$��������7���,�7��,�7�&+,�&,���#2�������5���5����Q������7���+F��&5�FgQ���,���������{5��/�&�12�2)��#��8��)���'�

�����a��,������a��,������a��,������a��,���$���$���$���$�����SQL SERVER

��������7������+7��/�U�)/�&5�FgQ���,���SQL Server���#��&!*���!$��)�@���� �7�����7���&$��,������4��8���7��)7<�

&�4+�<�>5�����)���/�SQL Server��)/�&����������$�������/�&��;��$���������������!$������a��!,�'����!��!������!7���

�������������������$������a��,��U��+46�U2����,��5�&+,���6�~�$�2���7���6@�H,����U�@�)$���L��5�����Z��/�>���*)��C�O�����8���7��

�������������H,����>��8��7�����)$���L��5�����5�/�U��#�������������������^!B6��E)��2��))/�&����/��,�� ��$������a��,����,���&���+7��/�N�@�&

�T�[J����$������a��,����$��-�&�SQL Server�������������'�

�&9�����$������a��,�SQL SERVER `sst������7������h�+,�#��2�D�������

�������$�������

�������g/������a�,�N�,�

����>*+������>��

�7�����))/���+@�

��

�integer Bit

�&9�-����F������)�@�>�

��+7����2������T�[�-��y���

�>�������F���$��&���#�D��i�

��b�`����5�b�`i���-�������

AB5��/��)/���-.o������

��������95�

��integer Bigint

�>������F���+$�x��2�

x�b8��x�8`i��5��x��8x�b�

8�x��8`�

x�integer Int

�>������F���+$b`���i��5�

b`����`�integer Small Int

�>������F���+$s��5�`t����integer Tiny Int

��#���2����M��1��������F�

�#���4,<�i�b���si���5�

�i�b���s���2��$����

�)��$�f�����N�,�

�{���Decimal Numeric

Decimal

��Numeric

�#��&O�����$�%�2�b�`i�

��5�b�`2�eF�P���1�����x�

���3F�� 1�'�

��Money Money

`t�Full-text catalogue

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 15: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�x

�>���/���7�����7��������

��7���&O����%�2�$��,��5�&��a�,

�S��^B6��,�

�#��&O����%�2b�x��,��x��

�8`�xi�5��

b�x�,��x��8�`�x���

x�Money Small Money

��A1�U���@�<���

��)/�&��8���V��U��)F����

�`s��float����2������/

��1�IJ3�����

�)/�&��'�

�U���@�<��/���)/��1�

���2�;�������,������������L5

#���4,<�

bs��E�����i�5��

bs��E���������'�

�{���&AB5����F��

Float��������/ANSI�a�,�

Real������,� $��

��7�&��'�

���,�c��2��#��U��#�2�w��5

��ss�>r2c� 37��5�`s������

�B�1�����1��

x��w��5���U��#�Small Date Time

��/������@����7���

����#��,������4)5�@����7��>�

�P6�����

���7���������8���@�&�

�&���E��,��F�+E���/���7��

���-������#���P6��,��5

�$��T�[�-�i���������B��>��

��$��-��E��,��F�+E��������

���'�

��Special Numeric

Cursor

�����/���2����B���

,��&5�FgQ����>������*�

��9��2������5���5����Q�������B�

&5�FgQ���,����/��12�$�

�&,���#2��������6�]������/�

U����@��&�%���7�&�

Timestamp��9��2����

VPDATE���1��M�5��;5�

�7�����6�,�

��Special

Numeric (binary)

Timestamp Rowversion

�&��+F����*����)7��

�T�[J��GUID����,�+]

���*�U�*��2�U��#�����5���7

�7���

���Special

Numeric �binary)

Unique Identifier

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 16: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�t

���Q������/���/�����

���M'���Q��/����B����4�,���

���7�IJ3����Q#����+/

�&���6�]��&O�-���P6��,���

��#��,��U�+$������Q��5���7

�2��)���,��*�,���$���������

���Q��)�3���sss�����/���/��

�{����/���/�char

���Q������/���/�����

��{��'���7�����&O�-���P6

���7�&+,��6�]��'��*�,������

����,�'��7����Q��)�3���sss�

���,��5�&���+7�����8������/���/

���9/��+9/�#�Max���)/����(����

���#���������Q�����9�6����5

� �7�����7���'�#���3��b��`�

���������'�

��{����/���/�varchar

SQL Server `sst�#��

�&��&,�A��3��&+�1�a�,�>�

#��U<���D�����)/�

varchar(max)����(����

���)/'�

�{����/���/�Text

������/���/��*�,������

����B����4�,�����8����M���Q

���Q�#����+/���Q��/

�P6��,������7�IJ3��&O�-��

��3����6�]�'���>����Q��)�3

������a�,xsss�����/���/�'

�{�����*�,��Nchar

���Q������/��/�����

�{���'���7�����&O�-���P6

���7�&+,��6�]�'�

���7����Q��)�3��xsss�

������+7�����8������/���/

�y������/���/��9�6���>�7��

���9/��+9/�#�max���)/����(����

'�

��#���3��b��`����������

���{���*�,��Nvarchar

������a�,���A7Text��4)5�8�

�&+�1�a�,�>��#��&,�A��3�����

���

SQL Server `sst ���1�

������'#�� $������>�����

��{����*�,��Ntext

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 17: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��

Nvarchar(max)����(����

���)/�'��������a�,�>�

�����{�����Q������/���/

�)/�&������4�,'�

���Q�����)�����������M

���Q��)�3������sss������{����)���Binary

���Q�����)��������sss�

���9/��+9/�#����,��5�&������8����

max���U�/�IJ3������

��9�6LOB���)/����(����'�

��#���3��b��`������

��{�����)���VarBinary

SQL Server `sst�#��

�&��&,�A��3��&+�1�a�,�>�

��D�����)/#��U<��

Varchar(max)����(����

���)/'�

��{����)���Image

��+F�a�,�>�o����/�����

���#��&�3@#�����$��F�+E����

����/�^��5���7�eL5�0��5

���7�&�����(����'����(����C��1

�eL5���������a�,���U��)F���

����,��2�D'

��2��G2�(���Table

������a�,���A7�a�,�>�

variant����VB�2�C++������'

��+Fo����U��)F����a�,�>��

���1�����+7��/�����fm�

���$������a��,���#���&�

�>���:����4�,�U<���������

����(����U<�#��&,��#��+7��/��)L�

�����U�������/���)/�&�

�#���3�������5������=���%��0��5

�p�A5���2��)/���/������a�,��

��7�����7��'�

g-��fVB�����8�

��+7�������a�,�>��#�����(���

;���,<��5�������$��-���AE�o��

���)/�C�A5������a�,�����'�

��2�G2�(���Sql_variant

���$�����������9�6��

XML�)/�&��eL5�'�

��$������&E)���A�F��U�*��

�������

�{�����/���/�XML

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 18: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��

XML schema� $�6�

�0���5�#��2��)/�&�XML��@�

���(����

/�&���)'�

��,�������L�������a�,���&��,����,����4,��#����������>���3���'����8���V�����SQL Server���!�int�����!L��long����

Visual Basic�����/�&�$9�X��/�2��4+�����#�������������2�C++������L���,����7�Y�/5�int������$��-�'�

��*,��SQL Server����,���gF�U2�����$����������&��4(��~�$�'�

���$������a��,��8�C/���Q���SQL Server��,����&��,����,����4,��#����$������a��,����A7�������&�$�/��/��'���U�!/��6�!]�

���7�&���4,<�z�;O��_F����$���7��U�/��6�]������8��7����$��-�0+D�C��%��� $������F�2�'�

�����/�&�12���������������������&)+]���Q�����$�>��#��&PL����$��&��I�[J5� $�������e9�J��a��,��#��&�$��9�6����$�{��������5���5����Q�����

��������,�7�&��C�A5� $����'�����;���),��5�&���4F�,�>���3��o������,�7�C�A5���'�B�1���+7o�������������&!�����&F�!,��! ��!/���$��-�IJ3��

������)/�C�A5���$��-���'������>����� $�����L5�������,���,�U�7�C�A5���9��1�>��'��C*7bi��������������!)$��U�3!,��!/��!��������+,�C��7�

�����>*+��Gg�A5���

�\��C�A5��

A5��&)+]�C�

���,�>*+��C�A5��

&)+]�C�A5�M���������>*+���/����B�����1��U�7� /�0,����5�����\��C�A5��)�#��,��

������&5�FgQ����4*,���>���&)+]�C�A5XML�4)5�����������������C�A5�G��[)���l�����)7��������a��,��U2����[B��2���A���/�����>*+��&,��#��

��@�N�E,������\�'

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 19: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��

�������������������������G��AF� $��J��>��@�� �)/�&���������V���� $����������:� �)/�C�A5����a�,����������������a�,���� ������������

����������Today's date is���Q���� �)/��� ���*�������������������������!�)��������!��� ,��5�&�8��7���#2���w��5�

� ���)��

�()GETDATE+ SELECT ‘Today’’s date is ‘

��*,��*,��*,��*,��������G�������Z��/������������Transact-SQL������������!����������E��,�����8����� �$��-�\�]�5�C[(����Q�������S����������),���

��7���>72���+7�����'�

����7�&��$�m�#�N����#�G���������D�����

�Msg `x�, Level ��, State �, Line �

Syntax error converting datetime from character string�

B�1�o�� ��7�����H�,������/����,���� ��'�0��5�������S���G���������$���#�D��U�)/�convert( ) �)/��D����

�SELECT “Today’s date is “ + CONVERT(varchar(�`), GETDATE(),�s�)

��

�����#�G�������S�����������D���E��,����

Today’s date is s��s��`sss�

(� row(s) affected)

�0��5�&D2-��),���8�U��#�2�w��5���$������a��,�Gatedate�( )���7�������a�,���C�A5�C��1�&)+]���Q����8�`���!7���),�����

�Today's date is ��� ����N�E,��U����-����C�A5�>�����C�O��>�+$����8��)���,��'�0���5��,��JA7�-Cast�2�Convert ( )�8�

������a��,��#���������>������C�A5�C+F��5��,#���&�����1������SQL Server�0���5����8� �$��N�E,��Cast�2�Convert ( )�������

�-�\�]�5���L��C[6����� �$��'�

�����$������a��,�����p����0���5��3���8���g-���Q���SQL Server�����&!��C!+F�&�!�,��!��,����4,��#�������3��0���5���A7�

���))/�'������������������������$��-�&���+7��/������������a�,��*��Q�����))/�&�����#��+/�&��,����,����$��-�#����@�9D�����0���5�>�

��))/�&����O�5�'�

���������/���7�����7��������������������������!/���9+F�a�,��/���7�>j+���2��7����$��-�&52�(���&)L����F�2�w��5�����D�2�����

������=���%���+7��/�������� �U�+$�����#��,�������'�

���$��������$��������$��������$�����NULL����

����������������������,�����B��T�-�U�����������/���7�����7��������/�&�12���6��&��&1�(5��� �����������!��:��!�,���&+,��,<���B���/�&�12�

���V��U��)F�� �)/�&���A;���)/�&����-.�T�-���������������&,�X+/����*9+F�G�FgQ���/����/��������������'�

�������������������#��C!A1�2��2�����!��#��CA1��������/��~�$��+7�����8�������7u@����������A�,��7���������$�9�6�#��&*���)/���[5�U�)/�

��U�����������(����F�����>*+������,�&5�FgQ���,������/��>�O2percent Growth���)/����2��'����G�!FgQ����!F�>��!<

`��String

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 20: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��

���������������������������!7���!����(!���+!7��/��))/�*6�����>*+���,���,�&FgQ��a�]���>��#���/����6��"�)*��� $�6��+7��������&����

B���/�����>����L1�2��/�&5������������7����,���+,�����U<�������U����>�����'�

�,��/����B�����)7���IJ3��NULL��3�����(@��'��E3,�����C1��%�N�/�&��K��5�>���/�&��,����,���g/�$���

������B��eL5�&�,�� ��������NULL�����������������B����:��7���(@�eL5�����/����,�+$����������������NULL������&!)L��>!�����

�����+7��/�������������,���&+,��,<����p�������B�'�����,��5�&����B��>�����8�bx����8�`�xi����7���'��������B����g-���Q���NULL����&!)L�����

�7�����+F��C��1��l���7���eL5�U2��'�

���$����)7���$����)7���$����)7���$����)7SQL Server���7���������7���������7���������7����������

������7����������&5�FgQ��a�,��+$�U�)/�SQL Server���,��!���B�1��&$��,�U�)/���������������!7�����u!�SQL Server��&!��

#��,���

�"��,����N�,��������� �"��,����N�,��������� �"��,����N�,��������� �"��,����N�,��������� ����

��+Fo�������� �$�SQL Server��7����$��-�N�,����'�������7������U�3,����O������������#������L5��E)���'�

�4,����

�$��1���������������������������

�C�6���4$2@�

�$�2��

�43B,�

���/�^��5���7�eL5�a�,�

�2��D�

>�,��1�

�$�I-�7�

&5�FgQ����4*,���

���������2�2�

�49�6�

O�2���7��.���4�

�4$�@���

�4]6�h���

�$�5�

>���N�+5���4@�O�5�/�

���/�^��5���7�eL5�0���5�

�������7����$��-����������O�>��'������$����D���������Y9l��������)���,�&L1�2����7���/������)��$�N�,���������'���#����H)����>����/�>�

�7������(����C��1�2���(��N�,�$��/����'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 21: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

`s

���u���,��F��1���u���,��F��1���u���,��F��1���u���,��F��1����

�������u���,��F��1��7����7��U<����C[6������������/����,�+$SQL Server�����(�!����#�D���+7����&�%��/�����U��<�������

������������$��&�� $�������9/�G�+9/�2�&O�-���$�P6�#�'�������,���+7�����>*+��>�,��1�>�������������������!��2���!7�����!7���&A��)��,���4��J�

���)/���E���������-�'�

��)��$�&9����F��1�#������

� �����������*�,������/�f%������������7��N�,`���������7�#�l<�������7�eL5��'�������>�5S�f2%�C��7��3���f2%�>�A-Z��2�

a-z��������'��f2%�>���G2�(5�� @�A��2��a���+7��2����)�*�������������,����'����!),��5�&!���4,��#��N��/�$����

����������,2����/����#�E��N�,���a27�����'���������������������#���4��J�,���+7���L��f2%���L��f2%������2��f%�#���L�

�'AB5o����)/�Z�J�,������$�/���/��+$���,��5�&��'

� �&O�+L�����7�������,��5�&��N�,���`��&�1������7������2��/���/�����7����/���/�'

� ����9/�G�+9/�����/�&��,�$SQL Server���!���@�C-��������7�����7�����D2�&O�-���P6�U<�������7���U��*���

���������72/����[ ]�����7���'����!/����@#�!��\�������,�7�&����-�)7����9/�G�+9/�U��)F����&5�+9/�� ��/�>�

������+7&5�FgQ���,���/�>�L����-�������&�������'�

��*,��*,��*,��*,�������!)��4/��2����!/��!����!))/�IJ3!��U��)F�����,��5�&��&,��#�^B6�����@��/���7�����7�������� SET QUOTED –

IDENTIFIER��7�����L6��'��72/�#�����(����[ ]���������8��)!7�����!7���&$�A�!7��G�!+�H)5��!���>*+��U����/��/����������

��7�&������5'�

��+F�>�,��1�>��o����������7���+$����u@�,�2���7�&����-�)7��$��4��)7����u���,�>�,��1�U��)F����SQL Server �!5��;5�o���M

��$��&����1�'���7���6@�H,����&��-����7����������>*+������&6�]���F��1'�

*,*,*,*,��������������9/�G�+9/�#��U�*,����(������+$���� ������������2����/�5SQL Server��&O�-���P6�2�'�����#������!��>!���! �!@

�)7���#����������+7���������>*+�������)��$�#�E��&*�)*5�k�;O'�

��g-��g-��g-��g-����

����0D���&�12�&@��,#����������#����������),��RDBMS ��,�7�&��#����9j���� �/�������&PL����)/�&��*6��$�'���! �@

���������J�,��U�,��-��������Z��/�>���/����6���3������������������8��!,����&5�!FgQ���4,����2��$�������#�����-.� �$�(����������))/�&��Z

���������������������������&5�!FgQ���!,������2�D�����L52��,�7�&�������,��2�D��4,����2��$���>���F�+E���/��(@�����G����>���l���

��,#���&�'���7�&��_F�����#2����/������� RDBMS�����&��7��8��)7��� 4���������$����!F��1��5��,#���&�����1�����+7��/

���)/�eL5�����)��$�^A5��&5��FgQ���,��������7���-.���4$��������/�&9+F�2����E5'�

��)��$�a�,�������&��,����,����4,��#��),���&5��FgQ���,�����$������'�����+7���$��/�#��&*SQL Server�U�/�&����

���$������a�,'�

��$������a��,�����������������������>!���!��&��,����,����4,��#���$������a��,���7��,�&�,�� ��������2�8��)/�&��������)��$����������/�&�

��)/�*6��$������a�,'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 22: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����������

�������� �����������������������������������SQL Server������������ �����!�"�#��$%���������&'��#�� ���!�!'��������

� �����(�)���� ���(�#��$%*�

�#���'����������+,-�&'���SQL Server�)�� ����.��(�)����/(���)�� ��)-�*������0�1�����23�4�5�����'���6'����

�!����7�4�5�������8�7�������)$'��!3����!��!�7�*�����'��9!7���)��������&'��)�:� SQL Server!���#������);�*�<'

�/(��=>�����%�?�����#���57�#�#�����#�����7�)� SQL Server/(��*� SQL Server @AAB���);��(�)���7�������

�!���#�-)C*��D()"�+�0��� ����!�"����EF�G7����7�#��$%�&7������#G���&'�������)�� �����)�H���I�!�������J'�

!������K-�7����������&'����#��/8C�!'����/(�*�

� �����7��(�)�����0�1�+,-�&'����#���'������?�

• SQL Server Books Online

• SQL Server Computer Manager

• SQL Server Management Workbench

• SQL Server Integration Services (SSIS)�������'��+7����Import/Export

• The Database Engine Tuning Advisor

• The Report Manager

• The Bulk Copy Program (bcp)

• Profiler

• sqlcmd��

�#�J�?�!�����L,G�7�#���.����(���������)C�����'!;�����#G������SQL�#G���!���7�@AAA��!�����7���8�(���<��!')�C��7�!����M;�)7���)'��#G��������#N3O@AAB���'!;�����#G���#�/N�������8�7�������������SQL Server�4�5���

�!�����!��IP��)$'�����������/��N��)��.�#��'�#�-�'�)��Q���������&'������23�4���/(��&J�7���!����7�*NR�� ���87�#��!�����!����O�#�O�/(��&J�7��7��!�����O�������#��PC�*�

Books Online������'1Books Online� ����7�)J-�#��$�'��&7�S�/(�������<'��*� '������1��1���!�'���*�!���.�T����!;�#%�/�������#FU�7

��%�!����G����V����&'������#��!�:���.��7�#���������7�#��������!'��W(�����)��.�#����!'���X�������0�1�#���!���*�

SQL Server�4��!��)��.�#�����1�#���������7��/(��&7� 07���0��������J'��*Books Online���07�������������J'�

�������#��/(�SQL Server�)��!����.��!�"��*�

�#�J��?�YO)7�)���'��0������#Z�����&7��F[��#8�F-�����-����!3�� ���������&7�#��/(��&'����'���#7��)�#�#�����)$'� ���#�����0�1�*�T�(��������'���#7��)�&7\]^A�����(1�����%�)�:��&����)��.�#�Y;�7��1�����4�)�� �)���_�#�NR�

���%�#���#��`�N')a������&'���������7���/(��&J�7�)�b��*����#FQ:7���������)C���'��+c��7�#��!�����7�!����#������'��/���)��.�#�!'��#��!�����O�� ���)$'*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 23: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�#�J��?�4���������)�#�[���<'��5�'����?��7���(1�)d��#�#������7��0���!'��W��)��.�#� �����%�#���#��!��J��e���#��/(�������#�#�����#�����%�)����!'��W��)��.�#����!�(��)��#��������%�)��!'��W��)��.�#�f�!����7�4�5������

�!'�������)(��1�������*����V�.�YO)7�#��G����<'�gW(���!����#���)��.�#�_�V����&'��#'�"�)�`�!'�������7�#�a����)�*��

Books Online���SQL Server����)��'�����������!������#�h(������.Net���7���8�(�����'!;�h(���&'�$'�O�#��!�

�!���7���8�(��/-�(�)J'�7��J��J��!�R���h.���#���!�����)��'����������_*Back office���MSDN���Visual studio�?�`��

� �� ��%�#��Books online �!����7� ���� �)�7� ��d����#����.�#�� *�������� ���(�<'�)JF���9��c�O� ��� �5�'�� ��&7

�������/Ni[�*��#�� ����7��!���&'��#��0�� Books online�� SQL Server������(�����#��/(��Y')(�YO)7�<'�

/(������������!����7�����#��*�&��j�� Books online�+7���MFb��#������!��k�%������!��)"�#�/N������/'�7�&'��

/(��9������&')������#���&')��!'!O*�

#�J��?��J��J��l�iR����+7���!�����7������1���������#�������(�)��/(��&J�7Books online (BOL)!��N���*�#�&'������M,����7����#��/(��&'��)��. BOL��!���/G(�<�'���2-��N���)��.�#�/(��&J�7�#��!'���)J��V�G������������#�� ����7�#�[�������#�&7��7��!����M,���)�1��* Bol������'����2-��Y')(�YO)7�<'�m������7����/-)C�!���G�

!����'�O�#-)[������/;����!������7�#��/��� ����.*��

��+J�\n@�

���!��)J�"�/')'!7���!��)J�"�/')'!7���!��)J�"�/')'!7���!��)J�"�/')'!7 SQL Server��������

�����&'���F[����)����!�����7��!�)J�"���� ��������0J���#��()�(���)� ��� ��)���W7���#�����)'!7�&'�� �7�� �!�����

�!����7�����#��$%������&'�� ��08�#��/(�� 07�#FU�7*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 24: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

The SQL Server Computer Manager�!'!O�������������J'� SQL Server���)��/(�������/a�a�����7����/(��

�!���#�����O�������&'�!�%���#�������d�������23��)����)��7�*���#���'�0��'1 Computer Manager��7�/')'!7�

!������7� ��a��#�(���#�!���*�

• � ���(�/')'!7\

• #JN���!�)J�"@�

�g'�)(�/')'!7�g'�)(�/')'!7�g'�)(�/')'!7�g'�)(�/')'!7����

SQL Server���8�(��!�����7��)O��#��7��g"���#���'�0�'�)(��)(�<'�����1�EF�G7���0���;���/(���C���T�,i7

�!�����7*�

�+7���M,��<' SQL Server�+7���o��!���.�g'�)(��/��;����!�������7����7�&'��#�����SQL Server Service

Manager!����T)����*�

�+7����5�'��/')'!7���)�p)�(�����0�'�)(�?�

• ��R��1���0�'�)(q?��!����7�T�3-������R��1���0�'�)(�����7�#�'�C�&'��*

• �+7���&�7r�?�3-����+7���&�7���5��O�����7�/(�!�"�D7������#����Z�������!����7�T��*

• �e���C��!���g'�)(B�?��!����7����N��:"��)�$����C���0�'�)(����#���'���)'���������7�����J'�*

• SQL Server Agent� ?�� �� #�����%� )����)��F[�� ����7 SQL Server�/(�� f����7��!�N��7��� *��

���!�����!�N��7�����������!�������7�������g'�)(�&'�������8�(�!�����)O��EF�G7���0��7����*��7�������&'�

� #F�(�� #��������� T�s7� ������ #� !���� #8�t�� &'!�%����� !�����SQL Server Agent���� �7� �)O��

�E'�t����Z��������)�C���N��:"ImportuExport)�4��������7����*

• SQL Server�?�.v����������#��/(�������$'�"�����7��F[��#�����!���)Query� ���(��!�)J�"������

�������)(*

• �)C�5��OSQL Server?���5��O���������Fi7�#JN����)-����;��#J'��Z�!�J�7����N��:"������)(���:���

����� ���(�����#��!����LG:7�!������7�!��J�7SQL Server/(���!��M,��*

#JN���!�)J�"#JN���!�)J�"#JN���!�)J�"#JN���!�)J�"????����

���!���5'��T�,���+c��7�����7��/(����)(����!�)J�"��1�K�NZ���$��$%��'����)�:7�#JN���!�)J�"�#5����*SQL

Server�#JN��#��G����������#�#���������7� (Net- libraries)��'��� NetLibs!����7� ��)-����!�����7�#�.�����* DLL�

��'�� w�#��!�����O�� SQL Server+J��)"���x�N�������);)���)��0�1�����)��!���.���8�(��#JN��<'�����*�

\�Service Management @�Network Configuration q�Analysis Services r�Full Text B�Report Server w�Dynamic Link Library

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 25: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

NetLib����#��!����7�+���#JN��+J��)"�������/�'���#7��)�&��#��!�����K'���<'�!���7����%������!����������

�!����7���8�(���1����)$'�#JN��9������x�N������)�#JN��9����<'�*!���� ����)(������Y���������&��j����0�1*�

NetLib��#F�(��#���'�� SQL Server @AAB�+7���!����!�� ��)-��?�• Named pipes • TCP / IP_��m)-�D�"`

• Shared Memory • VIA �

#�J�?VIA��6'��������-��/G(���������)�#��/(���6'�����#JN��#��G����<'�_����#-)����`��!���5'�*�!����.��7�����)C���� VIA�7������!���!'��!������8�(��������8�(��4!��9��[���!���!��)�1��6'����0'! VIA �#��!���!�ha-�/��-��� VIA�<'�

�!����7� ��)-�����)(�&��x�N������)�!71�������Y')(�+������*����������8�(���R��37�/�'���<'���)��7�*����#JN������+J��)"�K')�������)(���/�'���x�N�������);)���) NetLib�J'����)(���/�'�������)���W7�������!'�����

�!���#�����O��*�<'������8�(� NetLib����1�&��T�,�����/�J��y�����:�����N��:"���)(�I)�����#��/�'�����

���Z.�/-�'�"Not found "I)����� SQL Server���!���.�*�

�#%���������#��()�(���)��!�7�#%�#J�'�� b���F�����V�G�������'��_SQL Native Cilent�ODBC�OLE DB��'�

DB-LIB�`���#����!���.���'���#:�����1Net Lib�)��!���.���);)�x�N�����*�+J����#(�)"��&'��)JF��@n@���:��

��!�����*�!�����)'��9��[�#�M��)��#��1�+��)7�?�

\* �!����7���);)�x�N������'�����/�'���#7��)_SQL Native Client �ODBC��OLE DB��'��DB LIB�`��

@* ���'��NetLib�!����7�����.�)-����/�'���*

q* NetLib�#������������!����7�����.��)-����M(��7�#JN��+J��)"� NetLib�!����7�+a��7���)(�*

r* �gW( NetLib�#�/�'�������!71���0�(��.�����)(� SQL Server �!����7�+a��7�*

��+J�@n@ �

������0G(�"SQL Server�)��!���.����gJ��/0O���ha-����+��)7������ ��/�'���#��*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 26: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�#�J��?�������)C����7�&'���TCP/IP�#���>)-�D�"�9��"�!�������1�NetLib�)�C��7�)d��/i���)�1�(Listen)�\rqq��/(�� *#�-)C�)d�����'�'���T�����<'�!���7�!������7�9��"�<'������EF�G7���0����)-��� ���#�������'�'���X��7��

!����e�C�/(��T�����#������.���![!������7����7��ha-��7����!�����O��*�

���+J��)"���+J��)"���+J��)"���+J��)"����

�#�� ���� �)��T��(�&'����!������O���#%���#�'�C'��()�(�+�;��S!������*������)C�Computer Management�������

�/.�����)�Server Network Configuration�+J��#�N�����%�� ����������qn�@!'� ����.�*�

��+J�qn�@�

#�J�� ?� ha-�m)-�D�"� ��ZShared Memory�!��� �7� ��8�(�� +�;� *� �T�,i7�&'�� ��'!;����� #G��NetLib�����������7�#��!����#���#G���#�SQL Server+7��� ���(��'���T�3-�m)-�D�"���Z�!��* ����G�)C��p�����'��������

SQL Server�����7��������_��7�#JN������)$'�9��8�7�����/�'�������'�����)(�V��<'����z�s7`�� '��������� ����#����<'�+;�!��#�NetLib ����T�3-��������)$'�*�

�� �7� ��7��)(� ���N� !��� ���O�� ������ !����Listen��� �� <�F�� #F�(�� /.�� ���� �)Protocols for

MSSQLSERVER#.���)'����#��Server Network Confihuration #�-)C���);�_*�+J�rn�@�`�

!����#��������#�/�'������T�,���<'��5'����)�(�)�����#���FJ��)"���9��"�#���)(��������3(�/�'1���);)�T�,����

�7�#O���!���!���*�)C���&'�)���h�i7�<'��Named Pipes�#-�>��#�/(��&J�7�� ������!�"������!'!O�#��G����<'��)�

����*��J�'�����4�5�����)�������9��[����/.��#�Porotocols�#�:C)�����+J��)"�Named Pipes �/(���<�F����)�

�#�'�C��Enable �����7�V�G�������*�

#�J�� ?J�7� �/�3>��&'����.� ��/(��&�!�'�$���&7� �)%#���NetLib� ���T�3-� �/;��1�S �������� �0�1�������)$'���)$�

�� ���G�*�� ���� #-�>����7��)(�����#� ������%�)�� �7�#��/(��&'��#�N��+�� ����&'��_�-�>�� ��)(`��/R���&'�� �� �

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 27: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��)���!�"�D������7��)(�/�)(_7����'��#�����7��!���y������!a7���`��������������7�����)>�)�b�����#���m)37��

!�!�7���);���)$'�!'*�

�!������O�������� ���N������%�#%� ����V�G����{�.�+J��)"�<'� ��(��.��7��)%��� �������N��:"� �������7*�

��+J�rn�@�

Named Pipes����Named Pipes�#���'�0��7�����TCP/IP���)(�|����'���N��p)�(���DNS�� '��!���5�'���������)(����P$7������O��#�

�hF���/i�TCP/IP!�����8�(����7������!������7��!�!����*�

#�J�?���-�l�iR�����������8�(���� �������7��7��1�p�1IP�_4���&'����5`���<'�#SQL Server������#�TCP/IP�T�����

/(�)O�_Aw` '���+,�7��*�#J���7������#:����&'���5�'��)C������!����7������ ����#������)(�&'��#�/�'���&'������)��7

�g'�)(�|��DNS!��N��_�p�1�<'��1�)C�IP��!��4���&'��#�������g"������*`�

TCP/IP����� �!71� ��� !3SQLServer@AAA� �TCP/IP�m)-�D�"� ��Z�� �SQLServer��!�� #JN�� +J��)"� /�(� #� ��� �� ����

��!���(���(��)�b�_�F���`����7�D�"� *���#��PC������8�(�� �� ����G�#������[���ha-� �&'���#� �a��7���Z�/�)��'�

SQLServer '���+[����7���&'���7 �����7�V�G��������#���z��F�7�ha-�IP!����7���8�(�� ��*�

#�J�?�#�� !��� ��7�'�� ��� �.���������<��� ��)(� ������ �()�(���)� ����� �� ���)(�V��<'� #�<��� �a��7� ����(

')�$����N�����/�)��'��#���7�.��������*��R������/�)��'��m)37���e�.�#�� ����#������)(�V��<'� �������7��7�

��� z���a��7�#����������<�����)(�V��<'�#�&'�����#��PC!'����()�(��/����/�)��'��_������ha-�&'��T�,�����)

/(����)(�V��&'�����7������������)(��!'����)��'�`�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 28: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

/(��H��������������7��)Z.�<'��/�)��'��#���������)(� �a��7�T�,���* ����#��������&'��4�5���#���)[��)C��_��7��

���)���(��+'��!�����#�&'������)[��1�4�5���!���#�����O��`�!;��#�!'��� ��J�����6'��#O�������7��9�7*�

Shared Memory����Shared Memory��������#interprocess marshaling���#(�)"�&��#J�'�����+N;�9�������!��#�����)�����

!�������()-���n��/�'���&��<'������0�1�)C�������)(�V�%���0%!����7�Y-���!�����)O��T������*���)(�#���'�O�����

!�J�7��)�.v����������a��7��()�(�/�'����������#d-���/��$��+'�-������#�*��J����&'��+�;���!a7������Y')(��F�.��

�����0O����)(!����7� ������*�Fi7���)(��()�(�Y;�7�ha-��_�������������<���������#�#�����)(�V��<'������s7

/(���!��M,����)(�&����`(���!�87!����7�!�7�*�

/�'������/�'������/�'������/�'����������

����+J��)"�#����7������&J�7�� �(�����7������ ����V�G�����)��#>)����)����<�7�!�����Z%�#�� �����7�*���)$'�

��;������%�#%���7��)(� �����7��7������);�p)�(������� �������7� '�)��� �����!�)J�"����/�'���*�&'���9�;���MFb�

-�D�"����m)����V�.��7�'��#����$��!������O���R���!����#%�#�� '��!���& '�������.�����������7�*�/Ns7�/7������

}%�/�(�#��C���#���J%���SQL Native Client Configuration�gW(��������/.��&'������)��<�F�������);�

��)CClient Protocols�+J����#����Z��������Bn�@� �����7�V�G�����!�����D'���*�

��+J�Bn�@�

��SQL Server @AAA �����7� �)���/-�(�)J'�7���+J��)"�<'��� �!�����#���)��#-�>��/�'���&'����)����/�F�;�&'�

!��� �)�)5�"���������)J�������1�)C��gW(�����7�V�G��������)$'�+J��)"����)��/�)���)$'�/�(�#�����!�*��7�

��!���� Shared Memory� ')���3(�gW(���)����8�(����TCP/IP����8�(��������)C����'�"������ TCP/IP�#J���j���

����(�#F�(�"Order"�/�(�#��)J�������!��E')3��Named Pipes �����7�/�)���*�)��Q��������m)-�D�"��1�#J�1�)$7

�������_�&'������J'�������3'NetLib��!�����/��R������)��/(���<�F������#�'�C�Order�V�G�������� ����gW(����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 29: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�/��;Enabled Protocols��!������)5�"�/(���/�(���#�� ���)��Q���������1������8�(��/'�R����#�-)C���);`�*)������

�����8�(��TCP/IP���1�!��������Shared Memory���&���G�NetLib���8�(���!����)(�)��#�9��,�����)���/(����#�

�/��RAliases_��)'�����!3��)CSQL Native Client Configuration!����7�`���!:��/N~!��*�

#�J��?��7�#JN��)C�TCP/IP7��)(��!�)J�"�#�� ������O��/(��)�0��!������N��:"����!�����8�(���1�������*IP�<'���)��e��)"��&�37��������7��)O��)�3')(�#��/(��=>������)��)�����*����F�R�|�����5�'�� ����1�#J�'����) ��J����8�(��

��!���O�!�J�����N��:"� ����1��7�#JN��#J�'��)$7���*�Fi7������)(���)�#��!�%�)��_��J'��-� ���(�����#���'����)(!����#�-)C���);�/�'���&'�������J'`��NetLib�SharedMemory���)(��!'���)��7�#J���j�1�����)�3')(�SQL��Fi7� '�)�#JN�����7�#� '��!���������7�.*�

��/��RAliases�#��/(���'����)(�#������/��R�<'���<'���;�NetLib����)(�<'���x�N������7��� �����)��V�G���� ��

!�����7� ��8�(��{�.� *��3'�� #�����)(�<'�&�� �������7�� �IP� #���)$'� ��)(� �� !����7� ��8�(��Named Pipes�

������);)�p������)����8�(�_ '����������)(�/�3;�7����1�/(!���)��7�#j�1�)�*�+J��wn�@��!�)J�"�/�'���<'�

����#���!�NetLib Named Pipes�4���#����)(�����/(��.����)��ARISTOTLE!�!�7���:�����!�J�7���8�(��*�

��+J�wn�@�

��)$'���NJ'�!����#��������9���d���#�SQL Native Client ConfigurationJN��)���W7����������+J��)"�<'�!'��#

���#��m)-�D�"��)(�&'��#�����������7����N��:"��!'���'�������#'���/��R����Aliases���!����LG:7�#��!���#���

)(�h(���#��/(���FJ��)"�:�7����N��:"���*�

#�J��?�#��/�)��'������)C�SQL Server� ����+,�7���7�_�4�5�������1�4)7��7������!����������7��l�iR��������&'��#�NR�!����7`�p�1� ����.��7���������IP��3;�����5 ������8�(����)(�&'��4���*����#����;�SQL Server�����/�)��'����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 30: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�� ��J�7�4�����>��#�x�)7�+c��7�/(��&J�7���7�&'��#\!���#������)���#����*���)(�&'��)C��!�%�)���!'��W��)��GIP��p�1�&'��#��/��� ����.�������)�$�!'!OIP ���)��Q����(�9��,����*�����!���������#��!����#����#O���DNS���

!����#�J����7�&'�*�

SQL Server Management Studio

�<'�#�����7�SQL Server� � �����7� �)O�� ���Management Studioz�N')a���!'1��7�V��i�#��.����� *� ��1�#���57���

�!�87���!�7�(��(�z��N����J�-�)C��)����h��������8�(������7��)(�/')'!7���)�!����7� ��)-�*�

Management Studio����SQL Server @AAB�z�7���O/(��!'!�*�h�i7����!3�#����1���)�IDE��DevStudio��&'���������

�)��M��)�����!�!���7���8�(����57���������9��,�z�N;�#�����Y�����������:���!3��*�

����%�)�� '��!��!,;��7��V����&'��I�!�����)�������#��Management Studio��O�����z�7��� ���D��"��O���R�����

'��!��� ���4�5��� �������7�#���'����%�#�Y')(����$��!��?��

� ���D'�)'���/.�(���������<�����������������������<����)��IP�

� &�-)C���N��:"���)��������)���W��!�������!���!����7���������/')'!7_Backup�`���)O�����'�)O��#��

SSIS�

� �����/�R�3-������:��T�����/�'���4�!������0�1�����!��+8;��c�����#%��/(��&�C������#%�#J�'��!�������

!������)O�

� �!���"���/(���������)(�������&�C������Da��!�������'��� �'1�+7����/��7��/')'!7

� ��������<���/�"�g'�)(�/')'!7������!������

� +7���&�7���5��O�����/()0-�/')'!7���/.�(

� ��)(�9���d����!�)J�"�/')'!7

��V����&'��T������7Management Studio���!3��#�/N����)�i>���!'�!������O��&'�)����!'� ����.��'����������

�!�F��Y����������1���)�:��#���J�!���#�-� �����!�"��*�

�����7� �)� �����7� �)� �����7� �)� �����7� �)�����

�#�����7����!����Management Studio� ��������)5�"�<'�� �����7Connection�+J��#�N��on�@��7������:���7�#�

��*�

\�Name Resolution @�SQL Server Integration Services

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 31: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��+J�on�@�

���� �7�&�C��#i8[����!���7�#J�'��#�x�):7�#�NR��!���9��8�7�+J��&'�����!�������:��#i8[���/(��&J�7�z�N;�

&���7�4�!��#� �)�.� �'� ���� �!��&�C��)����4���#%� �� �� �� �!��&�C�� ���� *Fb������#�'�C�M����.�&�C��#i8[�

���O���R���!����!��='):����#�����m)-�D�"���Z��!���!��� '��!������7�&'��#��)��K������$��*�

Server type�����&'�� ���7����� ���(�)'�� ���<�7�!��#� �7�#��!����7�����#�'�CSQL Server '�� �!��&�C��� _���������<��� ��)(

R��37� ����� �'� �Database Engine� �Analysis Services� �Reporting Services� �'� �� �Integration Services� *`���

����J'�����4������!�������7�����)(���C���C� �����#���'�5�1!������8�(�z�3;���� '���&U�Z7����)��#O���!'����������#

')���7�)J-�#�� '���!��&�C�����)(*�

SQL Server�����!����7�&��3��#�'�C�&'���!�������p!������/(��&J�7�#����Z����� '�����/(��.�4�!������SQL Server�����

'��*��7��T�s7�&'����local��)��V�G����#�NR��� �����7�V�G�������local���&'��#����#�'�C��5�'����#��/������37�&'��#

��O��4����������1��7���#����� �����7�V�G#JF�#��!��&�C�������d�7�local��#��1�V�G������#��/(��4�087�&'����5�'���

z�i�O)��m)-�D�"�#�����<'�����#�SQL Server!����7����O�)���W7���+.����#��_I)[)���W7����1�4������)d��`��

'����7�&�C�� *��)��V�G���� �local���L�G:��<���7���� ����#� ���� ��8�(�� ����.��7� ��� ��)(�4�!������7�*�

#Za��/7������ �������7�`*_���)��)N���7�������#��local ������8�(����

#�J��?�#�� ����#����#O���!'�SQL Server&������57����7��7�#����7��<'����!���)O����)����e�.����#�����&'!�%�!�*�&���7�#d-��������0�1�SQL Server���)O��T�����)$'!J'����+a��7�����57�9��,!�����7����PC��*��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 32: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��#�� �����7����)��#O����7������7��)(�m)-�D�"�#���z�7����7�#JN��+.����#����7)���W7���4��������J'���#�:7�

!������� *����O����)(�4������)��Q����)��������M,��+��)7����!3� *C�0�#� ����0�1�)� ���4�5���&J�7�9��[�&')�

z�7��)��7�&�������7��)(�/R���&')�!����7��������1�9)����*�����#����)$'�SQL Server��D�"�4�������������J'

!��!����.����P$7���m)-_SCHWEITZER��'��ARISTOTLE ��V����&'������T�s7����������`�/7����0�1���FO�#��

�T�s7�������#��!'1��7�#�����4���gW(�����?ARISTOTLE$POMPEll��

�)C�local_�z�N;��#�F��&'�!�����=�>����`�������7��)(�� ����V�G���I)[�&��T�,������);)���)���)(�4�!��#J�'�����)d��

�!����!��V�G���� ����)(���)����#d-��� ���(�NetLib7�V�G���� ��!�����*���#�2;�&'��/0O�!�%������V�.��/0O�!�%�

!����7�!��)$'*!���7��7�#�������������T)����9�!;�#��/��'��!�)N.�_*SQL Server����#:����Shared Memory�

���)x�N��� ����V�G�����)$'���%� ���������� �7� �� �)��!���.���8�(��� *`�)��G� ������ ��N57�#��/��'��V�.�)N.� �7�

� '��W���#�)���W7���&���������R����'1�������)O������.����� �������)(�4�!������������ �!���7��7�#����*�

���#���J%���DF-�����/��-���ha-��h'�)��&'����S�!����7�4�5��������#%��!'������)��.�#���������)(�4���)C��������

�#N3O�/(���/�(Server name ����<�F���#�-)C���);��*��)�.��#���'����)(����/��R�<'��#diR�����Connect�!����!��

����7�������'�)�*����!���5�O���#�/�)��#�'�C��/��R��1���&�-��&�'�"�����<Browse for more…>� ����.����

)C���!' ����V�G�������#�'�C�&'����SQL Server��������#���'����)(�#�����)����#JN��&'��+�����(�)�!�����1����)�

�������&'��+[�����/(��)$'����� ���(�#����e�.�!���7����O����)(�#�#������#JN�����O!����-)37�*���&��j��

!����������)5�"��#�'�C�&'��V�G����+J��^n�@�����7������:���7�#�*����O��)5�"�� �����7�+J��&'����#����Z����

�������#C)����?������)(�D'������)����&'������J'local_������)(������d�7local�����'���#�����#����SQL Server�

!������)O��T������ ���(�&��������#��!����7`�D'������)��)$'����SQL Server!����7�#JN����������*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 33: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��

�+J�^n�@�

W(����)��V�G�����������)(�&'������J'� �������7�!�F��gOK '��:8����*�

#�J��?�V�G�����)5�"����#�����7�Server ����M;�)7�!'��� �����7���8�(���*�#%)C��e���&'����������+�;��!������R����

��0���� �5�'�����)���!��)J�"�SQL Server�#J���%� ����):��7�:��DG"����O���*�)J�"�K')��&'�����#���'����)(�

� ��!���!�� �'����1�&'��#�ha-�#���'����)(NetLib� �TCP/IP�/'�O�7�<'������e�C�DNS!���!����/��R�&'�� ��

!�����������D'����*�&'���h'�)����!'��p�1IP������� ���!����8�(����)����1 ��� �O�����)(�&'��#�*�

/'���&��3�� ����/'���&��3�� ����/'���&��3�� ����/'���&��3�� ����\\\\����

�5�'�����7_�/��;��Authentication`������7�����#�'�C�����J'� �Windows Authentication_����FN;�����#G����

�4��NT Authentication!���7�#�.����� `��'��SQL Server Authentication�LG:7���)� ����/'���&��3�� ����)�

����V�G���� *� � �����)���!�)J�"�����[�#%�#������7��)(�/���� 07Windows Authentication������)C������#:

�<'�������#� ����1SQL Server Authentication!����7��()�(�+�;� � ���� �)���!�)J�"�� *�����4��� ����&�C�

����Fi7�9��,�#��!�����7���8�(�� ��� ��N��9��F�����)���SQL Server���_)�C������!�'��#JN��<'��������;�

!�����`�,G�)C��� ���(�&������ha-���{#�'�C��SQL Server Authentication�!���T�3-!����7�T�N;�+�;��*�

\�Authentication

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 34: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

Windows Authentication����Windows Authentication�!���!'��!(���7�)d��#�#��/(��������z������*���!�'���7@AAA�����'�����)C�����)�������3�

'���*&'������)����#�����&�C��SQL Server�+'�-�)"���������!�'���)���!��:�7�/��$��*�!�����7��3(��0�1�#�����7�

�#SQL Server�K')������!����&�C��Windows domain���N�����5�(�)d����&�C��&'��K�Z7��'���Da����)����!��

!�����7�#�-)C�*)����&'��#��!�����7�&��3�����Da��&'��/(���'����%�#%����4�5���#���57�*�

&')�0 '�����N��#�F��<'�ha-��7�#��/��1�T!7�&'��/��;�_�*�������1�)C�Windows domain���)���$�1�� ���)��Q���

�����&�C�SQL Server����7����)��Q��������7�� *`��N57� �7���%�|���#�� ������z�-)[��1� � ����)"�&�C����)� ����

� ���&�C��9��������!�'��#������� ��#������'��1��7�/(!��)��&�C�����*���!'��)'!7�����3�+i7�<'���� �����)�

!���/')'!7*/(���!�j�"������#(�)"�&'��/')'!7�+���#��/��'��41�E3>�#Za��*�

SQL Server Authentication����� �/��7��&'�z�!�)���������()�(�#��0O������ �7����!��#JN��� �7z�i')[�� ����1��SQL Server�)� ��); �����7� *�!�'1)-

����O�#JN��/���������#O��|���#�/'���&��3�4�5��'���m�������������6'����N��#�F����&�C��<'�)����&��SQL

Server!����7� ��)-�� *�<'�)'!7�#J�'��+�R�#� �!���V�.�!������7����O���7SQL Server�#��()�(������)� ��

�&'��������)���SQL Server�#�����7�#JN������ �>�7�&'����)��)����4���<'������'������#�7��)'!7���!��������

!���*�����!�����!������7�!�'1)-�&'�Windows Authentication!���)����(��*�)����<'�#��/(����37�&'��#����'�"��

'!�%�!������7��9��8�7������%�#�EF�G7������()�(������)!���#����&�C��&*�

!������i�7�!������i�7�!������i�7�!������i�7��?�?�?�?�&�.�(�&�.�(�&�.�(�&�.�(Connection����

�#��/(������&�R�����)�)C��� '���&�C��!������O�SQL Server�T�s7�&'�� ��K�Z7� z�a�;� �����%�#���!�����7��)O�� ���

!���� �d��*�

\` �#�'�C�<'local_� ')��='):��z�N;����#�F��&'��`���)SQL Server �����7�V�G����*

@` ��/��;�Authentication�/'���&��3�� ����SQL Server �����7�V�G�������*

q` �/��;��Login��7���<'���!�����sa�����Da����#�System Administrator��� ���(�/')'!7�������'�E')3�

�!����J7�&'���� ��&'�$'�O '��W(��7�)��G� ����1����)��*z�����7�/(��&J�7����<'�������#8�7�)��#� �9��

�#����)��&'��)���������()�( '���&�C���!���#������� ���(�/')'!7��*

r` ��)����4���#�x�)7���N��#�F�sa��)��M,��4�$�����#�����SQL Server �����7������ '���)�� �d����*��

�&'�)����!�����7�p����I�)��#��������&�C���I�)��#�p���������)(Z7�!'�����I�)��#���#�� ����&U�

'���)������<%���I�)��9��[*

�� '���&�C����!�����)��Q���1�m)-�D�"�9������#�����)(��'����!��M,���)$'�LG��#F�(��#�#�����)(�#�)C�

� � '��� �������C��9������ �� #�� ���� ��)-�9�)��Q��&'�!��� ��C��(�� *�#����)��<�F�� ��� !3OK�� ���)5�"� ������ !'

Query Window�+J����#����Z��������]n�@ ���N���!�����D'����?�

#�J�� ?� ��N�� #�F�� �� �)�� ���� ��7�sa!����M;�)7�� *� #�����)���� #��� ��&'�sysadmin� !�����#�� ��� �R��� )����<'

!������%�)��#��F7��������()�(*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 35: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��+J�]n�@�

S!����7�����#��$%S!����7�����#��$%S!����7�����#��$%S!����7�����#��$%����

&'��&'��&�.�(���)� ����� ��7�9������ #��� �&�C��#N3O�Connection�)�����1�Y�O� ���� *�!�� 4�5��� ����&'�� #����;��

� 9�����connection� <'� ����connection string� ���1� Y�O� )87��!�� ��)(� #� � ���:�7� ���()-� *�&'�� gW(

connection�T��������7����'����!��Y;���T�N;���7��'�����T�N;���7�)C������Y;��)5�"�#�T�,����)�$�(�<'Query�

�:�7������!�����7��� �����+,�7������#J���7�����_disconnect '���!:��`���)����&'!�%��'���!3��O���p)"���\�����

!����!����8�(��EF�G7*�

��!��MR�;���/.�(��$��$%������)�:��9��������)Connection string�/(��"�#����A!����#3O�)7�V����*�

�+�N;���� �5�'������ �'1���'����!3�� ����3New� �Open� �Cut� �Copy� �Paste!������'����%���1�!������������ �7�#��

�'��)$'����� �'1��23��7��� �������1��0�1���!'���� '���)����������1���)$'����!�'������#7��)����������{�,G7���5

SQL Server!�����7��*����������7�#��/��'�� ����#O����1�#�!'�������� ��#����07�#FU�7Manegement Studio��

#��7��#�p�����&'�����������8�7������)5�"����'����)��/�)��h�i7�&'��EF�G7�����/��;�&����)C����3'��!����

�������7�+.�����7�� �������h�i7��)��)��Q�7�T�3-�)�b���T�3-��'��!�����*�

Query Window������FN;�����#G����SQL Server�4���#� ��57��)5�"�<'�/��;�&'���Query Analyzer�&'�� ����O�#G������7���/���

�h�i7�����/��;Management Studio�!�����(�O��*����R�38�����+3-�����#�FO���)��������&'�SQL Server7��&�3

!����7� *�9����(� � �������7�#��/(���'�O� �5�'�SQL������8�(�� �� ���T-SQL@ ���� �)O��� *T-SQL��7������ �SQL

Server�!����7�*SQL�#�F��E8G7�Structured Query Language��������ANSI SQL ]@!����7���C��(��

\�Query @�Transact-SQL

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 36: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

:�������5����������&'��!'!O�#G����!'���� �z�,G��&7��������#������1�Y�O��� ��)'�� �4!_�����#G�����#���'������

!�������57��Z�i7�����.���)��FN;�`��1�����������7����������)���!�"����!����F��!'!O��)����h����h�i7�<'��

/(�� �!�� )�� /G(� *z�3;��� �!'!O� ��)���� #�� /(�� ���!�7�� /-�(�)J'�7�� ��� �)�:�� /.���� &'�7� h�i)�3�(��

Management Studio�)��!����.��!�"��1������8�(���*�

Query Window�&'�)����/��PC� ����.��)5�"�&'���������V����/;��)s�����#��������)(��1���)�:���7�#��/(���'�O��

�/(!���1��)����8�(����Z%���)��)�:���'���1����)���(�)�)�a�;�����1�!������O� '����*�

�����7� �)� �����7� �)� �����7� �)� �����7� �)�����

')��/Ni[������V����&'����!i7��������������V�.�*� �)���������%�&'������23����4�5���#���!�(���1�/;�����

���*�#����)��<�F��#F�(��New Query�h�i7�����}%�#��C���#��Management Studio�K')������'�#�-)C���);�

� V�G���� �� ��7� #� &�-�� � #�'�CFile�New�Query With Current Connection�!'!O� ��O� ��p)"� �)5�"�<'� �

_Query Window!'!O��` �����7����*�#�����7�Query Window����5�'�����!71�/(!������7�#��!'� ����.��!�����

������������7Query Analyzer�/a�Z7����������FN;�����#G�������57�������#�����*�

�����7�}'����O���p)"��)5�"�&'���F[���)5�"��������)'��!�?�

�SELECT * FROM INFORMATION_SCHEMA.TABLES

!����#O��������0�1��!������#�!�����7�}'������9���N����9��F��#����Z�����*�1�����#�!'������(�9��F�!���� �'1��

!������!��7��(�!����������#���'����� ������(���T��!O�����4���!�����_�)��������������<���)�����R�!O�)����#�

!�����7�)��t��7);�����#����h���������(�������7�C�1�������J:7�����#��!�����9��8�7����)��)��Q�����)(�*�#

!')�$� �'� ����1� �� �)��#O��� ���&'���)�� �����$��$%� *� !�������7� ���&'���� ���Z.� �����'�� �!3�� #��!����<��� �7�#

�����!�"��9����(�&'����)O�����+N;����9���N���_�����Z.�#5���seen�*`�#��parse_����=�i[�/7���+J��#����J'1`�#��

)C���);����������������-#���3;���e�����!���/�)(�4������#�������:�������(��'���T�J��� �'1�<'���&'����)O����)

��)7�)C����.�(��9����(�!��#�����9��O!����7��(�)�����*��&'�)���!'��!���#�����O���5�'������i����Z.�)��)C�

�h(����!�����1!�������D'�����7�#��Z.�����4�Q�"�gW(�����������!���!�"�*V�'�T�J���<'�\��)$'�����������#�

Z.� �)�� �!�"� ��)� +�;� ����!��� �7� �()�(� *� � ����� +,-� �� ��� ��� &'�� �� #Z��� �� )�:�� 9��c�O�Stored

Procedures��!'� ����.�*�

�#������������Execute_�#���}%�/�(���������7);�M53��/7���+J��#����J'1�#�parse#�-)C���);��`������

�����7�<�F������������*�+J����#����Z����\An�@��)5�"���<%���9�)��Q�����!a7���!�����D'����Query Window�

����7��5'�?�

\�debugger

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 37: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��+J�\An�@�

����7� ��a��/��;���#�<���7������Z��F[���)5�"�&'��#�� �����7����)��#O���*���O���p)"��F[��!��#�����/��;

�/��;����#�-)C���);��7�#��&�'�"result pane����7��!�7����*�������'��'����/��;�#��!����#����#O�����&��j��result

pane���e�.�������M��<'��*��!���)C��7)� �����������'��#���57�#���'���O���p)"��)���)O�����g"����!3

��'����&'�� ������ #���57� �������7� #�� !'� ����. ����/-�'�� ��57�����M�� �� ��� *J�'��+�R� #� #� ��������MFb�� �7

�/(��������!���#%�#����5'�����'�������#���57��/��;�&'�!�����8�(��+�;���!�7�(������!������7*�

#�J�?�!��:�7������!�'1��7�/(!����(��'���)O�����g"�#���5'����#� �����7������#���57���#5����#���57�9��F��������0�1�!������7�&'�)��!')�$�)d�������*�

��$��$%������)��Q�����!a7����9���d���&'������� �����7����9�)��Q���1��!���5'��*���������������#Query Window�

�����J'1��'���#(�#���57��1�����K�;��(�)�<'���#�.�!������$�_�+J����#���'�����J'1\\n�@!����!��LG:7�`��

'��!��7?�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 38: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��+J�\\n�@ �

#�'�C� #(�&'��!�����7�T)���� ����O�).�/-�'��T!7�� *��� #�'�C�&'�� �#�(�� �Results to Text� �Results to Gird��� �

Results to File�!���� 4��� *� ���7� K')�� ��� &��j��File�Results to����O�).�/-�'�� /R��� #(� &'�� #� ������ �7�

����#�����()�(*�

���7�9��[�#��'������7�9��[�#��'������7�9��[�#��'������7�9��[�#��'�������

�C�#�'Results to Text� #�8')C� ��� �7���O� ��p)"��O�).�#����&�'�"�/��;�&�����������7� #5����MR�;� �� ����1� �

#i8[_result pane`!����7�&'�$'�O� �� *� �#i8[�/��;�&'�� z�3;���'�0����T���!������7��!���#����_��7�ha-��1�T��

��7��!i7��7� ���(��()�(�+�;�#d-���#F�(��!������`*�

�+N;#7�������yi��&'�)��V�G�������#�'�Cz�!57�����FN;���O���p)"�gW(������)���)O����7��!��:7�����!71�/(!�#5���

���� *� #�'�C� #F�(��gW(� �� �)��V�G���� ��� #�'�C�&���� )$'� �����)Include Actual Execution Plan_���#���&'�

�!�%����������<'�+J��#����J'1���<%�������N(�T�!O�`�+J��!���������#5����#�� �����7����)���)O��������(��1�

\@n�@!'1��7�/(!����'�)�*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 39: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��+J�\@n�@�

� '��1�/(!�������#���'������&'�� z�a�;�K�Z7!������FN;�����������������:���7�#�9��8�7�MR�;�<'���ha-����

!����!�����*7���&&'���D'����e���O�).�� ����7���8�(���'���(�&'!�%���?�

� !�����i>����!i7��������(��'����&'����4�����1�/(!�#5����#���57�<'�ha-�#�����7�*

� ����)�.v���0������7�+'�-�<'�������!71�/(!��'���� ����� ���.��7�&7�#�����7�*

� ���#5����#���57�&'!�%�4���!,;�&7�#�����7��)�:�� �����&7������<%�����'�����1� ���.��7��R�� ���#�

�!��QR���������#�X��������!�#i8[�&�����������#5����#���57�<'���\ ����!��:7��*�

�MR�;����'����MR�;����'����MR�;����'����MR�;����'���T�!OT�!OT�!OT�!O����

!����7� �d���!')C�<'�9��[�#�����O�).��������(�����)Z(��)�C���);���i���#�'�C�&'��*�/��R�<'��)'���������%���

�#�'�C�#������6'�Results to Text�!������)�����PC��7��7�����.��������0�1�#�'�C�&'���7����������7�#�?�

� ��EF�G7�����/0O�#��1��!�:��gW(�������(�<'�����/��;�/(���#NR���p�7������);�#F�(�� �������7

���)��Q��EF�G7�����'�(�#�����1����!���*�����������)��<�F��������(��/(���#NR�&���O����Z�<���7����

#��FN;����!��������!���7�D'�������#5�������!71��*

� �!')� ��� �0�1�gW(���V�G���� ���T�F(�&'!�%�)C�@�#7��)�+.�� ��T�s7�������#� ��)$'�!')C�������Excel�

����&'�$'�O� �/-�(�)J'�7_Paste`���F(�9��,��� �)�� !����.�+��� �� �!�� ���D'���� �� ��� ��57�����T

&�7�MR�;� ���O�).�)C��#������[_Results to Text� `�&���� �� �� �!')� ��Excel��#��� � ')���7�&'�$'�O

�'��������<'��T�F(!���7������:�!�*

� {�.�������(�ha-�#�� '��������J7��&'������O�#�'�C�V�G���������8�(��� ����V�G��������[�.����)Z(�����*��

�R���#�'�C�)C��#JResults to Text��F.������T�F(�#���� ')���7�V�G�������)Z(�!�%��7������!��V�G����

\�Scrollbars @�Cut

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 40: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�&'��������{�.�����T�F(��)�J'�ha-� �������7�#�'�C�&'�������8�(�����7��!�!���7�V�G�����)Z(�&'��#�x�)7

V�G����{�.����)Z( ����`�

�#�'�C��h'�)���1����� ����7��!�"������������!��/��R����7�����J'�#�z���37�#��4!�(��#5����&'��#�������!7����!3�&7

����7���8�(��#�'�C�&������� '������MFb����)�+�R�&����#��!���!�87� '�)�!������7����O�*�

�)O���)������J�-�)C�D'����)O���)������J�-�)C�D'����)O���)������J�-�)C�D'����)O���)������J�-�)C�D'�������

�����7��)��� �����7��)O������'�O���p)"�#SQL Server��1������c�O�����/��;�#�����7���O���p)"�9����(����.�(�

� #� ����1�gW(� �� �)��+�Fi�query optimizer!�()-��7�� *�&'�query optimizer� �������;�SQL Server�#�� ���

�O� ��p)"���)O����)� ��� ����&')�0���'�����'�����)��T�3�7�Y')(� �!����7� ��1)� �)$'���)���� #� ��:-�&')����*

�#�'�C����#J���7�Display Estimated Execution Plan ������8�(�����'����O���p)"���)O����)���J�-�)C�D'����<'��

���)���#��)�J'��-�>��9�����������)���$��$%�����SQL Server �����7�/-�'�� ��� �� *��7�#�:7���Z���� �����

�#�'�CInclude Actual Execution Plan����8�(������ ���*�#�'�C�&'���9�;���MFb�z�a�;�!���.�+����FN;�#�'�C���K�Z7�

��)���)O��#:a��)��Q���F'!�������)��Q��/F3��Y;��7��23��7!'� ����.�����'���9��8�*�

�'���/��N��#%��O���p)"��)��<'�� ���N�!������O��#�'�C������7���(���O���p)"���Include Actual Execution

Plan��)��<�F������+J����#����Z������\qn�@!�����)O������O���p)"��1��������!�����D'����?�

��+J�\qn�@�

�!'�� ��)���1������:����)�#��!����#����#O��#C)�Execution Plan��V�G���� �� �����������#�� �����7��5�'��'���

� ��������7���O���p)"����#�'�C��������M(���7���)����)��V�G����#�� '��!�����7����D'����*�#�'�C�V�G����

Display Estimated Execution Plan��#�:7������J'��O�).��O�).��#�'�C�Include Actual Execution Plan����

7�#����s�(��������)��!���7��?�

� ����7������1�/(!�����)���1���O���p)"���)O�����!3�/�)���#�'�C�&'��V�G���������8�(���*

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 41: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

� �#j�1�#J�'����9������#����R���/(���O���p)"�&'����)��3;���#:a�����)��� �����7����G��#�'���������

�)O�� z�3;����O���p)"�&'��������� *��Show Query Plan,����5��'�������!�� �)O���J'��-� ��Z��)c��

��!����.��3;�������G�*

DB ComboBox�����&'��#����$�����'�"��DB ComboBox '��!����7��*� ����.��7�#������>)-�D�"���������<����#[�.����#���p)"

�����7�V�G�����5�'�����!�����)O���1������O��)5�"�&'�������'���O�*�(�z�(�#����������<���)�����O���p)"��)5�"��1��

����O�)������)�m)-�D�"�9��,_!����7�&�C�������� ��#���)����`!����7�����#� �)���!����!��&��3�_�������#

���������<����T�s7master�4���#��)������)�m)-�D�"�<���<'��sa�(���������1�����#J�'��)$7��!����7���7� ��

!������)��Q��*�`�)��Q���)$'���������<���)��#�����1� �������7��7�!���#�����()�(���57��������&�C��#J�'����)

���*��)����#(����#J���7����sa�&'������'�O�7�<'�!'�����O���)(�����������<���)��� �����7���8�(�����DB

ComboBox!���#�����*(�����1�#��()�(���57�����O�&�C��&'��#���)$'���������<���)��#�����1� �������7�gW

���)��Q�����*��)����#(�����7�#�����7����sa�/'�O�7�<'�!'�����O���)(�����������<���)��� �����7���8�(�����

��DB ComboBox!���#����*�

�+J��#��#��$�����!������O�\rn�@�#�����.���������������<�����!�������:��AdventureWorks�&'�������)��Q��

�����)O�����������O���p)"*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 42: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��+J�\rn�@�

���������<������������D'������)�������&'���!�����7�#J���%z�)�.�!�)���!�"�)��Q����!��#�(��.��*�

��)5�"��)5�"��)5�"��)5�"Object Explorer����

�&'��"�#F�(���'��)5�'�������<%���!�7�(!�������'���������4�����5��O������'�(��)N�����)�� ��)-����'�)�����������

!���7��7�#����)��&�'�"���Z(������������'�������)���)O��������/W')J(��#�N���'���/�R�3-*�

/Ns7�/7����):-��� `�_��������<���4����������#���J%����������R� �������7��#�-)C���);��1��)'������/��;���

���������<���T��!OAdventureWorks ���N�����*�#��"�)'������������)'��&��/�)�� �������7�e���&'�������8�(���

[�,.��������� �����4��2����)8�),i�7��������(����!���5�O�T��!O���������(�4���&��j��������&'������)$'�9��

�����!��:7����T�!O�*!����7���������<����)���)7���)���8�(��+�;������#F�(��<'���)5�"�&'�*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 43: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

SSIS����������� �� z�N;�#��/(�����%DTS

\!���7�#�.����� *��C6'��&'����7��)�� �z�3;��SQL Server��7����9)��� � ����7� ���

4��*��0R�(�&'����������#���57��������)"����DSS@4�����4�5������_�*��0�'��z���37�X��.�������#��!������'��� ���(�

�m����� �7��!���!�� ���&'��1�������!��J�7�<���/(��9����,��&�-)C���)�)'!7�#`� *����)"�<'DSS���� ��� ������

Y��7�)��7���������<�����������0�1����)�����1�Y�O���C���C����8�(�����)7��)�C�e���C���)�#�����:�7�����);

!�!�7*�

!����#��������)(���'�����7���!'���)'��!�)C�#�'���)"�/�)(�#�!������7�������)"�&'�*��$%��WJ'�+7���!�����7����7�&'��

��_� ��!a7��!F�-� )C�� !�-�� �7� �;�8��� #%Null� ��!a7� ���O�� �7� �R�� !��� #����NullS ���� ��!�� ���� `�!���;� ��9��8�� �'

���5�_�!�!�7�������O��&'��)$'� ���(��7��!�!��������8�7���N������!a7����O�����������)(��R�7���N������ ���(�<'`�:�7*�

� �SSIS�#��/�'���/�(�����������!3���� z���37� ���'���#7��)�&'�� �����'�� 5�� �'��#��C!�(��T�U�7�h'�)��&

!����!����!����(�+;�!���'����!��IP��!������7���*SSIS� �����7���;� �������)����� ������Y��7������q�!���7�<'�

��������!���� ��)-r.NET��'�OLEDB�����!�������1�Y�O�1�����0�����#����T��!O�SQL Server�!�����)�.*�

#�J�?� �!���� ��)-�<'� �5�'�� ��OLE DB���)� �6'��ODBCB����� �O� *�#��!���7� ���O�� �!���� ��)-�&'�� �&��j��

��()�(OLE DB��!���)C�<'�#����a��7�����.�ODBC�/��$� �����*�#�����%�)����3'ODBC��()�(��1�#�!������#F�(���!���#�����()�(OLE DB_��&'�)����SSIS�`!����7��()�(�+�;����*�

z���>���/(��e������#�J��&'�#%)C��#��SSIS���������;SQL Server�!,a7���YN�7�)����!������7�T�i�'��������OLE

DB�!�������*��#����37�&'��#SQL Server��������T�(����)�� ��)-���)��5��z�!���!��)�C��!�'1)-�&'����#����!�������!���*T�s7�������#���� �������7��������������Oracle

w�#�Exel���������'����DB/@�#�MY SQL �����O�*��

� ������ �7� &��j��� ����'��� ��� T�a���� �� ��� +J�� )��Q�� �1� #� #�� ��� ���7o ���� T����� �:�7� �����*�

Transformations�p�(�)� ��� ��� ���&'�����$��C� �!���;!���7�)��Q�� �'� �� �)����[���aZ�7�� *��7� ������C)C�&'�

�������/�37�O�+�Fi���C!�j�"�#��'������(�<'�4������)��Q����C�(�#�!����������1�)��Q��4��R�9��[��!���*�����

���)��)J-��1�)�����$��$%��#�����������#�)'�a7���57�#��!F�-�<'����������&�-)C�T�s7Null�#��1�T�a������#�������

R�!O�)'�a7���������O��#���Null����!��#�8C������#���!���������!')�$�)d���*���SSIS���!a7�)�� �������7��Null�#����

����+'!N�� '���)��V�G���� �T�a����!�'1)-�&'��T�����#���)$'�)'�a7_���)������)8[��1�/(��&J�7��!��<'���)

�N�����%�/(��&J�7��)�������<'�#unknown_#�.��������!a7�<'�`!��*`�

Bulk Copy Program (bcp)�����)C�SSIS�g"��/(��&7�������/(��Bulk Copy Program�������'�bcp�(������.���'!;�������1�/(��&J�7�#����!

��'����;�� �����7����e�!;�z�3;����7��� �����!'!� ��J�7������1��*�

\�Data Transformation Services(������+'!N������g'�)() @�Decision Support System(�)�C� ��,����N��:"� ���() q�Data Source r�Data Provider B�Open Database Connectivity

ODBC������7�h(���#��/(�����!���(������������������������ ����(� �������)�d��Y�Z;�����#�7��)�)��������������������()�(��'�����������)���!�"�#3(���/-�(�)J'

!�!���)����#���!����8�(����������<���/')'!7��*�w�������������<���������'���������$'�"���)����#7��)�

o�Data Transformation

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 44: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

Bcp�#7��)�<'�command-line\� �������,i���I!��#��1�C!��� �����!���!�� )J�"��������X�).��� ����T�a����

SQL Server�/(��*�� ���� ��� +N;SSIS� ������ �7��/�����'�� )���� ����� &'��SSIS��� �)�� ����E'�t�� ���������

����!0��)����������X�)G�(���bcp���������#����)-����)� �������command-line����[�.�#v�O��!����/(������*

� �������7�����3������'���!3� ��������0����(�#���������7�)�"�Y')(�T�a������)� �������#��bcp!�����#�����*�

SQL Server Profiler�����&'����7�g'���#7��)�<'�#��/�������%_�<'������'DBA

@ �>�7�&'����)��`����+'������8�(������1�����)��!���#

�!������7������!����!;�9!:��7���!����7��'����MN(����!�������5��!������������%�|��� ��U�Z7�#���'�����7���*�

��#[�.���ZSQL Server Profiler�������'��������_�3;�����7������'�������`/(��*�#���'�5�1���Perfomance

Monitor�)��7� =Z(� �� #�� /(�� ���%� #��� �����_ ���(� �!�)J�"� #�R��� ��7� `��!���(� &'�� �!�-�� �7� ��8��

+'�-�)"_(Profiler�x�)7�9��c�O�#���'�!����7�� */(��/N�,7�)$'��'�(������/N��7��-)����� �>�7�&'�� *��!���(

�����'����)���!��)J�"��$��$%�#�x��7�!������7�+'�-�)".�(�����7�#�����������(������!���)O�����(�)���������6'��

!�!�*�#��!������,������� �d���(������'1����� '�����4�5���������)���������#������*��7� �U�Z7Pb�����!a7�!�������

� #�� ��� �)��k�%���)�(� #F�(�� �!�� �)O��9����&'�� ��8�(�� #a�;� �� �'�<'�ha-� �� �)-������ ��,�� ��� !�� !���.!�*

�#�<�����)�������)�F�-�������d��#'��1��+'�-�)"��!���(�#���GN��./(���)�� ��)-�<%���9�J:7������7��)�$�"*�

Sqlcmd�����#7��)���)C����7SQL Server����7�sqlcmd!'� ����G�����*������4)7������'����!3����Z%�#��/(����1�9)���z��a�a��

������1���'!;�E')������������'������&'��#��!��_�!�����osql��'�isql�`�!�����O���7�I�)�����*�<'��1�#J�'��+�R�#

3')(�������R���������/(�����!�'������#7��)����)�*�

� #�(�����+'�-� ����.��7� #�����7�� �command-line�9����(�+7��� �SQL��� !�����')'!7�������� ���Sqlcmd�

�����7���8�(�*� z�N;�#�����%��!71� ��1�T�N��#���#7��)�&'�� �8��#G����!71����+N;�DTS!���7��!�7���_������� �

SSIS����7��!�7���`� ���O��9�;���MFb���sqlcmd���)���#�bcp)���7�/')'!7�����O��.����� ���(���������������*�

���8�(�� ���&'���(�)(�����C�(���9�!;�#����'���#7��)�����)'!7�#J���%�SSIS�!�)��"�*����$��C�� ����������7�

�#��!�����K')����������W')J(�� ����Gcommand-line� �����)O���*Sqlcmd!���7��7�#����/�F�;�&'���*�

Sqlcmd�8�(��#���'���+'�-�)C��z�[�,G7��!�����8�(��+�;��F�.�!������7���7�#��!�����'���/W')J(��+7���� �����7��

�/i�� ����.sqlcmd!�����)O��� *�)��G!���#�����'������� �!�����O��#j�1�!�������7�#��sqlcmd�4�5�����7!���� ���

!����#>)���)����h�����������'����*�

#[�.#[�.#[�.#[�.����

��#���#��!�������'����%� � '!'������� ��#���'������MFb� ���� #���� ����� �0�1� #� ���� *�g'��� #7��)�<'���)� z��a�a�

�h�i7� ��R��37SQL Server Management Studio)��!���.���8�(�� ����)��#��/(���Z�i7��� *�&����� �&'���O�� �

/(�� 07��0�1��)�C�'����!��#�8C����7�&'��Da����#Z������'����%�*��������V����&'��T������7��)�������������&'��

)��!����.�#c�����7�#������07��������37������%��0�'�����4�!��)��#��!'� ����.����!�*�

� ���7� �� �'��)N���7� #�� '��� ���� �)$'� �()�(� +�;� �������� �5�'�� �� �!���� #���� #O��Start!���!��_+�N;� ��?�

connectivity tools���server diagnostics����maintenance utilities`�MFb���������&'�����x�)7�)'!7�#�� ���(!����*�

\�+7��� ���(�<'������Z�i7��J�-�)C)�b�9��)�(�#��!�����7�#�����z�i')[�*�

@�Doing Business As

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 45: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 46: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

������������������������������������������������T-SQL������� �� ���������������������������������������������������������� !�"�����������#�$��#%��!������#&��� �����'���(������� ��#���# ��$�)#�� ��#*��

�����������&'����+���&���,&���������%����*- ��$���,&�.������������������#&�����#������&���� �������&��+���*��� ��������������#���/#���#��0#1��

$���������������������%���������0������2$��&����&��3����&�����%������ '�������4� �%�����.&�5����$����6�&��'��7*1������0 �����0(�89:�� �56

��$���������

����;7<=�.&��������������.&�(� �����Transact-SQL>����&T-SQL�?��������0 �0����������T-SQL������=�&������ @��A���B��'�C�>�

��&SQL) SQL Server������T-SQL��������=������1�0���'����� �0/���D�$�.&�����������#���=�#E��BF���� ��&'����&�@���

�,&����BF�B���Common Language Runtime�>�CLR�?G�0$�� �B��'�G���0 �7&�*(������BF���#H��#)���&����I9���:����

B��'�,&��NET�����������J�����.&��'�SQL ServerKLLM �B��'��%�'����$�(�0 ����NET�����)#���0(�89:��,$������0������ ����

�������'��� �T-SQL���������%������)���T-SQL�������� ����� �0NI��B��'�SQL Server����%�����

������T-SQL��=�����%�����&�7<=�.&������ ����O�� �������� ������� �� ���� �������

��������������5�&��� �T-SQL����%�����������&����N@�����"��%������=�����%�����&���� �&�@���������������������#����#��B�#�'�������.&��;

�� �%K�T-SQL>�DML�?���%����������������������������'��PNQ���/���6�&��7����������%��>������B�����#��R(���B�#$����S� ?������T�#$��'����#��

������B������$� ��������3&���������>�����������U��@���-&���&���?����������.&�������0 ����)�������������%����/��������!�����$� ������98����;

SQL�����������B������5�� �������0&�%�3N/8��������� �����Query���������0 ��%��=��/�� �%��������������#&�7<=�.&��������������.&������

�=�����%�����

��6$�6$�6$�6$O�����"T-SQL� ����SQL Server����<2� �������=���������#�$���#=��#���<#2� �P#NQ�����&$�0 ��/�����0(�����;���T-

SQL���������$�����&��ANSI SQL VK���������#�����#����#�$�(�0# ���#�%���J�(�,&�B��8�����/���������J �.&���.&������

SQL�����������������������3&��� �%����%��W&��������&����0 ���&����SQL�����$� �Sybase>�����XNJ �����������Y����%�U�����?7������;DBK���

My SQL��������)�����������P1�� ��%�B"�;RDBMS������98�ANSI&�/E���� �������#$����0&���#��Y&�!=���5@�ZND ����

����������������������0 �0J���-�&�����. ANSI���������Q��������(�����������ANSI�;�������������.&���(���#�����#����������%�@����

������� �0[J��������������+�D$�������&!��,&��&����/��;��;��������� �5/����'��0[J��.������ �*%����&�0&����RDBMS���������#����#����+�#D$��

�'�����)�����1��ANSI\&������������*�$�����.&�(�����3&�� �%������� ��� ����'������]E���+�D$��;ANSI��������)������

C�Structured Query Language K�Data Manipulation Language

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 47: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

� ���&��������������'�QF� ���&��������������'�QF� ���&��������������'�QF� ���&��������������'�QFSELECT����

��^9*1������;SQL�BF��&��&�����6$��������=�3$���&�7 �����������@(��������/�1�.&������&�������SELECT����7#�����#��0(���#*8���

����� ����0(�����'�� ����/8��/�1����0 ����)���BFSQL Server����%��0 �7�6�(���������0 ����)��������#��0%�#3$�B#���

�����76�SELECT���&'��$��0 �BF��8�1�����

SELECT <column list>

[FROM <source table(s)>]

[WHERE <restrictive condition>]

[GROUP BY <column name or expression using a column in the SELECT list>]

[HAVING <restrictive condition based on the GROUP BY results>]

[ORDER BY <column list>]

[[FOR XML {RAW|AUTO|EXPLICIT|PATH [(<element>)]}[, XMLDATA][, ELEMENTS][, BINARY

base _`]]

[OPTION (<query hint>, [,. ..n])]�

�.&�����0 ��S$�������a���0N��������F�ZND � �5/�1�B��������0 �0��������B���

������SELECT������FROM��7J=�,&�; �.&�������SELECT�;���������������'��0/�1SQL Server������#%��b�#-$���#&��� ��#���#"�����&��0 ������#���

SELECT���������������������%��0/$����R(������89:������$���0 �0(�89:��,$���'�������89:���5�(�� ��������0 �cD� ������+�D$����� ���

�'��0�����&����*8�,&���������0 �%�B����NI�=9������'���JSELECT�$��0 �cD� ���&F�0 ��;�&����%���0��d �� ���������

������������������/�1������cD� ���������$����-$F�'����89:����%���0 ����0&�@��&���� �We������������������%�#��0# ��#�����0���#@�b�#$�

����0 �cD� ��&��3���-$F�'�������89:������������$�(�0 ���89:��.&�����B�������������������-&�����0&������

�����������������������������������0%�3$�����������������@���������������0# ��&��#����#@��7*1�7<=���F�������

�&'��$����SELECT * FROM INFORMATION_SCHEMA.TABLES

����������&����������0(�89:���"���������0 �0�����B�����������%����+�D$�����0(�89:��� ����&(SELECT)G���������#�$�(�0# �.�#�a/%��/#�

������������89:��Y&�/$� ����0����������.&�����������6=��$3�&����� 98��f��#���.#6/ �����^�#g�1���# �;��#����P#�-8���#��������

����� 98���$� � ��6N/8�f���������3&�� �%�@�����;���������#���������,&���.&!3&�@�� 98�,&�BF������������&#��0# �0#1��fSELECT�����

� ��g�gH�������/%���������0 �cD���%�B�����&�������+�D$�����U��@� �����������#&���0&�#5/&F��#"��#���#&�����#��cD�# ��-�&���(�� �

���#���cD� ������89:��.&��\*� ��������BF���$�B�����$��h��D��������# �.#&����OINFORMATION _ SCHEMA.

TABLES��

�6$�6$�6$�6$OOOOINFORMATION SCHEMA ���� ���i&��0�������������/#�������0(�89:�� �%�,$��� �%�������=�Y&�/$� �������

�###��5$F���###&2 ����INFORMATION_ SCHEMAY###D�����B�###(�0### ��###N/@�BF�'���###�������0###)ND � �###%�

INFORMATION_ SCHEMA-�� INFORMATION_SCHEMA�;SCHEMATA����b�$����������#���i#&��0����������.&�

�$�b'�������/������� �%�������=�'����89:��.=��� �����/���������0/����U��@���������)��������

�����B�2 ������B�2 ������B�2 ������B�2 ��O�O�O�O����������������SELECT��������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 48: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

(�89:����%���0 �B�����������-(�7/8��������&�������0���������0NJ=�0(�89:��,$��Adventure Works.&�� ������%�����R(��

�����&!��������=���� Adventure Works������'����,$�����$��'������-��� �����/�1������!�����$����0(�89:�� �%Query�

��� Management Studio�76���������j$�/%������+�D$��kGC��������B��$��������

76��kGC�

�6$�6$�6$�6$OOOO���������,$��������$��'��������B������������������89:�� �%������&����76� ��������������0(��������-��� ��������;Query����#����,�N����

SQL Server Management Studio�D$����� �����*�$�����0�J �.&���������A��H�����+�����#�� ��#���#���*�#$�BF� �!@��

����0 ����R(���%��0 �b�-$���/�����-����/���a$��"� Query� ��@���������.6/ ��&���$�U�J=���-���B��8������ Toolbor���/#�

0 �b�-$����� �����:�D���������������R(���%������-������0$� ' Query���U�J=��;�������.=�#�� ��#���#(��#����#��R(� ���#$������&��

Query�����P��� ����

�0(�89:��,$������B���Advencture Works��������+�D$�����'����#���#=���0J1��� �%������'��0[J��B�&������(���%���'�@��

�����T����0(�89:��,$���������.&�Query�����T�������SELECT * FROM Sales.Customer

���-������������������/�����01�Query���$�� ���;Execute����#����,�N����!�����$����� SQL Server�����/#���#������#-�$�

�%��0 �B��$��.&��Query�;�%�j���/%�������@� �%�B����UCustomer. Sales0(�89:��,$���������������#%��0# �B��#$�0#NJ=�

(Adventure Works)���0(�89:��,$���������������/�S�(�'��b��6a�%��/������Adventure Works����������#��������#$��#��R(

����� ���01�Messages ����0 �����&'���89:�������,�N����O�(CVClM row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 49: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���� ���SELECT�;�j�����J(�������$���� ��8��������0&�%Query�$�����0 �'�����

�����0 ������$3"�����0 ������$3"�����0 ������$3"�����0 ������$3"mmmm����

0�i&��'�� ���J(�����(���%���'�@������ �%SELECT �������@(���

����������@(FROM��SELECT������$�n�!��o��H������ ��������.&�SQL Server���$� ���E�������#������#5$F���$�(�0 �

����ISeleCT���frOM�����p�%������&�������&F�0/$�Y���0N6� ����������������#&���#�$�n�!#��o��#H��#������#5$F�0&�$�����0H����:�D��� ��

B��&$����'�� �����SQL �o��H������� ��N����/N�����������/%�U���@�b�$� ���������&$�0 �n�!��;��#%�B��� �#%��R ���

�����o��H�'�����q���Q����������0 ����)���,"����n�!������$���/����� ����$����������������.#6/ ����#%�BF�'�����)�������*- ��&������0 �+�D

�����������������) ���)��� ���� ����$��&�����;����0 �7/8�B$�1�,&��O03"��e6&.�

�6$�6$�6$�6$OOOO�������������� ��=� �����(����� !�"��)���&����/�1�.&�����+���������������������������#$�D�������0#/��0&�#$�����03"��e6&��������/���&���

����@�0 �������������$��@�����e�����&������$F�U����������U���@�0 ����01����%�B�����������B��/5=� ���� ��&'�B� '��&�*$������0 ����)����/��

����o�I��&������6"��/���6�&����&���������������$�����������&���,&����.�$������������0J�����

�����SELECT������-������Query�������b�-$�� �����"��&��0 ������ 98����%��f�������%���0 ����0(�89:���"��%��0 �B��$�>�����#&��#�

������������r�f��/%�%�B��?��/�1�We�FROM�&F�0 �����

���/�1FROM�����������$��h��D����&����-��'����89:���������0 �cD� ��������'���J���NI�=9��FROM��������0# �U��@�.&��"��&�,&�����

�&�������Query0���@�'����89:���/%�� ��b�$����Customer���0 �h��D������

�����0 �0�������� �3&����� �B�����������=�&�������5&�� ��/%�0���$���b�$�'��0������%���0 �����.&������

�SELECT LastName FROM Person.Contact

�����&'���I������������ ��@���-�$�O�Achong

Abel

Abercrombie

...

He

Zheng

Hu

��������������$������� �'�� ���J(�sg=�0�&$��I9�� ����. ����������@(��;����&����/�CVVtK������������� !�"��5&�� �b�$���������������j��

�&��������� �������

�6$�6$�6$�6$OOOO������B��&$�� �$���'�� ������SQL���������$�����198�Query���������/%����/%������&�����(�����I9���:���������� �%��B#���#%��

������ 98�,/��������f�������0 �+�D$��������� 98�u&�(�����.6/ �f�����b�$�u&�(� �@�����%�B������������=�#I��/#���1������S2����"��5�(�

����0&@�;���h��D���0(�89:��,$���'��� �h��H���� �'�������0(�89:�����0 �v8���� �����98�����;SQL Server����J(��&���

�%�B��" * "6�&��������0�����������%�08$��"�'������Y%�������6*��.��a/%���� �$���0&�������g"�����.&�������$�����/������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 50: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

������&��0 ���'��)3���%��0 ������I9���:������;������ !�"��������.&����) �B$�1�,&������;�����+�D$���&����h��H���������^�g�1�������� !�"�

������$�;�/���$��&����'��$���

&�B����,Query���0 �0���������3&�����O�

�SELECT Name FROM Production.Product

��������%��0/$����R(����0(�89:��,$�������@ ���89:���/�����������@(�����

SQL Server�b�$��&���ML`�0(�89:��,$������������ZND �U<2 �T$�AdventureWorks�$�������������%��@ �����

�Name

----------------------------------------

Adjustable Race

Bearing Ball

BB Ball Bearing

...

...

RoadGtML Black, ``

RoadGtML Black, `l

RoadGtML Black, MK

�0&�%�B���������/�1�'���J���/�����SELECT�������������&$�0 �SELECT����$��0 ���� �$���������#I9���#:������;�����#��SELECT�

�����0&�%�B��X&�:�'���/���������Query�&���������������������

�� ���WHERE����/�1���%���0 �B���WHERE������0�����������*8WHERE ��������SELECT���89:�� ������%��0 ��'�@���/�����

�������������&����0�����7*1� �5��d ������� ��� ��&���3��w����/�����������������;��I�.&�������������cD�# �U��@�����%�j��b�/(���������

��������1�0��'����-�$�������� Query����� �����&���2 �B���� �%��%C���#����������$#��'�#�� �#%K�������0# ��#��0J1�# ���

�,&���%��Domain Listing���%���) �������������%��=���

�6$�6$�6$�6$OOOO����;�� �.&���������� ����/N��k��� ����������������) �'���&�������� �����������0I�<��������,&�;����������&!����"� ���������;U�#d � ���

������������&���������0(�89:�� ���=����%���0 �������������#���#5�(��#���������5(�0��������.6/ �������������6&� �� �%�ML����#6&� ���#��&��

��������������2 �������������%�.x/j ��/����I�.&��������������'�- ��� �,&�0��D$���� ����������������������#3&���0#H��:����#�����#��0#1�

) ��&�����*2I����%���]�E(�����%��� �����%�����

��������� �(�0y!@���� ���%���0 �B����������0����������U<2 �b�$������� �����%���&���$�h��H�����;����������z�#��U<2 �,&���89:���6N�

��&����h��H���(�0 �����*��B����,&���$Queryb�$�������&���;��)��72 ������/�����������U<2 �,&�{�kM_'�������$������

������B����+��������������$���%�����$F��%�,/��������������������'���&����-�$�����&������������������0(�89:������SELECT������)#���

�������b�$��Nx� ���I�X*:�;�����/��&����'��$����U<2 �{��)��72 ����*���&���.&��������B#��b�$��������0&�#%����.#&�� ��#H��#�

���"����%���89:��������h��D����&���0����@��&�U��@��"�'�������89:��.&�������$�����&���.��a/%��

C�Listbox K�Combo box k�Domain

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 51: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��B��������0����@����0%�3$�������&'��$��0 ����%�� �������������^9*1����U��@'��Production.Product����&����������)������� ����������]�#E(�

��%�����3"����������������%��@ �0����@��"���/5)���$��U��@�Production.Product��������B��.&��"������������6�&�� ����B�

��%����#����'����$�#(�0 �����*����Explorer��Object��U��#@�'��Production.Product����Management Studio���0# ����)#���

������������/�#1�.&��B����'��� ���Management Studio���#�&!�� ���Tables����0(�#89:��,#$���.�&�#��Adventure Works�

�����,�N���� �%�����P�(�(����We�Production. Product�� Columns�����'�����

�����76���������j$�/%kGK�����������B���%���$�(�0 ��/�����������B��$������ �&���|���������T$�.��a/%�C�����*����������;�����7<#=�� ������

�%��&��� �%�{���'���$3"������89:��.&�����������P����3&�����

��������0$��U��@�.&����Product Name^��/H������&����0$��� ��;�&���$��&����h��H��� ��������0(�89:�� ��H����B#��

�������Name��B���$�����@���3&�� �%��������@��0���� �[=�,&��5$F�b�$�.����5�(��

�����U��@�.&��Product�-$F�'�����B�/(�89:��� ��������0&�@��(FROM)�������0 �h��D����B���� �#%ProductNumber –

Name���RecordpointB��������89:��������%�0&�%�BF�'���&����0 ��%O�

�SELECT Name, ProductNumber, ReorderPoint

FROM Production.Product

��.&�Query�&�$��������%��0/$��&����h��H��� �������0-��;��.&�Query��������$�����0 ������� ��&'���89:��B��a/%���;���������@����$FG����#�����0

�.&����Query�$�����0 �����%���0 ���� ����� �-�����U��@�7���� �%����b�/(�'�%����

������������:�����\&���0%�3$���%�D��sg=�����������������0/����J(�� �U��@����������&'������'��$��� ���89Query������#���+#����������# �

�����J(����01��������������������#$������#���0/����J(�U���@�'��0��$�;�0/�����%����m�=��0 �01�)(���"��������&'��%���������^�#�x/j ��/#����0#/$�

���.�����%��CLLLL��������Y&�/�������������CLLLLL����&�CLLLLLL���������/%��/#���#���m�#"����������������������.�#���#�%���0# �B�#�a

�������������������������������������/%�.&��.��������,&�B��������������$�����&��������Y&�/����%������������������0 �0H��:����� �$������01�

������*- �/�g� ����\&����-�$�,&����������������%����"�������=�&��m�

C�Nullability

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 52: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��76�kGK�

��������B�����=�E����%��0 �b�-$����� �����������������#���U<#2 �,#&�����5�(�}&�$�B�������2 � ����w���,&����������#������#��U<#2 kM_���

�����/�1�������-�&�WHERE���0 ��%�~�����/�1WHERE��/�1�'��W���NI�=9��FROM��&����%���������0:�����&F�0 �

��������������0 �Z&�J(���������������B��������B��$�'��7*1���� ���Query�� ;���������%���0 ProductID�������kM_����.&�������;�����Query�

��������0 �7 ����$3�&�����

SELECT Name, ProductNumber, ReorderPoint

FROM Production.Product

WHERE ProductID = kM_

.&�Query�0(�89:��,$���������Adventure Works�������@����&���%�������&'��-�$��

�Name ProductNumber ReorderPoint

----------------------------- ------------------ ------------

LL Grip Tape GTGLlKL _LL

(C row(s) affected)�

^�g�1��B����0-&�$�;������$��&���F��������������S$��������.&����9J��;�/���$�Query�'���J&���������Query��@��7*1������

�/�1������$�(�0 ����0&�%�3N/8�b�/(��/�1�.&����WHERE���������)����5$F�'�����������0 �0���O�

��q�(�U�d ��3N/8�

�����#��� ����&�g � �%��3N/8����$�G���.#&��

���5�*����������6N/8��%�3N/80�������# ����

<Column Name> =

<Other Column Name>

<Column Name> = 'Bob'

=, >, <, >=,

<=, <>, !=,

!>, !<

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 53: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����$����� �$��� �5$��'�������� ������#�"�s#g=

������@����� '�.&������6$O�

CG���##6N/8�'���##�!��;�'���6"##�����

� ��� �����������#/�S�(�A�#������B�(�0 �

�������R(��/���

U�##d ��##j��O�ROMEY�r�romey��

���������o��#H��#���*�$������H����0&�@���

�����������# ��;�#�������$�+�D$��,"����n�!

���������o��#H��#���*�$������H����0&�@���

���##������##��+�##D$��,##"����n�!##�

�ROMEY����romey�����%�����

KG��r�����0##�J ��##�����##%��� ���##

��##�$�������##%�����������##��P##�(��

��0�J �������'����#�$��6"#�����������#��!�

'�����$����%��

������$����0gj� � �%�3N/8�����$�� ��/�

���,##&�����##%�3N/8��##����w�##��.&�##�"

WHERE���&�*����6���NOT���U���������

���We�����AND������%���F����OR�����#��

����������#�%�����R(�����&����.&�������%���0

����%!$����'����$�(�0 ����#�������)�������#@(

��������XOR����$��@���-�&�������

<ColumnC> = <ColumnK> AND

<Columnk> >= <Column `>

<ColumnC> != “MyLiteral” OR

<ColumnK> = “MyOtherLiteral”

AND,OR, NOT

����01�����N/8��-�$True�����#������%��

�##����b##����b�����##8�.�##��U�����##8���

�##�$� � ��##6N/8�AC=C�AND�A>B�

�������������b�$���$�(�0 �����cD� ��&��g �

�%�B����������q��&��g ��&��%��R �;��

<ColumnC> BETWEEN C AND

M

BETWEEN

����'����$�(�0 ��������������$��#$�B��8����

���������)����������,&��������0 �cD�

���������BF�.&!3&�#@��$�(�0 �0�:��%�������

������ 98�������0# �B��#$�����#���#%�

��������BF�.&!3&�#@��$�(�0 ��������,&�sg=

����

���###���������/�/###E� �###%������[]�

�������� �#%��������#5�(���������0 �cD�

���%�'�- �������7�����

>[ a_c] ������#���#���J �.#&���#��b=a��c�

����%�'�- ��[ab]�������������0 �cD� �

<ColumnC> LIKE “ROM%”

�LIKE

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 54: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

a��&�b����%�'�- �?�

��� 98������$� �NOT�������#���0# �7#/8���

����0 �cD� ����������� �#J�������#���#����

���0/$���=����S$���

���g True�������@ ����g ������$�����0 ���

������ ��N���/N��u"��/����IN����'��06&����

�������'���#J�����0�����&��g IN�����0# ��#�$�

�����������������#����#3N/8�.#&���#�����#�������

SubQuery�'���##���$##��0## ����)##���

�7<=C_F�����&'�����0 ��5$��

<ColumnC> IN (List of

Numbers)

<ColumnC> IN (“A”, “b”, “k`M”)

IN

�����g True������������#&�,#&��#����#$�����0 ����

���/%>������/#��+�#D$���#������?������&��#g

��,&SubQuery��������#&�g ��#3N/8�w���

�����$� � �>�;�;r�r�?����$'�#������F��� ����

ALL����������#���&������g ��������0 �cD� �

��/%�������������8/- �����&��g �

ANY�����SOME�����$�������� � ��6N/8�

�����g �True���������#�����*8�,&����0$� '����

��������0# ���������������8/- ��&��g �'��06&

��$������

<column|expression>

(comparision operator)

<ANY|SOME> (subquery)

ALL, ANY,SOME

����N�###����j###��,###&�71��###H��###��

��������������g ������$������������

��$�����0 ������������7<#=�����#%��� �.&����

C_������%���]�E(��������

EXISTS (subquery)

�EXISTS

ORDER BY�

��Query�$����0&�*)���P�(�(����������h��D���}&�$�;�&������@��B����(�� ����0&�%�������0=��<(�.&���&F�m�

������������/������.6/ ��� �.&����������������'��)3��;������������������������cD�# �P#�(�(�,#&������&3$��/�����������*d �U���.&��+�@�� �

�0������-�$Query����0*�(�(��������%������;��%���0 �SQL Server����0 �cD� ������#���0# ������Y&�/$��/�� �������.#&�

��������A����.&������� SQL Server���&!%�.&�/�������0 ���/<(�&��^�/J ���������$3"��%�������=�����P#�(�(��#&����#��

��������0&�%�c�����&��U��@�06&!�=SQL Server����0 ����)����5$F�'���/�� ��%������B��������� �������

��/�1ORDER BY�B��8�������������P(� ��� �#%�����������cD� ��(��%��0 ����B�6 ��.&���/��������0 ��=����S$����

�����������������������/�#1�����#�����0����@�'��B����"�'��0*���(���$�(�0 �.��a/%��$��P(� �0(�I��"����0����FROM��������;��#$�����#@��

��/�1 ORDER BY��������)�����

�.&����Query�������@(�O�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 55: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

SELECT Name, ProductNumber, ReorderPoint

FROM Production.Product

�������&'�}&�$�������0�������%���O�

�Name ProductNumber ReorderPoint

------------------------------ ---------------- ------------

Adjustable Race ARGMklC tML

Bearing Ball BAGlkKt tML

...

...

RoadGtML Black, `l BK-RCVBG`l tM

RoadGtML Black, MK BK-RCVBGMK tM

(ML` row(s) affected)

��-�$���������S$������j$�/%Query�A�������� �ProductID��������P(� ���m��"�

��6�&��7����SQL Server�����%�������������c����,&�'�����)�����89:��.&��Y&�/$� ��������.&�5������=���%�����/<(�

���A������ProductID�������0 �P(� ���.&���������;��1�������&!%�.&�/��P����:�D���Nx� �CPV�����IO���� ��@�����Query�����������# ����

�.&�Query�����n�!��������U��@� �%��������!&�������������@��0$� '���� SQL Server�����#$����@� ��#@����#:�,&�����.6/ �

����P(� � �3&��B��A�����������%������.��a/%���+�D$���2$���$�(�0 �� �����R(�������B���P(� ��Query ����#&'���#I����

�����.��J(���

�SELECT Name, ProductNumber, ReorderPoint

FROM Production.Product

ORDER BY Name

��/�1����������@(WHERE���$�'��$��� ��-�&��������/�1��*�� WHERE�����������0&�#%�������#"��#6�&�����/#��'�#�$��#����#��

�&�/$���%�D �������������������$��&������������@��$�(�0 �;��%��Y��;��/�1������������������������� �WHERE�����#�����#�����#@��

��/�1�'��7*1ORDER BY�=����%�����1����

�$�)�� ���� ��@�����Query���7*1��������;��&����%�D$�0(��)(�p�%������^�g�1������*����$�(�0/$�.&����������������=��01�)(���"����W�Query���#��

����(���%��0 ����R(� �:��������P(� � �3&���$���������%���>�A�����Product Number�?�

�SELECT Name, ProductNumber, ReorderPoint

FROM Production.Product

ORDER BY ProductNumber

B�������%������) �� �}&�$���� �����%�0N*1� �%������B�/%�}&�$�.&���$������P(� � �3&��T$�������

�Name ProductNumber ����������� ReorderPoint

-------------------------------------- ------------------------- ------------

Adjustable Race ARGMklC ����� tML

Bearing Ball BAGlkKt ���� tML

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 56: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

LL Bottom Bracket BBGt`KC ��� ktM

ML Bottom Bracket BBGlCLt ��� ktM

...

...

Classic Vest, L VE-CkL`-L k

Classic Vest, M VE-CkL`-M k

Classic Vest, S VE-CkL`-S k

Water Bottle - kL oz. WB-HLVl k

(ML` row(s) affected)

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

�'�%SQL Server � ���D���}&�$�B���� ������&!%�.&�/���(�����0 �+�D$�����0&�5������&����%����'��0[J��� ������0 �o�I�

�B"��������R(Query������������R(����

������������#%��b�-$�� ��8� �%�N�=�A���������� '���P(� ���$�(�0 �.��a/%����B#���Query���0(�#89:��,#$���������U���Northwind�

�������@�����

�6$�6$�6$�6$OOOO������������ ����.�����.&�������������0 ����)���0(�89:��,$���'����������$��0/$�P<$���@��B� '������������ ��@���S� ����Query��� �#%�

0(�89:�� ��56$����$/$��(��������%���h��H�� �J�Pubs�� Northwind�����@ �SQL Server KLLL�����0# ��#���#����P<#$�

�����=�&����=�����6&� ��&���'������5$F���$�(���/�/E����0(�89:�� �56$���.&��P<$��2$E�]�E(����$�����������

��6$�6$�6$�6$OOOO���������,$���ZND � �%��$/$�'��+���.&��0:������������,$��� �%��������������%������)���0(�89:�� �%���������Z#ND �0(�89:�� �%

�����0 �0�������Y&� 'F���

�6$�6$�6$�6$�O�O�O�O������������������,$��������%��B��$�sg=��6�&���:�D���$�;�����0 ����)���,$���,&�'������'��7������"����� ���� �%�����:�A�������0(�89:�

�$������0H��:�ZND � �%���%��������]�E(�7 ����:����0H��:�7<=����ZND � �5H�:�A�������0H��:�������

Query�0(�89:��,$��������<2 �U��@��&�����B��a/%�!�$��J��Northwind�b�$����Products����%����O�

�SELECT ProductID, ProductName, UnitsInStock, UnitsOnOrder

FROM Products

WHERE UnitsOnOrder > L

AND UnitsInStock < CL

ORDER BY UnitsOnOrder DESC

� ��@����Query������%�������&'�}&�$���O��

ProductID ProductName ���� UnitsInStock UnitsOnOrder

------------ -------------------- -------------- ----------------

__ � Louisiana Hot Spiced Okra ����`� � CLL

kC � Gorgonzola Telino ��� L�� tL

`M Rogede sild �����M�� � tL

KC Sir Rodney's Scones ������k�� `L

kK Mascarpone Fabioli ���� V�� � `L

t` Longlife Tofu �� `�� � KL

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 57: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

_l Scottish Longbreads ���� _�� � CL

(t row(s) affected)

������.&��������!�"���"Query��������@(����U�����;�����������.&���������&��������]�E(�������0&�5/�1�����Query�������#&����������1����)����� ����

��/�1����w�����"WHERE��/�1�.��a/%����&��������������ORDER BY�&��������

��/�1������� �&�@��� ;�b��ORDER BY�&�����=�E���;� ��N���/N�DESC�������/N��.&��SQL Server�P(� �����&��0 �

����������0��!$���I�����&��� '����>�������������'������� �JI���I���� '���P(� ������%���0 ����ASC����������#I�����"������������)���

���&�$����BF���$�(�0 �������%��� �JI� '���P(� ���=�Y���?�

�+���������;,&Query�������&$�0 �����3&���;����%����������"�P�H���� '���P(� �����.&��� ��������#�� ��#���#5�(�����.&�� ����

�.����������.&����%��b�-$���&��0&�%�B�� '���P(� ���%���0 ����� ���,&����b�-$���5$F�A�������>,�?�&�����0 ����

��;U�d �B��8�������������.������0(����)��CL�����KL����* ����CVV_�������������0 ��%�������%���0 �.��a/%��������.#&���#��!�$� �3&���� �

Query�����������������A������We�����&��(�P�H��������������)��������&��BF��������0 ��=�E��CustomerID�����P(� ���������%�#��0 �� ��

�B�� '���P(� CustomerID�����0��!$���I��������

Query����%����&'���I����O�

�SELECT OrderDate, CustomerID

FROM Orders

WHERE OrderDate BETWEEN 'CKGCLGCVV_' AND 'CKGKLGCVV_'

ORDER BY OrderDate, CustomerID DESC��

�-�&����;�������P(� ���I���������������0 ��=�&������0&�%������$O�

�OrderDate ��������������� CustomerID

------------------------ � ----------

CVV_GCKGCL LLOLLOLL�LLL� � FOLKO

CVV_GCKGCC LLOLLOLL�LLL� � QUEDE

CVV_GCKGCK LLOLLOLL�LLL� � LILAS

CVV_GCKGCK LLOLLOLL�LLL� � HUNGO

CVV_GCKGCk LLOLLOLL�LLL� � ERNSH

CVV_GCKGC_ LLOLLOLL�LLL� � BERGS

CVV_GCKGC_ LLOLLOLL�LLL� � AROUT

CVV_GCKGCt LLOLLOLL�LLL� � SPLIR

CVV_GCKGCl LLOLLOLL�LLL� � SANTG

CVV_GCKGCl LLOLLOLL�LLL� � FAMIA

CVV_GCKGCV LLOLLOLL�LLL� � SEVES

CVV_GCKGKL LLOLLOLL�LLL� � BOTTM

(CK row(s) affected)

�&��(������������%����� �JI���I�����&����)3$��6�&���$������P(� � �JI��:����'���� ��;>���#��� �JI���=�Y����6�&���:������?

� �����������0 ��������3$��%�!$����&��(��������CustomerID��������P(� �0��!$��:�������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 58: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�6$�6$�6$�6$OOOOU��@�B����"�A���������}&�$���%���0 ����01��B��������P1�� ���%��b�-$��������/�#1�����#��0&�#%ORDER BY�

^�/H� N@����SELECT������������@�������

����������� ����������������GROUP BY�

�����'���/�1���"����7<=� �����'�SELECT�&������F���������0 ��������.&��0N��������B�����O��

SELECT <column list>

[FROM <source table(s)>]

[WHERE <restrictive condition>]

[GROUP BY <column name or expression using a column in the SELECT list>]

[HAVING <restrictive condition based on the GROUP BY results>]

[ORDER BY <column list>]

[[FOR XML] [RAW, AUTO, EXPLICIT][, XMLDATA][, ELEMENTS][, BINARY base _`]]

[OPTION (<query hint>, [,. ..n])]

����ORDER BY�'���J��GROUP BY�&����]�E(��(��'���$F�� ���"������0 ����1��m�����@��7��������O�

� ORDER BY�'�������������GROUP BY���0 ����)��������BF� ��� ��#���.&�#/(��/����������0 �. �

�����������

� ���'���#J��Z#ND � �5/�1���$�(�0 ��/�����b��.x/j ��%���0 �. FROM����� ��#���#��0#*�(�(��#�����SQL

Server����{�&���7��1��;�����o�H��&�P���(��%����

��/�1GROUP BY���0 ����)�����89:�� ����������� �������� �������,&�B����Query���B��#�����#��GROUP BY�

���&$�0 ������������{��)���Jj1����J(��"�{��)���8/- �,&������$������%���0 ��$�����

�SELECT OrderID, Quantity

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

�6$�6$�6$�6$OOOO���������.&������%����������)����� ����Query��������@(��������7<=�'������K�����������#��,#&�b�#$������#����������:��>���,#&��#-�&����

U��@�?�����;�����������@��0���� �[=����������b�$��&�����������������)@�,&�7������������;�������������1�06(� �5������&�����v#8�������.&��

����0 SQL Server���-�����b�$�B�&�����T�����������@ �������0��#�� �[=�'�����)�������������0 ���I(�. ��%�'���

����� ������������b�$���

� ��@���-�$Query�����&'���I���������O�

�OrderID Quantity

--------- --------

CCLLL KM

CCLLL kL

CCLLL kL

CCLLC _L

CCLLC KM

CCLLC KM

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 59: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

CCLLC _

CCLLK M_

CCLLK CM

CCLLK K`

CCLLK `L

(CC row(s) affected)

��sg=��"���&�����������{��)��������������#���0# �cD� ����{��)�����y!@��j���%��������*����$�(�0 �� �������0# �B#����

��������)���+��H�.��� �'����$�(�;��/�1�'���6�&���&GROUP BY;��������)�����\��#(�'���/�1�.&�����SUM(�?���0# ����)#��

��������SELECT OrderID, SUM(Quantity)

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID

�����0 ��S$��� �}&�$������������ ��@�����O�

�OrderID

---------------- --------

CCLLL lM

CCLLC CC_

CCLLK CkM

(k row(s) affected)

�&������S$������j$�/%�\��(�SUM;�$�����0 �'������T/- ��'��� �����m !�"��"�T/- �� ��GROUP BY��&�#�����6$����)����;

�\��(SUM����0 ��*��2 ����0=�&���0$���&��g ��/%��8/- ���>�B���-�&����Quantity�?���'���#%�� �.#&����GROUP BY�

�\��(����&����������)��SUM�%��0 �B��$����������%�T/- �����

��%��b�-$��B����"�A��������� �����������$�(�0 �.��a/%������.&�� �����;������=�E������3&��B��b�$���� ���,&����=������

�U�d � ��������������� �����%����0(����)�����J(���%���0 ������&�0$�&�� �'CustomerID���.���A����AO���#&��F��#���������������=�&������

�B������%�'����$�(�0 CustomerID���EmployeeID��/�1�������GROUP BY���������)���>�\��(�� ������COUNT(�?���

������%���]�E(���(���:���?�

�SELECT CustomerID, EmployeeID, COUNT(*)

FROM Orders

WHERE CustomerID BETWEEN 'A' AND 'AO'

GROUP BY CustomerID, EmployeeID

� ��@����Query���0 �cD� ������0 � �� �,&�'���� ����,&����0(����)�����J(���������

�CustomerID � ���� EmployeeID

---------- ���� ----------------- -G-

ALFKI � � � C� � K

ANTON�� � C� � C

ALFKI� � � k� � C

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 60: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

ANATR�� � k� � K

ANTON�� � k� � k

ALFKI� � � `� � K

ANATR�� � `� � C

ANTON�� � `� � C

ALFKI� � � _� � C

ANATR�� � t� � C

ANTON�� � t� � K

(CC row(s) affected)

�'�����)���b�3�%�������������������@(GROUP BYB���/%�;�@ � �%����������SELECT��'��0/�#1��&���GROUP

BY������������������ ����������&����6�&���&������0&��J ��"����.&���m�����0������%������&�������

������������������&����0 ��S$����01�^�/J ��%� ������/�1����GROUP BY���0 �b�-$�������� ���0#J/@�\#��(��#���#��-�&��P#��@�

%��������$��0 �U�/8������� �5������U�d � ��������'��06&���Query�����#�� �%���������B#��T#/- ��#��Quantity�����=�#������������T#/- �.#&��

�/�1�������0%�����%� ����0��D$��B����������0 ��*��2 GROUP BY�������.#&�����;�#��0# ���#$��������#��������Z&�J(

�� �sg=�OrderID����@��0J/@�\��(� ��&'����J(������%���]�E(�����5$F�.&�/5 ��/�1�.&������ ���$�������

�6$�6$�6$�6$�O�O�O�O�������)���\1 �������B��(��1�0J/@�\��(����0��H���GROUP BY�����5$F�� ���$����B��$�Query������#�� �#�*%���� �#%�

�$����0/$����2 ���B�����/��0J/@�\��(����GROUP BY������;(�.&�U�/8��}&�$�7�� ���\������0 �>���#�����0&�%�j���/%

�w��WHERE�$����0$�D/%��?�'�����01�GROUP BY���#����0#/$����)�������������#�������#�$�(�0# ��#5�(�\#��(�.#&��'��0[#J��

SELECT���������������0�J �.&�����;�$�����)����3&��0J/@�\��(����������������#������B#��,&� �����$�(�0/$��5$FSELECT�����#����7#/8����

�/�1����01�GROUP BYU�d �B��8�������$��@ ���@��B����;GROUP BY�;AVG������$�(�0 �SUM�������������$�;

cD� �B��,&� ������

AVG����������������0 ��������.�3$�� �.=��� ����\��(�.&��������&����Query�������������������������#J(�.�3$�#� ��#(���#%��0# ��#��R(���#$F�����.&��� ���������@�����7*1�

T/- � �@������������)��$������������)������

�SELECT OrderID, AVG(Quantity)

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID �

�����0 ����R(��&'���I����� �}&�$����������@(O�

�OrderID

----------- ---

CCLLL Kl

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 61: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

CCLLC KV

CCLLK kk

(k row(s) affected)

���$�(�0 ��/������������B�2 ��0E�&��������}&�$�����������/��{��)�����kCCLLL����8/- ��������j����lM���#��������.&����#���Kl�kkrk�lM���

������������-�&������-�$��������e������.6/ ��/��'��0[J�Kl�kk����� �������������g �B����Kl���������$��m���#����U����������+�#@�

�����)5$�7&�*(�.�$�1�W�����

�6$�6$�6$�6$OOOO���^��J���%�7&�*(��������������%��������]�E(�7<) ��:���������������������� ���������<D ��:����� ���������T�#$��,�(� (���:�����

�%�����������0 �7&�*(��%�������ZND � ������ �.&������;�� ���8�����������$���]�2I�����T�����5$F����������N/8����������&�������������#8�,#&�.

��$��������/�����]�2I>����=�����&��$����8��BF�X*:���?��

MIN/MAX�����������������$!��A�H�����5$F�������$�(�0 ��/�����b����0 �w������N����;�����������'��������%� �������������������/���&��g �.&���%�B�������+�D$��

B��$��%��0 ����B�/%��������Query�\��(� �������7*1�MIN��%��0 ����R(�����

�SELECT OrderID, MIN(Quantity)

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID �

������%����=�&�������&'��-�$�O�

�OrderID

----------- ---

CCLLL KM

CCLLC _

CCLLK CM

(k row(s) affected)

��3&����*6&Query�\��(� �������MAX%��0 ����R(���O�

�SELECT OrderID, MAX(Quantity)

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID

�-�$������%����=�&�������&'�O�

�OrderID

-------------- ----

CCLLL kL

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 62: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

CCLLC _L

CCLLK M_

(k row(s) affected)

�\��(�����%��6$F� ���MIN���MAX���6���&����"����������������%����������m����������Query��&�����O�

�SELECT OrderID, MIN(Quantity),MAX(Quantity)

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID �

�&����%���,"��76� �,&��������=�E��B��,&��������&'�}&�$�B����O�

�OrderID

------------ --------- ----

CCLLL KM kL

CCLLC _ � _L

CCLLK CM M_

(k row(s) affected)

�&F���(�0 ������D�(��-�&��������76� ���$��%��c�89:���/%�� �m��#&���F��������������'��$����0(�����B#�����'����#����#-�&������# ��

��������������������\��(�b�������w�� �B��b�������������@��76� �.&�����&����0J/@�\��(� ���������;z���U�d �.&������*������.x/j ���$�(�0 �

����� ���!�����8�����0$���������������\��(��N������������MAX�\��(��N��������6"�����8�� �����B����MIN���#$����#����-&�����# ��

���������$�cD� ����/%�����0J��(��"����w�� �0$���"��6�&������J� �b�$�,&�'���&���.&������C��������)��������#����J�# �b�$�,&�

��%�����R(��-�$�Y&�/$�b�3�%�������B��b�$��(��%��0 ��'�@���/����$�(�0 �� ��N���/N���N����������b�$�.&��AS��������-&��O�

�SELECT OrderID, MIN(Quantity) AS Minimum, MAX(Quantity) AS Maximum

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID

��-�$�B�����<����0 ��&'���O�

�OrderID Minimum Maximum

---------- ---------- -------------

CCLLL KM kL

CCLLC _ _L

CCLLK CM M_

(k row(s) affected)

C�Alias

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 63: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

� ��N���/N��'�����)������������@(��&��AS���� ����������g�gH������� '���>�7*1SQL Server��D�$�_�M�?���#/N��.&����

�����$��@��̂9I�� ��N������%�D��������$�(�0 Query� ��N���/N��B�������7*1�AS;�������@���������#��}&�#$�.#&���#���#&����%���

�����0(��)(�p�%�7*1�}&�$����$�������������������+�D$����J� �b�$�,&�B���%� ������$�(�0 �.��a/%>���������0#������J��7<=�������TE �.&���

������%��?��

����������B���Query������������N���/N��'����*�&��� �;������0 ���@�������F�AS�������&�����6$����)����%�@�0[J�������;�������#/%��#��� �����#%�B#����b�#$�

�&���������J� ��

�SELECT OrderID AS “Order Number”, MIN(Quantity) Minimum, MAX(Quantity) Maximum

FROM [Order Details]

WHERE OrderID BETWEEN CCLLL AND CCLLK

GROUP BY OrderID

� ��N���/N�����������@(AS��%�����J� �b�$�B���%����'���������$�(�� ���=�$���6���%�@�0[J��������

���Order Number Minimum Maximum

----------- ---------- ------------

CCLLL KM kL

CCLLC _ _L

CCLLK CM �

(k row(s) affected)�

�6$�6$�6$�6$OOOO����� ��N���/N��'����J� �b�$�B���� �����������o��8���&���AS��0/$����)�������ZJE�w�g$�'��06&�.&��� �;��������. ���7*1�

� ��N���/N���6�&��'�AS������A��������. ���SQL Server����(��$�)�� ���b����0 ������b����� ���������6�&��B>����)���̂�*&�g(

����b�������{ ��=���$F�'�?��������������/N��.&��'��^�/H��������0 ���I(��/������ ����������)�����"��m���7����������O��������6�&���6�&��U�����E��v8

�����$������6�&���6�&��b������0 ����0&�$����ANSI������

COUNT (Expression|*)������\��(�?f>COUNT�������,&��������%�j�����J(�Query�������0 �+��H�����������'��06&��(���%���'�@��T���� ���Query����U/J �������� �%�

�����0�������

�SELECT COUNT(*)

FROM Employees

WHERE EmployeeID = M

��� ���������0 ��=�&������ ������8/- ���������)(�0/��0N*1��

�-----------

C

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 64: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

(C row(s) affected)

�����)(������%���'�@���&'���e���%��6�&��U���;�B���/%�����j$�/%�7*1���$� ����0# �Y&�/$�\��(�,&��-�$�B��8�������0&�%���#&��

������������$�0E�=�Y���b�$���������&���$�B�� ����0 �$��%��-�&�������������������)�����J� �b�$�'���&�������������b�$�B��.&�������%���0 ����

������������������&������$����������0I����� ��g�gH�������������@(��6�&��b�������������#"���#����8/- �.&���-�$���"�������0# �Y&�#/$���� !#�

���J(�m�%���%�j���/�1�w������0&WHERE��/�1�������0���@�������FROM����� F�����0 �����F���

�6$�6$�6$�6$OOOO�Query������������:��������������'��06&�.&��Query ��U��#@�,&�'���%�j�����J(�BF�,/�������$�(�0 ���������&��� �%�

�w��������WHERE�����+��H��$'���0 �����F�������

�����.&�/(� ����sg=;�Query�/�1�B�������7*1�WHERE�������@�����

SELECT COUNT(*)

FROM Employees

�U��@���� ���=�E���&�o�H�7/8�p�%���� Employees����������$�b�-$������*������&'��-�$��&�����

�-----------

V

(C row(s) affected)

���"���8�.&��m�U��@� �%�j�����J(���8�.&�Employees� �������0 �cD���.&�Query�&��e���.%4�����%������

���������&'������0%�3$��/�1�.&��B��8�������>�/�1COUNT�?��%������'�����)��� ���������������&�COUNT�'�����)���� �;������@��

COUNT�� 98��������f(�&����]�E������BF��1��B���;���*8�,&�������BF����)����(����^�/J ��,&�b�$�;B������0�������

B����Query��������@���3&��U��@�,&� ������*�&�����7*1���

�SELECT COUNT(*)

FROM Customers

������%����=�&��� �������J(��������!��U��@�.&���6�&��7������

�-----------

VC

(C row(s) affected)

QueryB��,&���J(�sg=��(���%��0 ����R(���������$����������0I�����

�SELECT COUNT(Fax)

FROM Customers

��������)(�0/��7*1�����-�$���*�&�O�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 65: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�-----------

_V

(C row(s) affected)�

������������������0 �Yg$�� �.%4����U���,&��-�$�.&�����������B����"�������&��BFFax������������'�� �#/�����#J(�������@���%�j���/%� �������

�j�����J(������%�����;���������U���.&��+�@m�����������������#$��#@��B��.&�� ���� ���g ��%�j��'��0[J�������������#I9���#j�COUNT�

�'����Q� !�"�������01��f�&��g �������6�NULL �����0/$��S$������������B#��BF�����#��0&�%�j�����J(���%���0 �B���Fax�

����*������$� ���g O�

�SELECT COUNT(*)

FROM Customers

WHERE Fax IS NULL

�����&'���<������������ ��@���-�$���

-----------

KK

(C row(s) affected)

����0 �+��H�W�;��VC�rKK���_V��

_V�B����������Fax����$�������g �KK���8/- �����$���$� ���g ��%���������0 �VC�������

�6$�6$�6$�6$OOOO�������!@����0J/@�\��(��/%��?f>COUNT����&��g �NULL������$����0 ���&���$�������������������6=��Nx� �.&������g�1��,&���0 ��Nx� �.&�

����������������� ��&'���q�(��/��}&�$�����$�(���������g � �-��B�������'�� �����NULL�����������#����0 ����)����)I�'�� ��8� �%��N�=��������# �

��������)���&��NULL������$��)I�B�/%�����\��(��/�����AVG���@�\��(��&������ �������3&��0J/�0&�%�B��������g ����NULL����U�#/8���$����

����&��g �;����NULL���������Q���g �������01���(�NULL��������������%�D$������0J/@�\��(�����$�$�7&�*(��>����������'���#�$�(�0# �U�#d � ��#�

��\��(�?>ISNULL��&�?>COALESCE����������)�����?�������7<=�������TE �.&��� t����# ��;������%���0�����������#��.�#H����U�#H��#5�

������@(��� �.&�����0(�89:��,$�����89:��Y&�/$���0�&$��

�v2������6�&��'��7*1COUNT��%���/(����;��/�1�������/%�\��(�.&��B������6����������0��d ��(������5�GROUP BY����*�����

���������������{��!���&� ��%�������0$��� �������J(�����%�D��� �'��W�y���&���������������&����0 �^9*1���� �������������������$��������#/%�B�����#���;

� �%�j�COUNT(*)����g �������0&�%�j���/%��&�U��@�NULL������$�(COUNT (ColumnName))�����

��/�1�'�����01�GROUP BY\��(������0 ����)���COUNT����0 �����7*1�0�D����������#���#%� �%�j#�����#J(���*�&��� �����

-��$�����0 ����U��@��/%� ���������)��������!�����J(�B��������� ����.&��'����$�(�0 ����

�SELECT ReportsTo, COUNT(*)

FROM Employees

GROUP BY ReportsTo

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 66: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�A�������sg=�� ����������@(ReportsTo;�&���� ��*%�����COUNT ()���.&����#����#���0J/@�\��(�,&��̂�#/H���#����#�$�b'���

��/�1GROUP BY ��6�������������

�ReportsTo

---------------- ��� -- NULL� � � C

K� � � M

M� � � k

(k row(s) affected)

�����������&��0 �� �����-�$M����&� ������ �������0&�&� ����/����(ManagerID)�K����$�������{��!����k����������0&�&�# ����/#������&� �����)$�M�

�$����{��!�����������������N�=����B��� ����'��06&���������cD� ����%����1�.��a/%ReportsTo����g �NULL������G������#���0# ��#S$����

���������$�0������0���!��p�%��� ����.&����>����������W�y����=�.&������0 ��6=�. �?��

��/�1�'����$�(�0 ��&��3���S$����06��6(���2��'�����GROUP BY@�\��(�p�%�B�����������U#gJ ���#��.#&���# ����#������)#���0J/

���$��SQL Server���� ������������%�j���/%��$�(�0 ������&!��'����$�(�0 �0&�������2������ �DISTICT�>��^��#J������]�#E(�

����%��������?�$�����0 �����J&���� �����}&�$�B�/%�����������)����

���0 �B����+����������$3"��5%������$�����������0 ������������������������#$����76�# �BF�������=��'�� ����������&����0 ���&����0*2I�� �������;���

�����������g"�v2* �.&���������&�0 ����BF�B�$���'���J���*����

����������������������������� ���� �� �HAVING ��BF����g ��&����������$�0<D� ����g ��j��,&����B��,&���������7��;���*$��&��g �'�� ������2 ���0 ��=�����&��$��j���

��������%��b�-$���&��� �����"������U�/8���5%���� ������0:��������%�D������m�������#���#���j#���%��������%���0 ;��3&�����*8���

�/�1�������-�&������U�/8���5%���� ���w��� ��*%����'���J��We�������=�E�HAVING����&F�0 �� �,/����

��/�1HAVING�/�1�������0 ����)���01��sg=�GROUP BY����#�����#��������w�#���#6�&�-$F�'�WHERE��b�#/(� ���

�� �����0 �b�-$�� ��*%����'��7*1���6�&�����0 �U�/8���%�j�HAVING����0 �U�/8������� �%�j�� ������w�����

;B���Query����������������7*1��/�1�B�&��������������%��0 ����R(���Query�������������������#$���s*(�# ��&� ��%�������0$��� �������J(�BF�������

����0 �B��$��

�SELECT ReportsTo AS Manager, COUNT(*) AS Reports

FROM Employees

GROUP BY ReportsTo

�&'������}&�$����0%�3$O�

�Manager Reports

---------- -------

NULL C

K M

M k

(k row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 67: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

������� �-�������j"��J��7<=���EmployeeID������B��������0&�%�Manager��$�������1��������%�����1�����5$F�b�$�����^�/H�� ������&�#���@ �

����������@��0$�e/���&� �T$����������%�~�����������-����%��0 �{��!���������.&����� �� �����%���������^��#/H������#$� �&� �����)$�,&�!���.#&��

����������&� ���=��

��/�1�� WHERE������������%�D$��=�E���������/%�.&��������%�B�������������������� ��������# 'F� ���������0 �������01�#)(���#"��#6�&��Y&

��=���%����/�1���%���'�@�WHERE������=�E�������

�SELECT ReportsTo AS Manager, COUNT(*) AS Reports

FROM Employees

WHERE EmployeeID != M

GROUP BY ReportsTo

����$�� �U*1��� ������������/%����0-&�$���6�&�O�

�Manager Reports

---------- ---------

NULL � C

K `

M k

(k row(s) affected)

�����������$�A�2 ��-�&����� ����/�1��6�&��'��7*1��j��,&GROUP BY�������=���N1�'������=����S$���������$�(�0

�������/�#1��#������*�WHERE�������#�� �j#��EmployeeID�����#�����M���������#������#���#N�=;��#����������������#����0# ���%��# ��#���j$�#/%

;EmployeeID������KrManagerID����������0��H���������{��!��EmpioyeeID=M���������'��0/�#1�.#&��'��Y������}&�#$Query����#*$����'�

������������0&�%�j�����J(ManagerID=K���0 ����06&��$�����@���

����������%�����R(�0/������Nx� ���I�����%���0 �. �����������%�������U���.&�������$�(�0 �����*���������'�������B��&� �b������`���{��!���)$�

�������$�(�0 �m�$������Query������/�1�B�������WHERE�������@������������������#%��b�-$��0�&$�� �$�����������6�&���$3"�� ��;��&3��������J(������m

�.&���6�&�� ���Query�'����������0$��&� �` �����"�����cD� �����$�������{��!���5$F�����)$� ��%��b�-$���&���m����#�%�D���#��

������w�������������.&�WHERE����������h��D��� ����0%�������&����%�����%��b�-$��%�j������������;����#$��#@����#����0J/@�\��(��&���������0&

��/�1WHERE�������@��0J/@�\��(��6�&��'��7*1���0 �7 ������/�1�������-�&�HAVING�&F�0 �� �,/�����O�

�SELECT ReportsTo AS Manager, COUNT(*) AS Reports

FROM Employees

GROUP BY ReportsTo

HAVING COUNT(*) > `

F@����$������������&����%���&�������������������0 ����0-&�$������

�Manager Reports

-------- -------

K M

(C row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 68: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���������@���&� �,&��5�(`��$�������{��!���������)$��

��^9*1�����j$�/%�����01����)���������J&���B�(�0 ��������(�������������������0# ��#6�&���#&��*$���(����������01��� �����������������J(�.&��

��%��b�-$�������6�&��0�&$�� �$���X&�:�'��������;�$�!���$F����h��H������&����0Jj1������,&����h��H���/������������

����������������������J��7<=�������01���(��������(�����/�1�.&��We�;����������n�!��������8/- �,&������&���Query���������'���#5$F�����#��0&�#%�

������������0�����������0 ����)���U��@�.&��"��������������������#�=��;�&��F��#�������{��)#���%�������������{��)����� ����J(���%�D�����

�,&Query�&�������������

SELECT OrderID, SUM(Quantity) AS Total

FROM [Order Details]

GROUP BY OrderID

OrderID Total

------------ -------

� ��� ��

...

...

�� �� ��

�� � �

�� �� ��

(�� row(s) affected)

�$�)�� ����0D������0��!�������.��"�!���$F���5��.&��������'������SQL Server���%��#=�� � �������0-&�$��(���%�D��,/��

�����B��F��5$F�0������������������0���������������J(���������)����%���0 ��������=��

�����$�(�0 Query��������������������2 �����$�����'������0(�89:���(���%�����R(������ �������J(����0(����)kLL����������#������.&����B��#���=�#E

��/�1HAVING���0 �b�-$����

�SELECT OrderID, SUM(Quantity) AS Total

FROM [Order Details]

GROUP BY OrderID

HAVING SUM(Quantity) > kLL

���� �%�(�������0=�&����-�$O�

�OrderID Total

--------- -------

CLlVM k`_

CCLkL kkL

(K row(s) affected)

�j$�/%����������0 ���� ���;��J&������$�(�������������#������2 ��@(��� ���� ����J(�����������������������$�#(�0# �B#���Query������#&�@� �#%�

�^9d ����&�������.�����$�(�0 �OrderID���'��CLlVM�����CCLkL������������0# ��#=�����%�����&��J�� �5N<=������� �j$�/%��&�;�����-�@�

�.&��'�������=�&�����89:����$�(Query�������2���3&����89:��������C������=�&��� �g�1��}&�$��(����

C�JOIN

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 69: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�!"��#XML��������� ���� ��FOR XML���0N*1��D�$��� SQL Server��D�$�0�J&KLLL�;XML�'�(���������#������#�� �#@��8������� ���������0�&$�� �$�����2I������0

����'����%������ ���53$���U�g$�� ����0%���B��8����D�$�'��0�D��B��J�KLLL�SQL Server�������1������N��1�.&���=����6&� �

�����������P��1����B���U/J �}&�$��8/- � �-�����}&�$��(XML����������4�����1�.#&�����#���#�N�������#����#�/(��1����G��^�I<#D �������+�����

7 �8������'��7g� � �5j�2 ���

����������0@����BF�'�����)������������0�����=����6&� XML������������������01�#���#��q������5 ����BF�B�������&���� ����������R(�0/������0 ����(�

��$� ����6�&��7���������0/$�v2�����y!@��� �����-�&��. XML'(� ���� ��&'�B� �;����$�'��$�]�E�7<=�����*��C_���� ���g �

�����XML�������%���v2���&��3����&������������%�) ��������������5��� ���

��� ������DISTINCT��ALL�

�����0���������3&���������(���������%������ F�BF�'��W����������@���3&��0N��b5) �,&��� �%���������b5) �.&������6(

����w�� ��

U�d � ����;��������%���0 �������������������%��@ ���*$��������0(�<2 �b�/(�B���$'��� �%���������$�(�0 ������6�&��

�N����0�����������%��b�-$��&'���

�SELECT SupplierID

FROM Products

WHERE UnitsInStock > L

��06&������0 ��=�&������0����'�%�B��U��@� Products����%�����

�SupplierID

--------------

C

C

C

K

k

k

k

...

...

CK

Kk

CK

(tK row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 70: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

������������������$����5����&'��g�gH����� ������0 �����F������� �'��$������.&���"�����������������3$� ���6(� �%�j���������������#���j$�/%�Query�

�� �%���@�.&���&�&��7*1�������,"��z���U����������$#���#/H'�v8����$�(�0 � ���6(� �%�j����0���'��� �%�j�����J(�� ������.#&�

����!�����76� DISTINCT����*8����SELECT����%���7H���

�SELECT DISTINCT SupplierID

FROM Products

WHERE UnitsInStock > L

��(����5�������B����� !������������*$���������������0 ��=�&����$������

�SupplierID

--------------

C

K

k

...

...

Kt

Kl

KV

(KV row(s) affected)

��������������������0 �}&�$�B����5��v8��������0 ������B���,"��v8������6�&��������0 ��6&�j$�/%���������.#&���#&�=�'���#3&��06&Query�

�����.&���������.&�Query�������0 ���@���J&������.&��m��"���������������0&�����7y�� ����01������Nx� �������^9J=�� ����%��0 �]�E(��&����0��

��6�&��7����������$�������=��SQL Server �����(�����-�$�����$�����'�������%�j��b�/(����$��*- ����

��������'�%�� ����DISTINCT�����g�gH�������$�b�/(������������0 �BF��N�������������� ��� �'��06&� �J��U�d ���W&#$�� �$���B�������$�(�

������������������������%�BF�b�-$��������1��/����������������$�(�0/$�B��&$�� �$���'�� ������B"���%�����1���q�(��2(���������DISTINCT�����

���������*8�������!��,&�B��8SELECT���������������� �����0&������$�(�0 ������������)���!�$�0J/@�\��(�7�����$�(�0 ����!��.&����$�������

������%���'�@�QUERY�������&�g ��%�����������

�U��@� �%�j�����J(���%���'�@������NorthWind������cD� �O��SELECT COUNT(*)

FROM [Order Details] �

�U��@���� ���R(�����Order Details�U��@����������0 �����������$�KCMM������j�������������#J(��#���#�%���'�@��B�����,#&� ���

������U�/8��z���B�O�

�SELECT COUNT(OrderID)

FROM [Order Details]

�����B���6�&��7������OrderID��������������������#g �p�#%�7 �#���#$�(�0#/$�����U��@���N��'��0/�1�NULL���#��������;�#-�$��������.#&���#-�$�

QUERY��-�$����QUERY����06&�7*1������ �.&�����KCMM����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 71: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�6$�6$�6$�6$OOOO����0H9jI����N����������'�� ���8/- ��&�,&���������%�B�����������������#���cD� �U��@��������j��,&���$�(�0 ��������0 �]&��(�������

����&������N��T$�.&��"�>��7<=������ �%t�����V�������������%���v2������������.&�����?�����������0# ���#���#��0&�5�(������N����������01��� ��

��������U��@�0NI����N���S� ��������8/- �0NI����N������������%�B����"��&�,&�'�� ������;�$����0&�6&����g ��j���%�����������/�����01��

���������������������������7#����B#"��#����0 ��=�&����j��,&�sg=����������.x/j ���$�(�0 ������0 ����)����j��,&�B��������� ����0NI����N��'�

�����������0NI����N��,&��j����� ������$�(�0/$�U��@����

��������B���QUERY��%��0 ����R(�����O�

�SELECT COUNT(DISTINCT OrderID)

FROM [Order Details]

������0 ��=�&������0(��) �}&�$��-�$���O�

�-----------

lkL

(C row(s) affected)

�0 ��=�&���0(��) �}&�$��/���-�$�����$��0/$��=����S$����0J/@�\��(� ��@��'��7*1� ���6(� �%�j���/%��������

�6$�6$�6$�6$OOOO��������@(�������$�(�0 �DISTINCT����������&�*���������0J/@�\��(��%�������/%������;��������������#/%����BF�'�����)#����&F�������&��. �U����� �

�(U�d �B��8���m�����0N/8�0J/@�\��&��3����� ���6(���Q� �%�j��.�3$�� ���%���0 �sg=��/����������<(��$�(�0/$�. �����

��!��B�������ALL���������0 �0������������������!��0����6�&��B�&���)���&�����d���,&�!@����ALL�����#�������#�����)#������*8�������

���������$�������������g�gH����ALL���Z��D �DISTINCT���������������0&�@����DISTINCT������������ ���#6(� �%�j���(����0 ����)���

����3����&��$��;ALL�������$�����%�j���/%����0 �v8���������=����S���ALL�������*8� ����SELECT�0&�@�'����Q����������=�Y���

���'����UNION������0 ����)�����������q�(�� �ALL�������'�����)���\1� �������UNION�������������%�#��]�E(��J��7<=�����������#������#&��#��

�'�����0 �3�%���������DISTINCT������0/$����)���ALL���0 ��=����S$��������

E�E�E�E������'�����)�������%������B�����=������'�����)�������%������B�����=������'�����)�������%������B�����=������'�����)�������%������B�����=�INSERT��������

��������������ZND � �5/�1��� ��������%�) ��&����/��B���SELECT����$��������������������#&����b�-$������.&��������0)ND � �%����� �����# ��

�����;������@��76� �,&��-�&�������������������BF���� ������������0 ���-&�������������0(�89:��,$���,&����01��������$��@����������#�����-�&�����

�����'������.&�� ����������=�E�� �&��g ��&��INSERT�����0 ����)�������

�����76�INSERT������&'���I����O��INSERT [INTO] <table> [(column_list)] VALUES (data_values)

�/�1���&���������0��������BF�ZND � �%�O�

INSERT@������,&�����0&�����SQL Server INSERT����#�� ���# �b�/(���%��b�-$����%���0 � �����"�� �����&��0 �

�����0 �cD� ��������.&�����y!@���&F�0 � ��N���/N��.&��'���J�����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 72: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��� ��N���/N�INTO������ �������������������������������0&�$��� ��N���/N��.&��'�����)���o�%��5�(�����������. ���(�������#������0 ���I

�������������)��� ��N���/N��.&��'���������������0 �����B�����$����H���v8�������.&���������/�#1�.&��0:�������������#��������#���'�� ���#J(�

INTO���������������@��BF�B����!�$���� ���J(������������������ �����0 �u&�(�Y%���v8���0/��BF�B�*$��"����������0# �����0&�$���v8���BF�B�

�;��&���*�����/����58����.����

�����BF����B�����=�E��7/8���%���0 ��������0���@�We�����

�����;�$���B��F���� ��jg$�.&���(���������&'�����0 ��(��D��0/�� �5/�1����B�������B����������������%�B��'��02&�I������;�%�>��B�/%���

�����&��g ����P�(�(��%�B��������������I����� ������ �����������0 ��=�&�������������������P1�� ��&�����&!��.&��'�����)���b�8������������,&�'���

������6$����)���B����������������������g ��%�;������������P�(�(�B�/%����U��@�B��,&������ ������1��%�B�����#��0# �w�� �

>�����U���B�����w�� �U������g ��;��������b���B�����w�� �b������g �����?��������0$���%� ������98�������������#g ��#$�(�0/$��������#����

���������&�������$���=�Y������g ������������������=����S$�������g �,&>������������%���0���������� �.&��^��J�?�����I9���:���������/�#1�.#&��

����� N@��/�1�����������B����"��&�,&�'��0���������&����0 ��S$�����5$F� ���� �&��g �����

����&��g ��%���F������������������0 �cD� �����$���=�E��U��@�����&������ �����B����� ����������@������.&�� ������������;����#��� ����#

INSERT����������2&�I��/�����0&�%������'�����0j��,(����������0 ����)����&�����%��=�BF� �������#�6� �!��/(������B��#���%��#=� ��#�

�&��g ��;���� ��N���/N����VALUES�������������0 �T��������������������������#@��#%�'��� ����N������������%��0 ����1�����&��g �'�������,&�BF�'��W�

���9�����$�����������$�������1�!$����7��������������������J(�����&����&��g ����������@ ��&��g ����J(���%�B���������������@ � ��%�B�����#�����

��������X*j� �w�� �B�������T$�����&������g ��%������T$������T$�BF����7&�*(�7��1�0�/E��:�����&���������

�6$�6$�6$�6$OOOO����U����.&���� �����O���/%� ������� ���g ��&����&F�%�B��������4��m�B��b�$����/%��������0 ���I(��/�����������#%�

;�������4� ��N���/N��'������0H�DEFAULT�]&�I����g ��&�NULL��������)������DEFAULT����SQL Server���#&��0 �

����Y������g �,&�����������3���S$����B�� ���������=>������������������#/H���#���#��6$���4���� ���g ������������6$����)��� ��N���/N��.&��'������U

������%����=�&����j��,&���&'��?�

��6$�6$�6$�6$OOOO�������������%�����������0&�$���v8������g ���4�� ��;������0 �b�-$���/����� ������I�.&����������#�����q����-(�������]E�����%

��/%������B������4����%�B����0 � �/�� �j��v8�������

�������������.&�/(�0/���%�����&����+��������������������0(�#89:�6$���'����%�#��0# ��-�&�����pubs������#������)#������pubs������ �#56$���'��0#6&�

�����������������%������)���BF�'��� �+���.&������������0(�89:���;�����������������#/%���������0 �P<$�����=����6&� � �5��d ��/�����01���&����

NorthWind�$���=�E���/���������������-���������R(�QUERY���#���'����$�(�0 ��&����6$�{ ��=����USE pubs�����)#���

��������

�������INSERT������������U��@���������0 ����)���7<=�.&������ ����store��������%���>��@�.&����������%�B��F���]E���T���� ����U����?

��0%�3$�.&����������&'��#$��0# �U��@�.&�����I<���>��76#�kGk?�������7#������#��.#&�� ��#��Management Studio����Object

Explorer��������0(�89:��,$���U���@����w�� �����pubs��������'������������76���������j$�/%�We�kGk��#��w#�� ��������������B��$���

�%�B��U��@� store�����'���!�$��������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 73: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��76�kGk�

U��@�.&�����;��/%������T$�%�B��char��&�varchar��������

������'��U�d �.�����B��8���INSERT��;��������� ��������&!���%�B����������/%� ���������&$�0/$�������#%�B���������0# �cD�# ���� ���#g �

��������

�INSERT INTO stores

VALUES ('TEST', 'Test Store', 'CKk` Anywhere Street', 'Here', 'NY', 'LLkCV')

��������)��^9*1�����j$�/%��������'�����) ������,&�.�$�B������%�B�>������-&��������&�������]�E(�^9*1���������.&�?������0# ��#�� �&��#g

�������� ������1�P�(�(�B�/%����������=�E����%����%�B����������#=����S$����U��@��������#��0# ������.#&�� ��#@��'���#J��QUERY��0 �#���

���N��������j��,&��&��0 ��/��������������%����=�&��QUERY�(��2(��=������1���q�g ����H�.&������&�����=�#E��U��#@�����

���������2 �� �����5�(�B����B�B�/%��������;QUERY�������@��b������� ������������%����=�&�������&'� �j����O���

�Msg K_Kt, Level C`, State C, Line C

Violation of PRIMARY KEY constraint 'UPK_storeid'. Cannot insert duplicate key in

object 'dbo.stores'.

The statement has been terminated.

���.&����"QUERY�����������$�b������� ����0��������@��U������� ������m�����.&���6�&��7��������������� ���6(����g ��'�@����������0NI����N��,&�U��@

�����N�=������stor_id����%��0/$�������������������������������#��R(�B��#����#I�B�#/%��������&��g ���g������%�����R(������������N�=�.&�����g �sg=��a$��"�

��������������$�(�0 ��&���3�QUERY�������=�E���&�@�B��,&����������@������������� �����P��j 7<=��������#�1��#��w�� � �%

�$�����%���0H��:����

����%���'�@������=�E��U��@���� !�"��"�����*O��

SELECT *

FROM stores

WHERE stor_id = 'TEST'

�.&�QUERY����0 �cD� ���������=�E���j��O�

�stor_id ��� stor_name �� stor_address � city ���state ��� zip

----------- ----------- ----------- ------ ------- � ----- TEST � Test Store CKk` Anywhere Street ��� Here ���NY �� LLkCV

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 74: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

(C row(s) affected)

��. ��%�B��������������������B��F��5$F�B�$����(�b������@��%�'��0���� �[=��N������������;����.&���� �QUERY�������������#����� ���#-�$�U�#H��#%����

�����0�������������S$����

�������(���&����B����%�B�������=�E��z��� �%�j���������&��g ��(������cD� �!�$��������

�INSERT INTO stores (stor_id, stor_name, city, state, zip)

VALUES ('TSTK', 'Test Store', 'Here', 'NY', 'LLkCV')

������������&�������R(����� ��&��g ����w�� �s��������������@(�������������������&�$��@� ��j������(��&�������R(����0NI����N�����w�� ����g ��6�&��U���

���6�&��b������;���Bstor_address������������&��6$�cD� �BF� �����%� ���g �����=�3$��S$��������������������B#���#6�&���#N8������ �.&�����

stor_address������*$�'��$��� �B��,&���;�������g ��$�(�0 NULL����&�e���%���;��������6$�cD� �BF� ���� ���g ����$�(�����B��.&��

������$��%�0E�=�Y������g ����>����^��J������� ��.&����������%���0������?����������������#����#��0#1���&��#6$�cD�# �BF� ���� ���g �B"��

INSERT����������g ������0 ���@�����NULL����&���0 ������������,&�B����SELECT������0# ���@�������=�E���j��B����cD� � ����

��������

�SELECT *

FROM stores

WHERE stor_id = 'TSTK'

)(��-�&����7*1�����*�$�����%�����&����%���O��

stor_id ���� stor_name � stor_address city ��� state zip

--------- ----------- --------------- ------- -------- ------

TSTK ��� Test Store NULL �� Here � NY � LLkCV

(C row(s) affected)

����g �������@(NULL��������h�����=�3$��S$���� ���g �BF� �������0$�� ��������

��sg=����������P1�� 0&�%�B�����g �.=�&�����N��1����NULL����������#�%��b�#-$���������.&����$�(�0 ��$�������0#�J ��#"��#��.#&��

�����m�����]E����;�����g �B��BF� ������$�(�0 ��/�����0�J �.&����NULL������������;����#j�������+�#��'��0)ND � �%�@���

���������������'��0[J������������������&����� �������0 ��*2I�TE �.&������%�B���������g ���$�(�0 �NULL������������0#/$��#3&��0#�������#$�&�e

��$�(�����$�(�0 ����/%�� �0&�%�B�����g ���$�(�0 ����NULL�&��3$��S$����B�����=�E��\1 �������������������

���������g ��$�$�B��������NULL�������������������������#S$�������B#���#a$��"���#I�.&����Q�������������������&'���JE�����'��06&��&�����&�e��

���&��3$������������@� ��j���INSERT���0/$��=����S$����O�

� ������=����S$������=�Y������g �,&�B�� ����� ���� ���g ������������0��q� ���g ���=�Y������g �

�cD� �B�$���0 ��=�E�������7<=����t������=�E�������=�Y������g �,&��$3"�����&����0 ���&����

� ���$�����B������=�&�����������s�(��������(��&��g �'��0[J��������������Z&�J(� ��.&��U/J ��������

�������&��g ������ C�������>����0 ������]�E(�0H��:�7<=���?����T�������������&F�0 �Y���0J1�

%�j��B��/��U����j�� ���������;����0 ��C��j��.� ��� ����;K0����j��/%�����F�����/����8�.&���g�gH����;

C�IDENTITY

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 75: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

[J����������B�6 ��B"����$��j�s&����P�H�����*��� ;���8��.&�����$��o�H��%�j��'��0�{�����$�(�0 �;

�������������������������z<D ��������j���%������%��0 ����B���/:��.&���/��������8��.&��� ������

� ������%��=��j�� �������g �,&�� ����

����v2��B����N ��� ����sg=��������,&�INSERT����������0 ���@������3&��������������U��#@�������{��=��� �,&�����.&��sales�����0# ��=�#E��

������������U��@����I<��B�&�� ����sales�����������U��@�����j���������� ����B�/%���$�(�0 �store��������#&���#%��b�#-$�����#�����&����b�-$��

��������� ����������4�U����'���6�&����b�$�sp_help����������)������sp_help����������������#��Z#&�J(������T�#$���������#3&��� ������������0(�89:��

������T�$���&�������s�(SQL Server�%��0 �� ������� ��@������sp_help�����&'���I����O�

�EXEC sp_help <name>

�U��@����I<��B�&�� ���sales��������&'��������=���Query Analyzer�������@���O�

�EXEC sp_help sales

�����0���������&'��-�$����O�

�Column_name� � Type� � Length� � Nullable

-------------� � ---------� � --------� � --------

stor_id� � � char� � `� � no

ord_num� � varchar� � KL� � no

ord_date�� � datetime�� l� � no

Qty� � � smallint� � K� � no

Payterms� � varchar� � CK� � no

title_id� � � tid� � _� � no

���U��@sales�������� ���i&���@(�� �������B��Y���%�B�� qty���ord_date�;����������������#(��#�����#%�0&�%������T�$��'���5$F

�����$�b�-$��������g �,&�B�����=�E��7/8��5$F����B��&����>�B�title_id������T$� �����tid�����������s#�(���#��Z&�J(�T$�,&

����T$�,&��������������������U:���� ������� �������_�����?�����������&������ �� �Query������������&��#g � ����P��1��2$�������@(�BF�����J��

�������������ZND � �%������T�$�� ����B�����=�E���S� �����������������������U#1�7#g$��# 98�'�� �����#���&��#g �o9����� ��8��&��g � ����>'�?

���������0/$����)�����������T$�datetime�������'��$��������$�U1�7g$�� 98>����g�gH������������������We�����������������B��8���������T$�.&��;

������T$datetime���0 �7&�*(�?���

�INSERT INTO sales (stor_id, ord_num, ord_date, qty, payterms, title_id)

VALUES ('TEST', 'TESTORDER', 'LC�LC�CVVV', CL, 'NET kL', 'BUCLkK')

�b��������.&����(C row(s) affected)������%����=�&�������

�6$�6$�6$�6$OOOO��������P��1�'�����01��������@(�MM/DD/YYYY��������������#%��#3&�� �5*��1�'����$�(�0 ������0 ����)�������o��J ��6&� F�������

���������)���>^9d �0NN/���.���P��1�YYYY-MM-DD��?���D�#$�P�H����/���������=�Y���P��1SQL Server��.�#�a/%���

���%������) ��������/�S�(���

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 76: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��� ��INSERT INTO…SELECT��

�+���������;���B�����=�E�������J=���%�����j��,&��������0����������������������=�E������%������'���N��,&���%�D������� �������&��� �����"���

���%��b�-$����D � �5����0:�m�� ���I��������.6/ �+���.&��ZN�����0 �������0)ND � �%��Nx����Nx�# �.&�� ���B����� ��

��������������N����������0(�89:����%���0 ���SELECT�������&�����=�&����3&��\*� �,&�'������������0# �!��/(�������=�E���3&��U��@�������;

����������&'���� �'��06&��$�(�0 �\*� �.&����O�

� &��U��@�,&�����0(�89:��,$�������3�

� �/����������0(�89:��,$���,&�'�

� �,&������,&�'��W$�- �$������������3&�� �%�������&��3&��

� �0NJ=�U��@�'�>^�/J ���������3&�� �%�����&�0E�&�����N/8���%�D�����01��SELECT�%��b�-$���?�

��

����INSERT INTO…SELECT����.&���/%��$�(�0 ��%��b�-$���/�� ��������%������'��0*���(����*8�.&���������� ��

;�&������%�� �̂9*1�����INSERT�������SELECT������&'�76������$�(�0 �����.&����O��

INSERT INTO <table name>

[<column list>]

<SELECT statement>

$�����'��0������-�SELECT�%������B��8���������s�(�������0 ��=����S$����0&INSERT�$���0 ��=�E������

�������������������*8�.&������(���&����B�����;��������������#�������4�01 �U��@�,&��������5$F��������h��D�������%�������&�������������# �.#&������;

�����0&�%�j�������$F��������0=�J �U��@�T$�'����R �,&��&����h��H��U��@�'orders�&����h��D����;�����0 �������

�6$�6$�6$�6$OOOO�����e&�6����&'�����Jj1�C��������������,&�'��z����e&�6���.&�����0 ���� �$�K>�����?����������7�6�(���������� ����^9<) �����%������

�7<=CC������%���0����������

/* This next statement is going to use code to change the “current” database

** to Northwind. This makes certain, right in the code that we are going

** to the correct database.

*/

USE Northwind

/* This next statement declares our working table.

** This particular table is actually a variable we are declaring on the fly.

*/

DECLARE @MyTable Table

(

OrderID int,

CustomerID char(M)

)

/* Now that we have our table variable, we're ready to populate it with data

** from our SELECT statement. Note that we could just as easily insert the

** data into a permanent table (instead of a table variable).

C�script K�batch

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 77: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

*/

INSERT INTO @MyTable

SELECT OrderID, CustomerID

FROM Northwind.dbo.Orders

WHERE OrderID BETWEEN CLK`L AND CLKML

-- Finally, let's make sure that the data was inserted like we think

SELECT *

FROM @MyTable

����������0�����.&����*�� ���-�$��&����e&�6���.&�O���

��(k row(s) affected)

OrderID CustomerID

-------- ---------

CLK`l VINET

CLK`V TOMSP

CLKML HANAR

(k row(s) affected)

�b����.����(k row(s) affected)� ��@���N�������������0 ����INSERT…SELECT�#��������%�~��;����#��SELECT���#��

����������$��0 ��=�E��� �U��@��������$�����0 ����j��������������'����$�(�0 �.��a/%�SELECT��������7#/8��2I�B����cD� ��S� ����

INSERT����������)�����

�6$�6$�6$�6$�O�O�O�O��������,&��a$��"SELECT�����U��@� �������@MyTable��������#�����#@��>�����e&�6#���'��h��#��?����������#����%�#���#@� ��#j���#����

@MyTable������@���e&�6��� ��@��b�3�%����sg=�������� ��R �������0 �.���'��,�(� (���:����BF�'���J������

��:���������'����$�(�0 � ��8����U��@01 ���������� ���I���������^�g�1��U��@�.&��� ����������)�������������0/$�7/8����� ��:��������U���@�

�U<=�0:��������1 �0���@� �%��R ��CC��(�Ck������%���0���������

��&��g �������R(��&��g �������R(��&��g �������R(��&��g �������R(�%�B��%�B��%�B��%�B������s�(������s�(������s�(������s�(�UPDATE��������

�����UPDATE��������%��0 ����R(�����@ � �%�������������.&��������������������0/���SELECT���������� ���$�(�0 �� ���������) �

��%��c�D�(�������� ������0 �0������������.&��������B�������

��UPDATE <table name>

SET <column> = <value> [,<column> = <value>]

[FROM <source table(s)>]

[WHERE <restrictive condition>]

UPDATE��$�(�0 ��������������������#%����1���q�#(��2(����U��@�,&��$�(�0 �sg=�� �������-&��U��@�.&��"�X&�:�'������������.#&��.#)��'���#S�

����"�PNj ��m��������������� �&��g ��&��������-&�����w���,&���$�(�0 ����������h��D���ZND �U��@�.&��"�'���������$�(�0 �sg=������%����� ��;

�����������X&�:�'�����U��@�,&UPDATE������q�(��2(���%����1������������&���=�3$���&����U���@���2���'�%��6�&��7����������������#*8��-�&����

����a�������*8��-�&��������a��UPDATE�����0/$�0���������U�d ����B����������� �%UPDATE�&'�����0 ����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 78: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��������������������s�(����0&�%������0$����'�����������R(�����j�������0��d ���INSERT������=�E����������0 �T�����&�����,&Query���� ��#�����

�����0 ���@����������=�E���j��B�&����>�0(�89:��,$���������6$�{ ��=pubs�����+�D$������?�

�SELECT *

FROM stores

WHERE stor_id = 'TEST'

�����0���������&'��-�$����O�

�stor_id �� stor_name ���� stor_address city � state � zip

---------- ----------------- -------------------- ------ ----- ----

TEST �� Test Store ����� CKk` Anywhere Street Here � NY ��� LLkCV

�B�����g ���%���0 �B���city�%�����R(�����O��

UPDATE stores

SET city = 'There'

WHERE stor_id = 'TEST'

�������$�/%INSERT�;�'����� ��&'�0��'���b����� SQL Server������%�D$��=�&�������

�(C row(s) affected)

����������01������SELECT����XNJ ����g ��������*����$�(�0 ��������@�����7*1�city��������R(�����O����stor_id � stor_name stor_address ����� city ���state ���� zip

---------- ------------ --------------------- ------- ---------� ---- TEST ��� Test Store � CKk` Anywhere Street ��� There � NY �������LkCV

���� ���,&�B�����=�E���������.&�������%�����R(����B��,&�'��Y����&��g ���$�(�0 ����������@(���#3&��B�����w�� ����*8���

�����&���B�6 ���U�d �B��8�������g �����.&��;K�%��0 ����R(����B�������

UPDATE stores

SET city = 'There', state = 'CA'

WHERE stor_id = 'TEST'

������������������/�1�����&����0 ����)���B����(����02&�I��&��g � �@������$�(�0 ���%�D�����SET�������������#������)#������#*8�,#&�'������#��

U��@�'���������"�U�d �B��8titles�0(�89:��,$������pubs�&'��$��0 �0%�3$������

SELECT title_id, price

FROM titles

WHERE title_id LIKE 'BU%'

���3N/8LIKE���������g ��������0&�%�j��h��D��� �����-�&�����title_id����BF�BU���0 �T�����; ���o�#H��%��$�(�0 �BF�'���J���

�����������1� ���g ��&�>�� 98�'�����)�����%��?�����#��������#$����R(����0(�89:��,$������w�� � �%�������/���6�&����=��������#-�$

�����&'���I����0��'���O�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 79: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

title_id price

---------- �� ----------- BUCLkK � ��� CV�VVLL

BUCCCC ���� CC�VMLL

BUKLtM ���K�VVLL

BUtlkK ���� CV�VVLL

(` row(s) affected)

�����,&���%���0 ��&�&������%���������B���UPDATE��������*8�,&�BF��������������@��=����6������O�

�UPDATE titles

SET price = price * C�C

WHERE title_id LIKE 'BU%'

�������������������� ��@��'��J�SELECT������@�������O�

�SELECT title_id, price

FROM titles

WHERE title_id LIKE 'BU%'

����0$��8��%� �����/�1��������*����$�(�0 ID����BF�BU����0 �T����CL=�&�Y&�!=���I����O�

�title_id price

---------- -----------

BUCLkK KC�VlVL

BUCCCC Ck�C`ML

BUKLtM k�KlVL

BUtlkK KC�VlVL

(` row(s) affected)

������������������ ��6������}&�$���$�(�0 ���g"��������*���(��&����(��=���%���'�@�������U�d � ����������/�1��&��0 �����&���� ����B$�1�,&�� �;�

��������������6&� F�U���H�������������7��1��&����%���/�1������������R(�7*1��/�1�������0&�%���������$����'���� �s&��������$�������h�#�H��.&�������

���/�1��(��&�����������������s�(��������7��1����* ��������%>�����L�LC�r�cent?��������������B�������/�1���$�(�0 ���������,#&� ��#@���#������%

�����UPDATE�3&������������������������7��1����g �������������&���'����������&��g ������%���'�@��� ��������������H�����������b�-$�������R(�U��

��$�����0 '���7*1�O�

�UPDATE titles

SET price = price / C�C

WHERE title_id LIKE 'BU%'

���� ����������@(���������&�������R(�������'��s��,&�sg=����������.&�� ��@��'���J��������;SELECT�� ��&����������&����T�����5$F���������� �&��g�;

�%��B��$����O�

�title_id � price

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 80: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

--------- ---------

BUCLkK CV�VVLL

BUCCCC CC�VMLL

BUKLtM K�VVLL

BUtlkK CV�VVLL

(` row(s) affected)

�������,&�����(����%���� F�B���Query���������T�����(��=���������������76��UPDATE��������������#���%����}&�$�����.&��� ������7*1���$� �

������%���O�

�UPDATE titles

SET price = ROUND(price * C�C, K)

WHERE title_id LIKE 'BU%'

�������6�&��'��7*1�\1�����UPDATE����&����b�-$��0E�&��7/8�����%�����R(�����%�������U�����$� �;Query���&��#��7/8�U���>������#5/�1

CL���&����Y&�!=���I����������$�1����X��j ����BF�We���� ����.>��������������P�H�����&������?�������\��#(�'�����)#�����ROUND()���cD�#

������%����������&���������$���������8���1������(;�>�����8��N������K����'���J��C�C�?���������,#&��N�#����#���#���#���.#&������.&���&! �.&���!�

��%��0 �b�-$���������.&���������

����0���������&'�}&�$���&�����O�

�title_id price

------------ �� ---------- BUCLkK ��� KC�VVLL

BUCCCC ��� Ck�CMLL

BUKLtM � k�KVLL

BUtlkK ��� KC�VVLL

(` row(s) affected)

�����������,&�������0 �����j$�/%UPDATE������������/(��1��������$�(�0 ���������#$���0&��#����&��#��0#�����B���(���� ��� �������

��J��U<=UPDATE� �(��=����� �%������0 �0�����������

�6$�6$�6$�6$OOOO�������������SQL ServerN��1��'�� ���������%�B����#%��0 ����>����������#�$� ����#�$��#��R(�7#��1��#�����#%�0#/�����#J(

timestamp�?�����������������P1�� �0NI����N��0$����'�����������R(�b�3�%����� ���������������������B����n�!���j����J ��������/��7/8�.&��b�-$

������B���%��0 ����1��%�>��$����T�@����&�������R(��/����� ���g �������0&�%������?�

�6$�6$�6$�6$OOOO���;U�d �B��8��������N�=�stor_id����U��@����stores�����0(�89:��,$������pubs��������0NI����N��,&���������������#g ��#����%�#D���#a$��"�

stor_id�����U��@�������stores���'��CL����kM����%�����R(��;���������� ��������%�We����U��@��sales����������#%����������g �.&�����������.#6/ �

������$��������'�����stor_id����0&�%������/%�stor_id��5$F�CL�������kM���$�7&�*(�(��.��"��%�D�������)���01�)�;SQL

Server�����������U��@������� ��1��:�������� �.&�����stores������������0 � ���N@�����.&��'�������T�@������>���7<=���t�������]�#E(����#��.&�����

��%��0 �?������%���0&����������,�&��0NI����N�����R(�7������ �����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 81: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

����������������DELETE��������

��������$/$DELETE���������������.&�(������'��06&������0 �0��������BF�7<=�.&�����������B#��'��0�#���p�%�BF�������#%�

^�/J ���U��@�b�$�,&��5�(�;���$1�,&���/�WHERE����0/$��(������.&��'�� �������O�

�DELETE <table_name>

[WHERE <search condition>]

���/�1�WHERE�^�g�1�����������&�&��B���(��������0(�������g������/�1�.&�����������$� �����0�#���,&�������$�0@��H���-�&�����

B��'������0 ������j��7��B"������.��J(�����%�>�������������j��,&�'��0/�$���$�(�0/$�U�d �B��8����?��

��������������������.&���6�&��7��������������������#���s#�(�7<#=� ��#�������#��0&�#%������#(���#���0# ���#@�����o�H�������"��5�(�;

INSERT������;�$��o�H��&�����=�E����������,&�����SELECT������������'#�%��%�j��BF��6�&��'��B���/:�� ��������������0# ���#@���#$�����#@

�����O��

SELECT *

FROM stores

WHERE stor_id = 'TEST'

�������������������������#���s#�(��#������ �j��X��j ��������j��,&�0@��������&������������6$���������j��BF����INSERT������&��#���=�#E��

������=�&���������0 �o�H����BF�B���������

DELETE stores

WHERE stor_id = 'TEST'

����������� ��@����SQL Server����0 � ���N@�08�@���03"��e6&�'��0jD(��:������o�H�7/8�'���O�

�Msg M`t, Level C_, State C, Line C

DELETE statement conflicted with COLUMN REFERENCE constraint

'FK__sales__stor_id__CBFDKCLt'. The conflict occurred in database 'pubs', table

'sales', column 'stor_id'.

The statement has been terminated.

SQL Server�'��0/�1�B��J����� �j��o�H��'�@������������T�@���0@������N����1�%��0/$�����7<=��t��0@��#����N���������

^9<) ������%���v2������������������������.%4���sg=�B����� O�� �j���������������������������T�@����3&���j��>������U��#@��&�U��@�B�/%���

�3&��?�����������������)���0@������N��'�����������o�H�\@� ��j��'��7*1��&������������T�@����j��We��;�����#���INSERT����#���#�F�

�����U��@���������,&Sales������������=�E��Stor_id�������BF�TEST;�����#����0 ���� �������������.&��������#���o�#H���#$F��

�����T�@�����

�U��@�'������������$����6�&��'��7*1Stores�����o�H��;�U��@�'����������T�@������ �j���&��Sales�����o�H�����

�DELETE sales

WHERE stor_id = 'TEST'

��

��������g= ������$�(�0 �B���DELETE�������@�����U�����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 82: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����������$�(�0 ��/���%��b�-$��o�H�7/8�'��B���/:�� �����b�������0 �������0 �b�-$��o�H�7/8�01������*���6�&��U��Crow

(s) affected����%�~��������������� ��@���N�����6�&��b��SELECT�����#�%��b�#-$�������#��.#&��������������� �j#���#&�*$�B#���

������=�&�����

�3&��.&�/(�,&�B��J���$�(�0 �;�����o�H�,"�����R(�,&��������&���������=�E�����0 ����j�����

�DELETE stores

WHERE stor_id = 'TSTK'�

�U�d ��5�&���������$���o�H����N/8�'�� ������� �%�������7<=�.&����������g����$� ����������������=�#����#&������#�a��� -�#@�w��#�����01��;

������DELETE��$���%��� �(��=��������

�����I9�I9�I9�I9����

T_SQL��SQL Server�'��0I���T�$��ANSI SQL�&�Standard Query Language���%����T_SQL��&�����ANSI_VK�����

�������!�$����������z<D �0(���*8�� �G�&����%��������� �.&��'�� ���J(����&F�U<=������

��"���SQL Server���.&��"�'��0N*1� �%��D�$����� ���'����S� ����b�-$���������,&�03/%��������0 �0$�*����ZND ����

���������b�=�'�������0J���/��� ����%��0 ANSI���������)�������������#@��0#)ND � �5��D$�����0J1� �����;�����#%��#�&!���/#���#��.# � �

�������� ��;�%��0 �B��$����ZND ������������D�$�'������.6/ ����0&�@��(�����0 ���I(ANSI����������)�������6�&���������#����#5 �0J1� � ����

�������R(��/���������3&������������.6/ ��������ANSI�����.6/ �� �����0 ���@���%��&�@��������3&�������� ���T_ SQL�

��$���@���

7<=�.&�����;����������U��@�,&�'��������j � �5��d ���T_ SQL���#89:���������h��H����J1������� ��;�&�������)�������

�&��F������U��@�,&�'��Y���'���'���$3"�����&����0 ���&��J��7<=���JOIN ���������)#���U��#@�.&�#�"�'�����)#����#S� �����%�

������

.&�/(.&�/(.&�/(.&�/(�����%�%�%�%����

C? �,&Query����%��j��b�/(�������&����%�B��U��@� �authors�0(�89:��,$���������pubs�$��������

K? Query���������R(� ���$3�����U���U�d ������������&�����.����B�����&$�b�/(��(���%��Utah������������$>0&�/�%���O����#@����# ���

����?�

k? �U��@�����&�@������,&authors�0(�89:��,$������pubs�������-&���

`? �����o�H�����&�����=�E��� � �j��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 83: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

JOIN��

���������������������� ������������������������������� ������������������ ���������!"���������#�������������$���������$��%�&���'$����$��(���

���)���*+,�������'���������'�-�.�/���0��1�����)2������3��4���������������)�����5����������-�!������'�-���61������,����5�%�������������

��7��8'���9�:�;����<�=8�)+������!"�9���+��>�0�?����-�4�

��������������������.�/��9��:���������>�0�?��)+���!"�9���+��>�0�?��)+���)�������$@>���$-�!������������A:���B�5-�$��;����C$��

���������!��DE���������+���������������������������F>��'@2���9�:�G�2�����-�!����� 2��H@��5��/������������5��/���;�4�0�G���������$��I$�

)+���������*��������J�����������K�����>�0�?����-�4�

�'@+�'@+�'@+�'@+LLLL���������I=�������������9���+���-�M���N�����������-��D��������4�������������������)$+���)$�����$��9�$��+��$���$���"����'"���G-E�������G���(���

���9�:�G�2���D����+��������-�!����7��8'���������>������-��D���61����"��>�0�?�����OPA���-�����4�

������;�I=��G���������������������������3�QA'8��9�@"��RA��������B+�������1�'+�G'������B�����9�:�2�S���>�T�*M��JOIN��������$"�����",��4

�I��"�9�@"��G��L�� INNER JOIN � OUTER JOINU���-LEFT��-���RIGHTV�

� FULL JOIN � CROSS JOIN �

�����!��M'������������������-��D�����G�W�-���JOIN��:����'D���G�2������$��-��D������X�8'+���-��'D���G�������@����;������4

������� A�0�����-� +�!��0���UNION������������1�'+����-�����!��:������������"�����-��D�Query�S���>��1�'+�)��SY�3�����-�������

�����4�

�Z��+��Z��+��Z��+��Z��+�JOIN��������

������!"�9���+�[�P���������'3��\���������������'��3�������]�D����������D�������7�$�'����$�����-�!�����@���K���)$������$����

���+��!^+�!��DE�9�:�4����G@���� �����������;���������+�����>�0�?����-��������������$-���$�����$3�&�$0�?�����������?�"������

"����� ���9�:�4_3����G���������3�;JOIN����)�������,����4�

JOIN�����������;����`�PY�������������9�:����&�0�?�����&��<�G������������-��������3��0��1��)��SY�3������4��������G$�����+��$>��������G�����

�������9�:�)��(��0��������0��1�����1�a���������� ���B+�����4�����������(�'�����K�����1��9�:�G��������������!����Z�$+�)$��/$�+�(�'$���-���

�����4�I=����b;-��0��1��G����������� +� 2�����������,�������'�-�9�:�&��<����4�

���+� 2JOIN����������������������� +� 2��������"�X�8'+��Z�+��������G���c�-��������3��1�'+��0��1��)��SY�3�������9�:����&�0�?���(������3

����;������ '����-�!����G�����������Z�+�G�2��������I�Y��G��-����JOIN��������4�����R�-�G�������/�2JOIN�����������d�'^���-�����������G

���������������������������������(,�����$6���>��$F�F������$��������$���)$���>�-�����O�6K>�� ���9�:����������2����)�����9�:�)��������������)���*+,

����1������-������4�

9�e��(��0����T�+�����Y�:����������)��;Films���� ���B+������������&��<����������L�

a�Virtual

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 84: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�FilmID� FilmName YearMade�a� My Fair Lady afgh

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

�9�:������ ���������(���Actors���� ���B+���������������&��<��������L�

���������������FilmID FirstName LastName a Rex Harrison

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

���I�0���JOIN�������������:�������������������S���>�������������)����+��>���������������$����$1���'"�����:���:�9�U��������(�'$���$��$����$:�>

FilmID!"��'"�+�����)�����������������������L�V

��������������������������������������������������������������������������������������������������FilmID FilmName YearMade FirstName LastName a My Fair Lady afgh Rex Harrison

��G��JOIN�������������-�����;��������������OPA���-����)�����)���K���4�����9�:����������)�Films���������������$���)$��������Actors���O$PA��

�����!����4�

�M>���2�������6���>���������>�!��'�����������Ai���'�������3�4�9�:����� ���������)�Actors�����������J��4�

����������FilmID� FirstName LastName a� Rex Harrison

a Audrey Hepburn

�9�:�������9�:�G����'3�������������(���FilmsU������������)��[F����V�JOIN�'�������3�M>���2��������4�

�FilmID FilmName YearMade FirstName LastName a My Fair Lady afgh Rex Harrison

a My Fair Lady afgh Audrey Hepburn

����������K+��-����63�;����!�������j>������1�'+��������������)�����)���K�����������������)���K�����1�����U�$�����������)��)

������� ���9�:����������������9�:V��������G�������������+����2����)������K��4�����������9�$:������$:����������������G�2���Films�������$B���$�

�9�:������:�����-������`�PY��("�I���Actors������!��M'���4�

�������A���O�6K>��������G������������c������:�>��-������O�6K>���?������,�FilmID�����$��T�$1+�����$���)����1��������9�:�������

��"�4��

9�e�������������������Z�+��2��@�������B+�k�<�������l�J�>���P��!�����0��1��)��������������-JOIN��8'+���������������$%��������$1�'+�)������X�

+����4��m���������!����(,�(����(�����QA'8��Z��+����-JOIN�������H���4�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 85: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

INNER JOIN��������INNER JOIN�Z�+�G��>�������%���G��>��Y������-�JOIN'�-��4%��������-�������*+,����$-���$��O$�6K>�d�'^$����-A�������;

��'^���+��JOIN�����;��-�INNER JOIN����!��M'����������"�����A����-�������������-�������*>�JOIN���$���!��$��n8^��

�-�����O�6K>�4������G�������'"�����:���1�'+��0��1������-������T��>�I63�9�e����3������,������:�������>�+�����4�

�����'3��������6���>���-��������j>����9��:INNER JOIN���'�������3�M>���2��������!��M'�4�9��:Films�����$���&��$<��$��

���L�

��FilmID� FilmName YearMade a� My Fair Lady afgh

o Unforgiven affo

�9�:Actors���������&��<����/�+��L�

�FilmID� FirstName LastName a Rex Harrison

a Audrey Hepburn

o Clint Eastwood

p Humphrey Bogart

����!��M'�����INNER JOIN���������&��<�����1�'+��0��1���L�

�FilmID FilmName YearMade FirstName LastName a My Fair Lady afgh Rex Harrison

a My Fair Lady afgh Audrey Hepburn

o Unforgiven affo Clint Eastwood

����������������������:�>FilmID�����������+���:���0��1��G������q%��4��������������9�$:����(,��$��O6K����������������I�Y��G���G��Films�

��"�����'����!���+�������G�������;���+���:��4�G���(��������������i>�&��=��������l�J�>��-�M������+������SY�3��������4�

����!��M'������������'D��INNER JOIN��������&��=��4�SELECT <select list>

FROM <first_table>

<join_type> <second_table>

[ON <join_condition>]

���'D���G��ANSI���-��'���������������"����'"���G-E���������'D���G�����������'*��������������$�r�!����!� ��%SQL Server�

�"����'"�+��A@^�����������4������-��D��������������������-��'D�����F��4�

Management Studio����������4���(,������������������INNER JOIN���>�$0�?��)$+������!"�!��M'����NorthWind����$:��

��L�

�SELECT *

FROM Products

INNER JOIN Suppliers

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 86: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

ON Products.SupplierID = Suppliers.SupplierID

���G����1�'+Query����������������s�2���+,�X�'��G��������^���������(,�����'��/���4���(,����:��������bb�����������$"����'$"�����$:���:��D�����K���4

�������:���1�'+�!��������'@+�24�

� (�'�SupplierID��1�'+����o8^����������!"��-�t���������9�:�T������u�����(�'��T������+�n4

� ���-�-�(�'�+��!"�7��8'���9�:�����-����4�

�-�(�'�+��!"�7��8'���9���9�:����9����4�

���������������������T�$����$��n8^$������$��X�$8'+�����9�$:�T����'����@���(��������+��>���SupplierID����������$���9�$:�T�$���$��u�$����

USupplierID������u�����9����������9���9�:��V��������������"�D�+��Ai������������������"��KD�����1��+��>�����Y���G��>�4��������$@��G��

����0����!��M'���S3��0�v�����������INNER JOIN�(�'�����������+�G���.�/���Ai���SupplierID���(�2��@A������������

��F�3��;�,�����+���:�9�:2�;'�-�� �@��+����+� �;$����@������c����*����+,�����(�'$�����(,������$���$'3��INNER

JOIN�U`�PY��V����������G���;��-�����T�1+��������$"���-��8+���:���1�'+����&��=�����r���"���O6K���-��������#��������Ai�$��G$��

������;�@+�����X��������� ���Z��+���'3���2JOIN���������������+��>���+��������������'�����������������F���@���JOIN��;"���(��@����X���

�������4�

��������@���I�Y���� A�0�v���������!��M'��U���63��@���K+��-������������T��>���'���-�(�'����+��������������V��T��>����$-�(�'$����������9�$:�������

��D��1�'+��+������:���:��4����63������K+��-������� A�0����!��M'�����'M���v�������+����D�&��04���M'$����������$����$����$������_��$��(,����!

���+�������:���-����(,����!��M'��;��"��������5-�������KD������w0�������G@�������G���4�

��'@+�'@+�'@+�'@+LLLL���������%���'"���������D�(�+�3�����������L�����7��'�������/�2��-����X�8'+��4�������$-��$����$����$-���$��G���I�Y�

���������1�'+����������J�"����'"�����:��x����%�5��/���SAr�����@6"�)����>�5��/���w0��Query���SQL Server��"�����4

���������������������������$���$���+��$�����'�$���(���������-�������@A���A���������������*>��+��������5-�������J���r�&�0�?��(����X�8'+�����%

SQL Server���������;���-��D��4�

��'@+�'@+�'@+�'@+LLLL��*>��-�(�'������3�u�"�����G@�������F2��-��������7��'���������X�8'+������WHERE����>�!����P�����4�

�������� A�0��������'�-���61������v�����������(�'����-�����Y�:������[F������ A�0�G����������!��M'�����-�������$���!��M'$�����������+���+,�4

�����0�v������[F��+��>����������@��9�:�)��������4�9�e�������������-���"�������-�(�'�����9�$:��Products���������!$���$�*>�T�$+��$*>��

U�(�'�Company Name�V�+��>���Query �-�����j>�����&��=�����I63�4�

�SELECT Products.*, CompanyName

FROM Products

INNER JOIN Suppliers ON Products.SupplierID = Suppliers.SupplierID

�W+�2��-�(�'��!����*>�&�0�?���'^��������"�����:�'����6������1�'+�����������U supplier�V+��+���:����$F�F�����

������(�'��)��[F��(����;SupplierID���"�����-��D����������(�'��T��>�+������:���1�'+��0��1���������������;���-����9�$:products�

U���� A�0�����@���I�Y��v���(,������[F���������������@��9�:�;��(�'���*>�SupplierID����:�������$"��$���Y�>����3�G������1�'+����V

�T�+�����+�'��Company Name�����U49�:������Suppliers�����!�,��V4�!�����Query���������:�����j>�����������y����L�

�SELECT Products.*, SupplierID

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 87: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

FROM Products

INNER JOIN Suppliers ON Products.SupplierID = Suppliers.SupplierID

��,����������:��I@^��)��4������!"��:�����KD�)����4�

�Msg ozf, Level ag, State a, Line a

Ambiguous column name ‘SupplierID’

����

�(�'����2Company Name�(�'����������"�+��A@^���A63�9�e�����SupplierID�$:�����KD�������$"������$@���I�Y$��cSQL

Server��������$����*6$��(�'$��T�$+��$��!��$��n8^$��#���(�'$�Company Name���9�$:�����$*>�Suppliers�����$���;���$����$:���

SupplierID��������:��9�:��-�����4SQL Server������I$��I$��3��$-�&�@^$��G$�����-��D�������)��T�������*M��+��>���+�

����L���������&��=�����SQL Server�(�'������n8^��S*upplietrID���-��$D����9�:�T����������4��Query�9���U���$�

�� A�0�������v������!��M'���V���SQL Server���-������'���D��-�(�'�;+������������(�'������-�I��"����SupplierID���$-����

�����9�:����������T�+�(����n8^��G������������6+�����J�9�:��4�����9�e������TU���� A�0����v���������[F����Products��������@���V�!�����

����T����@���!�����SupplierID����;��'M +��/�2���"�!��M'��������(�'����-���'M��(,���1��������9�$:���$-products���SupplierID�����

��"�����:�����Y�G���4�(�'�Company Name�(�'��)��[F���@���I�Y���"�+��A@^��Company Name'"������4�

����1�'+�������������B+�������+�'������'3�JOIN��������:��(,���������)�����5���4�F�3�������������)���$���$����$��n8^��

���-��D����4��-��T�1+��&��<���������+��>�����������G��4�

� �������������������KF+�)��{H������9�:�(,����OA�'������B+������(�'������Y�:�T�+��'�����T�+��-�D,����������$�E�����$B+������(�'��

������U4Table. ColumnNameV

� ���������-��������'���T�+�9�:�����'��4��������������E�������'���T�+�4����KF+�)��(,���A:�{H������$�E�����$B+������(�'��T�+

�������U4Alias. ColumnNameV

�����E�I�0��������63����;����������0�9�:�T�+�(������0�(������@���������v����"��",�9�:�T�+���E��4��$�������$���Query��(,�����$��

SupplierID�����!"��:�����KD������-�����j>�(�'��(,������9�:�T�+�(����n8^��������L�

�SELECT Products.*, Suppliers.SupplierID

FROM Products

INNER JOIN Suppliers ON Products.SupplierID = Suppliers.SupplierID�

�(�'�������������/�2���-��������������'���G������:����SupplierID9�:���� suppliers����$1�'+��$0��1�������������

�����!"����J��4�

������������������'^����3�����������+����'���T�+�(���������������+��D�����"����G'"�+�5-���w0��Query���"��������������y�������4���6��F>���@���

�������6"�����������'������(�'��)��������'���T�+�(SELECT�����������������9�$:�T�$+��$������$�����;��$+��D�I63�I=������������!�������T�$+�;

���������Z�:���)��(�������-��D�����������'������������������E������"����J��9�:��4���������:�>���(�'��������'���T�+�(����+����;�����

���A����A�������+��> AS�����!��M'���UG���>��������������+���E���+,��-�V�

�SELECT p.*, s.SupplierID

FROM Products p

INNER JOIN Suppliers s

ON p.SupplierID = s.SupplierID

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 88: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�G��Query��������:�������F�3����������1��'+�(��-Query��"����!+�������������I63��4�

����+�(��������"���S3����������������|�-������-�I<��+������'���T��4���������������$����Y�:��-���������[F���Ai����������'�������=>�����'3�

�������-��������'���T�+�(,�������4����������������������������'�$��T�$+��Y�$:��$�����������!��M'���T�+�(,�����:���-���������-�����'���T�+��Y�:�������

-+������!��M'���9�:�������������4���)��(��Query�����������:��!"�!��M'���������-����(,�������������$��$���$�-��D���"

������%��������1�'+��2L�

�SELECT p.*, Suppliers.SupplierID

FROM Products p

INNER JOIN Suppliers s ON p.SupplierID = s.SupplierID

��G�����������B+�����+� ����'����������G@����"���:�����8�������4��"���-��D��%�����KD�)��(,����:�����L�

�Msg hazh, Level ag, State a, Line a

The multi-part identifier "Suppliers.SupplierID" could not be bound.

����

�������������@>�!�������������������-�����'���T�+�9�:�)����������� �����=>��+��>����;��� ���9�:�����������������=$>��$���$'3���$���;$�-+��

��!��M'������'���T�+�����'����"���G�W��������:���-�����U�����"�!��M'������'���T�+V4�

�����������'M��������:�����������SF0���������-�(�'�����9��:����Y����9���9�:��JOIN�G�Y�����$-�(�'�����'�$-��'^$�����$1�'+����

4����@��Z�J���G�������BPY�2�2����������9�'����+,���+��>�����+� 2��;�����+� ��4�

�_3����SQL Server���������6�>�>��^��-�-�(�'����$����'$���D��$+� +,�����*+,���"�+����� ��������������B+�����4���Query�

�� A�0�)�;�9���v������!��M'��4��G������SQL Server��-����+�T�1+���<�D����4�����(,��;�(�'��S�>�>����$@�/���S�>�>�����-

���G'�������3��-�(�'�������9�:�S�>�>�G�W�-���9�:������-����Query��������(��@��4�����+��>��������������������G���SY�:�Z�J��

����������3�S�>�>��-�(�'������-�����j>����4���������������*>������P��<��������G�����-��T�1+�������������9�$:�T�$+��$��!���-����(�'����$?

������E�4�

�����(�'���������3����j>�!���G��>�!�����������������������3�S�>�>���+��>��������;�����9��:��������3����j>��-��-�(�'������T�$+�l��$<��$�E�������

��-�����j>��*+,4�

����(�P'������(�P'������(�P'������(�P'���L�L�L�L�)��)��)��)�JOIN ��������!��!��!��!������

�)���>��-��!��:�Query������:�������n8^�����y���SAK�����)2���4�

�SELECT p.ProductID, s.SupplierID, p.ProductName, s.CompanyName

FROM Products p

INNER JOIN Suppliers s

ON p.SupplierID = s.SupplierID

WHERE p.ProductID < h

�G������:�Query������%�����)2�����X�D��1�'+��0��1��)��L�

�ProductID SupplierID ProductName CompanyName

----------- ------------ ---------------- ------------------

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 89: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

a a Chai Exotic Liquids

o a Chang Exotic Liquids

} a ���� Aniseed Syrup Exotic Liquids

(} row(s) affected)

c����������+� 2c����������+� 2c����������+� 2c����������+� 2����

(�'���2������������+�n8^�������3���k�D������-��D����������-�U�� A�0��������'3��v���������!��M'���V�

��F�3������G���n8^��(�'���2�����������������-��-��D�����;������1�'+SQL Server+������;+�����������������/�2��2�����

�-�(�'�����Y��������6�>�>�(��-����SELECT+�"����!����5���+�����������������E�4�

�)���+� 2INNER JOIN����3���6"�WHEREc����

���INNER JOIN��'"���(����>�������-�;�+��Z��+����-������������������-�M��9�6JOIN;+��������@���-��(�'$��S�>�>�����$-

��-���������'���T�+�(����JOIN'�-�(��@���-�4�����/�2INNER JOIN�� ���Z��+��������JOIN�����`�$PY�����$���$��&��$M'��

���=P+�a������������G������;���������������+��+��@����F��9�:�����-����������-��������-�(,��������$�����+��B+������+��4U�������$��9���9�$:

����9�:���������9�:����T���9�:���~2��V�

������������3�����r�9�:����(,��������Y���9�e�Films���Actors����������������?�8���������!"�!��M'�4�Bogart�������I�Y������!^+��'�����B+����

�9�:�����F������@��Films��6+�O6K���4��-��!��:��(��������������-�����(�^+����Z�J���G��������3���9�e������@�4�

����9�:�)����customers��������'^�� ��,��T�+�����������������-������!"��%4�������'^��������+�����G���G�������'���-�����!�����$"��M��

��+�4�����������������*��'^��&�0�?��G���������T�����A��&�0�?������)����"����G��;��F�F��������'�-������+��!��+�x��M���/�2���������$��;

�)�����I�6>���+,�����%����9����)��{%�X�DQuery�������4���T�$*M��(����(�^+���������%��������Y���INNER JOIN�

�Z�+����j>�w0����)2������j>�)����������-��D��������JOIN-��D��"�4�

������G@�����������Y����G�����������H����"����x������������L�,�������������������$+��!����x��M$����$"��$���$���+���'^��T��>����Y��+��>���

c���n8^����

������6+���������+���X��:�(��4���'6Y��;�A�#�����A<��������Z��"������)��G'"�+���Query�����4����2���������x��$������c������7��'����/�2

�����'^��!�����������%�9����&�"��M�����-�����������������+/�� ����+��>����{%������"�����-��D����+�9�:����G��4���������'��Y�x�������

�(�'��{%�����D��������*��'^�Company Name�����"��(�'�customeID��-�(�'�����"���������$�������$�+4����'$"����$:�>

�������9�:����I�Y��G�������"��orders���������������F�F�����;��+�������!����x��M����'^��)����,����*M������"�����-��D����+�������-��$D���+��

�����/�2�����:�(,���+�������9�U�4�����������Y�����������I�Y��G��-���SELECT��������������$+���$:��9�$:�G$�������+�'$��4V�����x��$����$�

����������������������-������"����+�'��9�6+������G�������;�+����!����x��M������"�������+���'^�����'��Y�����D��customer������$-��

������orders���:���;"����'"���������I��G��INNER JOIN ������'�-�!���,�(����G�����������Query����������4�

���SELECT DISTINCT c.CustomerID, c.CompanyName

FROM Customers c

INNER JOIN Orders o ON c.CustomerID = o.CustomerID

����

�����������>�0�?��)+������������!����|�-���"����Northwind���"���!��+����j>Nf������-��D���������������4���A����A���������:�>

DISTINCT��������������������!����x��M���F2���+����@����+��'"����"��M����'^��)�������+�����'���D����[F���@���I�Y��������!��M'���

a�Exclusive join

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 90: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����4��(��DISTINCT�����������������-���������"���!����x��M������G�2������'^��)������9�:������orders����������$+���:����$���)�

��"��-��D����*+��1�'+4�

�'^����-����>�(����������,������������-4�)���-��!��:�Query�������:�����!���4�

SELECT COUNT(*) AS "No. Of Records" FROM Customers

���>�(������'^���M'���A63���F�������������������������-����&�4��

No. Of Records

--------------------

fa

(a row(s) affected)

����������������������9�$:����O$6K����������@���I�Y��+"��'����!���+��1�'+��0��1��������������G���c��'����3�M>���2�� ����K����������{%

orders'"�+��4����I�Y��G�����INNER JOIN ��-��:�����F6K����F�����9�:�)��������-�K�����!���+����+��+�� ���9

����4�����3WHERE�������P��u�"�)��S����������'^������-�K��4�

��G���>�)�������[F���>�0�?��)+����������9��:�)2���5����,�pubs��� ���B+����4�

�title`author Titles����Authors����

au_id�title_id�au_id�

title_id�Title�au_lname

au_ord�Type�au_fname�

Royaltyper�pub_id�Phone��Price�address��Advance�City��Royalty�State��ytd_sales�Zip��notes�contract��pubdate��

��G�������/�2�������)����'�-�(,�9�6+�����Query��������>��+�����+�U�authers�V���'"�+�X�'��G�2�������+�������X�$'��G���0�G�W�-�

��������-+�����4��-��!��:������G���Query������-����D�9�������F�3��2������������-�����l�J�>���+,�&��\/:�{H�4�

�����������������+�����������������-�����2���+����������G������������+�����/�2�G�Y��4�����Ai���&��<���o��������&�0�?������+���:����3������+���

����L������X�'��(��0���!���+�T�+�4�����9�:����!���+�T�+ortherU����������3��V����� �'����4���������9�$:����$-�X�$'��(��0titles�

��'���������3�G�Y�����+��>����G�������������:��SELECT�����������L�

�SELECT au_lname + ‘, ‘ + au_fname AS "Author", title�

�'@+�'@+�'@+�'@+LLLL���+���(�����'^���������+�����-����+;�� A�0��������9�=>����������������������@���-��'"4�������G�����;���$�����������T�$+��$����������+�$D�T�$+

��������I='�����������3������)���*+,�G��4�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 91: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

����������+�(��������/�2Join �����D�������I@^��G�Y�������1���������9�:������������$�+��$@��I@^$��G$����2���4������G$�

���+��'�����+��+����'^�������|�-�9�:Join���-��T�1+��(,� ���������4�

��������������������-�T���9�:�)��������������I@^��G��4����������������)$��$����$����$���>�0�?��)+������'D����2� �������@�������'��

�+���9�:�titleauther�������+�"�!���+�QA'8��&��<�G�2�����G@����4T�+��'����-�����������(��$'���;�$-�����9��:��+� ���������9��

[6>���9�:a��'�����9�:���o�����T�+���4�

�'@+�'@+�'@+�'@+LLLL�����[6>���9�:�)��U������'�����9��:�&�3����-���G�W�-�����������"����!���+��-��'���%�9�:���V���������A$<��k$-���������Y�:

���������+�!����(����!��DE�(,4����������� ���9��:����!"�!��DE���-�!�����@A��������+�����+��%��-�����4��������$��� ���B+�����+� �����+,��+��>���

������������������'��������[6>����-�������9�:�2���������4������������u�6>������9�������*'��3������9��:�G����$2����$2��$�������9��$:�G�$��

�����+�"����!��M'�����"����!���+�4����������������K�����-����9�:�����������&��<�G�������K����G�������������$-������$+��>����9�:�)������+�

"����'"������������!�FY�����K�����"���O6K��� ���9�:���-���������������4�SQL Server�+��>���+���F'�����K����Z�$+�G��

�������!���%�����K����4��@���K�SQL Server����������+,�+��>����4��I=�������'^���SY�K�������G�������N��+��D����4�

����������������[6>���9�:�d���;]�D�9�:�G������������+�!���,������A��l��<����;����������!���,�������A��k-���-������������G��;�����$@�

����������� ���B+����9�:�)��+�����+,�;T��+� �����&��A��(������#�����T���9�:�G������!��M'���������������9��$:���F'�$���$�r���K����+��>����;

authors���titles��9�:�G������T����-�`�PY���A�������������[6>�$��9�$:��$���$-�titleauther��� �$����au_id���titles�����$��%��$���$-�

title_id. JOIN��"����4�

����(�P'������(�P'������(�P'������(�P'��LLLLJOIN��>�!�W�%���-���>�!�W�%���-���>�!�W�%���-���>�!�W�%���-�����

����T���9�:�G���(�������J� JOIN�;���+��A@^��������3����(�W�-FROM���$�A����A���JOIN����$���$����$����U��[$F�

��>�0�?��)+����@+�x�����pubs���X�8'+�����4V�

�SELECT a.au_lname + ‘, ‘ + a.au_fname AS "Author", t.title

FROM authors a

JOIN titleauthor ta ON a.au_id = ta.au_id

JOIN titles t ON t.title_id = ta.title_id

����

�������M'������'���T�+�����@���I�Y������:�>��������'���9������3�������!��SELECT������������63����������������j>��������'"�+�������'���T�+���

;������!��M'������'������SELECT �9�:��������-�JOIN�����!"�I����!"��#���$"�����-��D�������:�������'���G����������L

�U��Y�������1������G�Grid���!��M'���T�V4�

�Title����Author

The Busy Executive’s Database Guide�Bennet, Abraham�

Fifty Years in Buckingham Palace Kitchens�Blotchet-Halls, Reginald�

a�Linking table�o�Associate table

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 92: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

But Is It User Friendly?�Carson, Cheryl�

The Gourmet Microwave�DeFrance, Michel�

Silicon Valley Gastronomic Treats�del Castillo, Innes �

Secrets of Silicon Valley�Dull, Ann �

The Busy Executive’s Database Guide�Green, Marjorie

You Can Combat Computer Stress!�Green, Marjorie �

Sushi, Anyone?�Gringlesby, Burt �

Secrets of Silicon Valley�Hunter, Sheryl �

Computer Phobic AND Non-Phobic Individuals: Behavior

Variations�Karsen, Livia �

Net Etiquette�Locksley, Charlene �

Emotional Security: A New Algorithm�Locksley, Charlene �

Cooking with Computers: Surreptitious Balance Sheets�MacFeather, Stearns

Computer Phobic AND Non-Phobic Individuals: Behavior

Variations�MacFeather, Stearns

Cooking with Computers: Surreptitious Balance Sheets�O’Leary, Michael

Sushi, Anyone?�O’Leary, Michael

Onions, Leeks, and Garlic: Cooking Secrets of the

Mediterranean�Panteley, Sylvia

Is Anger the Enemy?�Ringer, Albert

Life Without Fear�Ringer, Albert

The Gourmet Microwave�Ringer, Anne

Is Anger the Enemy?�Ringer, Anne

Straight Talk About Computers�Straight, Dean

Prolonged Data Deprivation: Four Case Studies�White, Johnson

Sushi, Anyone?�Yokomoto, Akiko

"���&��M'������y����������/�2������"�����F6?�S�>�>�����G@����������:�>�4"����'"���������SQL Server����$'3���$>�

����3������ORDER BY��"���-��8+�;��1�'+���-�K��S�>�>�������*�>��"���!��@+�!��M'���4���������3��ORDER BY

��A�:��������������+�!��M'����'+"���&��M'������G@������*+��1��������@��4�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 93: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�c�����������+� 2�c�����������+� 2�c�����������+� 2�c�����������+� 2����

W+�2���'���)���SELECT *�9�:��������!����authors������:�������$1�'+����!�$��+�$2���������-��D�;QUERY��I$63�

�9�:�����2����'"�+���:�AUTHORS +������:���4���+���'"�+����'�����I�Y��G���U��|�-���9�$:����$*+,�������'TITLES�

��'"�+���:�4�V�������������O6K��!���+�)�������+,���'�+��'+��@���I�Y����'�� +��B+�������X�'��(��0�)���F�F�����#����$ �����$��)�

��A��;����������@>inner join�'�-����=P+���*+,��������G����-�4���K+��-�T�����9���9��:����T���9�:�!��������$����$��

���������������������9������T���9�:�������4�����������������������$��&��$<�(�$�-��$�����$8���:�9�:��-��;��������J��/�+��� ���9��:���+��>���

�����-��D4�

�'@+�'@+�'@+�'@+LLLL��A����A������������:�>�INNER���Query�����@+�!��M'�����+,�4���������A0�G�������G��INNER JOIN�Z�+�JOIN�

����������5�%�4���������������A����A��(������TF'���G������;�+������ ����B+��*-� "���,INNER����+��������63������������$"��$���'$"�+�

�;��"����� 'M",�w0���(,�(�������3���!��M'���X�'��G������(,����G���������-��8+�� ����������I�Y��G������4�

OUTER JOIN����aaaa����

�Z�+�G��JOIN������%����!0�3�)����1���@���I�Y���@A��+��+������D��������������@���I�Y���+�����&�\��e'�L�

� �������=P+��Z�+�&�3����-�����INNER JOIN��-��D���+����-�����������

� �(����+������������SQL�Z�+�INNER JOIN�$+���'��+��>�A:�� ������'����������������Q$A'8��Z��$+���$*+,OUTER����

+�����+4��*+,�+��!"�x���������/��)��(��0���4

+B��@�������INNER JOIN'�-����=P+�����6?���K���-��;OUTER JOIN����G�W�-Full JOIN����$",�(,��$��������������

'�-����=P+����r����"���4�

����!��M'����F��?�(��������@��OUTER JOIN+������+�����������>�)����@���I�Y��������,������$��!��$�����I@^$��I\��$���*+

�4�������������1���'3���*+,�G�W�-Ouery�����>���>���-U��I=���b������������!��"���*+,�����V����������$�������$��5��/���w0���+��������@�

�"+4�

��T�*M�����I=����'�����JOIN���������������~2�;�������6P<�k�?����!������������4������9�$:�G�$������~$2�9�$:�G�Y��

����"�����'�����B+������4����INNER JOIN���$�+��'�����B+����+��������M������5F+�)���^��-��@����?�8���������G���

�+"4�������OUTER JOIN ������*��������������~2�k�?�(��*�;��-��4���$���G@���������!� +�SAK��G����������'�����

��������������;�����K+����!������������&�-�6'"��Query�I��"����OUTER JOIN������~$2�k�$?��$��(��$@+��@���?�8�������

��������4�

�)����1���� +� 2��@�������OUTER JOIN�����������-�����(�^+������'D���������� 4���!��$���Ai���&��<�)�����9�����'D��

���OUTER JOIN�Z��+��� ������JOIN������������4�

OUTER JOIN������D���;����!�������3�)��9�����'�+��������������8��������3�G����������'^��L�

�SELECT <SELECT list>

a������D�`�PY��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 94: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

FROM <the table you want to be the "LEFT" table>

<LEFT|RIGHT> [OUTER] JOIN <table you want to be the "RIGHT" table>

ON <join condition>

�'@+�'@+�'@+�'@+LLLL��9�e����������58��G�����-�������������-��D�����������������$���$���G$����$��;������!��M'���I������'D������G�������$�A���$�A����OUTER�

U�9�e��(����LEFT OUTER JOIN�V������!��M'��4��A����A���������:�>OUTER��������'D��4���������7��'���[F����"

LEFT����RIGHT���������n8^U�9�e������LEFT JOINV4��

�����������������A����A�����I63�����Y�:��������G������ ��T���������1�����������JOIN���9�:�(��0�����,����LEFT��$�������Y�:��

��A����A����JOIN�9�:�(��0�����,����RIGHT��"�����'�����B+�����4�

������K+��-��63�"��'M��OUTER JOINP+����r��������=�4�������$����$��X�$8'+����$"��$���3�$PY��k�?����]�D���K���1�'+

������ '���4�)�LEFT OUTER JOIN�������~$2���$��9�$:�&�$0�?���$�-�I��"��RIGHT OUTER JOIN����$�-�I��$"�

���������-��D����������9�:�&�0�?��4�����������)��SY�3�����A�0�&��=�����������G����-��!��:�Query���������$>���$-��T�1+��)2����6���$�

���2�G����B�4�

�������Q�M8>���-���F����+�����-��D�������������������!� "�����2�������F2�Q�M8>��-���F�����-��������$+��!��$��!��M'����*+,�������-4���$�

��>�0�?��)+��pubs��������-� +�;���*��+����9�:���discountsa��stores

o'�-�����&��=�����������L�

Stores����discounts

stor_id�discounttype�

stor_name�stor_id�

stor_address�Lowqty�

city�Highqty�

state�Discount�

Zip��

������������(�'�� ����������9�:����G�����F'���&��=����+��>���Stor_id����-����JOIN�����4�����@����������)$������$F�F������-��T�1+�

INNER JOIN"�����G@������������!��M'����Y�����"�����������64��

SELECT discounttype, discount, s.stor_name

FROM discounts d

JOIN stores s

ON d.stor_id = s.stor_id

����

��"����!�����^����������������)��[F�����G������:����L�����

Discounttype discount stor_name

---------------- -------------- -------------

a�Q�M8>�o��!� "����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 95: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

Customer Discount p�zz Bookbeat

(a row(s) affected)

�������!�������������@���'^�����1�'+�4�������������������������������;��-��D������'"���������-�Q�M8>� ��@����+��������!��M'$���_$3������)���$��

+��!"4��G��Query�)����+����������������*M�M8>��*>��;��"����'"���(,����O6K��!� "����+�9����X��:��1�'+�G����#�

���(�P'�����(�P'�����(�P'�����(�P'���L�L�L�LOUTER JOIN�-��-��-��-�����

B�����Z�+�[F������������(�@���&��<����!� "������Q�M8>��-�(+���������JOIN�������Query��-�����j>��L�

�SELECT discounttype, discount, s.stor_name

FROM discounts d

LEFT OUTER JOIN stores s

ON d.stor_id = s.stor_id

�>��M'���1�'+����G�������!���-�������L�

�Discounttype� � � discount�� � stor_name

------------------� � � -------------� � -------------

Initial Customer� � � az�pz� � � NULL

Volume Discount�� � g�bz NULL

Customer Discount� � p�zz Bookbeat

(} row(s) affected)

����

W+�2������'���)���SELECT*����9�:�������discounts��������������������$:����$1�'+����9�$:�G$�����-�K$����-��������-��D������:��

'�-4�

c����������+� 2c����������+� 2c����������+� 2c����������+� 2����

�I�0�)����LEFT JOIN�������T�1+��4�9�:��discounts�~2�������JOIN�������3��������3�M>���2�������9�$:stores���$��

������I�0�����W+�2�c�'��JOIN�����������9�:�������F6K��������|�-�������-��T�1+�����stores�������c���'���-��D��3�M>���2���"����'"�+���I�Y��

�!"���E��������9�:�G����@��JOIN�U�����~2�����;������G�����LEFTV�;��6+�SQL Server������$������$�������$F�������

��� ��JOIN������������������!"���E���������F6K����F����,JOIN���+��+��F��NULL�����]�='D��-�4��������$��G$���������;����$�-

������(�'�����@��/:�����-�K�stor_id�����F��NULL���������:���4�������������������������$�������$����$�����$-��n�8^$>���+��$>��$���$���/�2

9�:discountsU��������9�:�����+�'�����������-�����stores����!�,���F�NULL���������:��V4�������9�:�����6�������t�'����-������

stores;+��+������-� "����|�-��������G����������!��@+�!��M'���Q�M8>�Z�+�G��4�

����(�����-��S�������%�9���������+��>L�M8>�Z�+�����������$'������3�!��M'$������$���@��Q�Ucustomer discount�V�����$-�(,

�[��>�[F�!"�!��M'���!� "����)�����4�

���(�P'�����(�P'�����(�P'�����(�P'��RIGHT OUTER JOIN ��������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 96: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�Z�+�����'3�����6���-��!��:��(���JOIN������RIGHT OUTER JOIN'�������3�M>���2���-�����j>��L�

�SELECT discounttype, discount, s.stor_name

FROM discounts d

RIGHT OUTER JOIN stores s

ON d.stor_id = s.stor_id

����

"��1�'+������� "�&����j>�w0����)2������j>�)���������B+�����@���K+��-L�

�discounttype discount stor_name

--------------- -------------- ---------------------

NULL NULL Eric the Read Books

NULL NULL Barnum’s

NULL NULL News & Brews

NULL NULL Doc-U-Mat: Quality Laundry and

Books

NULL NULL Fricative Bookshop

Customer Discount p�zz Bookbeat

(g row(s) affected)

����

c����������+� 2c����������+� 2c����������+� 2c����������+� 2����

���'���)���W+�2SELECT *���-��������-������������������:��9�:��������Stores��1�'+����Query+�����:��4������$:

������9�:����O6K����S��������������discounts���������������"����!����(�^+�S����Q�M8>�����������F��"����'"�����:���4����-�:���F����

��(�'������-��-�����9�:����!�,��discount�����NULL�������"�����%�4������9�:��^��-����������discounts�����9�:��9������stores�

Q�M8>���-�����{H����������T������������-��8�����-LEFT JOIN!� "������-��������������-��$8�����-RIGHT JOIN���!��M'$��

�������4�

�������������� ����������������������������������(�������=P+����r���m��������+��>���OUTER JOIN'���+���-������G'������������$����%����]�D�9�:�)������t��4��!��$:�

��������������9�e��)���-�4�

�������u�����9�����������-�����j>����Q�M8>����4�����������*-� "��������>���������9�:�����������|�-������-��D���discounts+��+�4���,�

������+��>���������)���A63���-��'�+��� ���Query�������-��T�1+���������G���������������G��D,��'6Y��cQuery����������$����:�����fz���$<���

���I��!��������4�����@��(,����������BPY�2�L�)�OUTER JOIN�������-�(�'��9�:������discounts����t�$'�����������

F��'"�+���NULL��G��$D,����!$�,�����q��'+���6"�������������7��'�������/�2�;�+�����������QUERY ��$����������$�r��$��;

�������-�������@��!�����'A������'�-�Q�M8>���������!� "����T�+������+���'�� +��M�M8>�������-����+����4�

����������Y��������G���T�1+������SELECT�����-��������j>�����������3����WHERE��������������J�����4���������������>�6���x��/���@�������

�(�'�������-���\�������stor_name�T�+��Store Name���-�����4�

�SELECT s.stor_name AS "Store Name"

FROM discounts d

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 97: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

RIGHT OUTER JOIN stores s

ON d.stor_id = s.stor_id

WHERE d.stor_id IS NULL

��'"�����B'+�������K+��-�;��F�3�!� "����T�+�����������,�����������-��63���F��Q�M8>������NULL'"���4�

�Store Name

---------------------------------------------------

Eric the Read Books

Barnum’s

News & Brews

Doc-U-Mat: Quality Laundry and Books

Fricative Bookshop

(p row(s) affected)

�������������������������-��X��:�(,����������'���5�%��-��D����G������"����'���5F+���"�G-E����9����)������G@���(����4������$���9����L

����������F����3���Q�M8>�������������NULL�����'�������3�M>���2��"����c����������I�Y��G��-����;�����������������3WHERE���(��-����

���������'��3�����A��JOIN���������W+�2�;���������1��������JOIN���(�'$�� �$���������stor_id�������$��[$F��;���$����$1���9�$:�������

�-���������G@������J��L�

� ���(�'�����stores.stor_id�������r���F��)��NULL��"����'"��������� A�0� ������{H��;ON��������$3����JOIN�����)$���$���

������������&��<�G������������:���Q�M8>��discounts.stor_id��������������F������stores.stor_id�"����'"���U�����$3��$��

ON d.stor_id=s.stor_id���!� +�V4

� ���(�'�����stores.stor_id������r���F��)��NULL"����'"��������$ A�0�O$6?�{H$��;ON�����$3����JOIN���)$���$���;

������"�+���:��Q�M8>�������&��<�G�discount.stor_id�&��<����NULL��"����!+�������4

� �����stores.stor_id������F��)��NULL������G�W�-���"����'"���discounts.stor_id������F��)��NULL���$"����'"����4���

������������F�����"���-��8+���:���3�PY��|�-�&��<�G��discounts.stor_id����&��<����NULL��������(�$2���$"��$��!+�������

|�-��+���:����t�'���������4

������F��)����2NULL�������F��)�����NULL����;��"���+�OPA��� ����������F��NULL��������$��������?�D��������-�NULL�����$�����NULL�

�����+�4���������"���Z�J���G���S3��������������+��_3���4��!���%�G���������������>y��������@������G�����"���L�����$��G$�����2�

�����+c����������������������� A�0���������������3�������NULL��������!��M'���������������������*+,��@���I�Y���������+������ A�0�G���;

�'��+�4����������5����,�����Ai���G����-��D�����:���������!�������������;�4�

�IF (NULL=NULL)

PRINT ‘It Does’

ELSE

PRINT ‘It Doesn’’t’

�;������:�����y��������SQL Server����%�NULL����NULL�+�������������;����+��������4�

�'@+�'@+�'@+�'@+LLLL��������������j>�G���SQL Server b�z."�Z��"��4���������Y��������"������"���S3���SQL Server g�p����$��$����������

����/�ANSI_NULL�����Y������off������������3�U��/��O��?�����������'�������������-���SETV;���������$��$�-��D��������&��M'��X��:�)��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 98: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

U�����������@����"�����NULL�������NULL����V4��������+�'�����r�(�����Y���(,�4�����+�'$�������K8>�����G��ANSI�

�����5�%����@�%���������SQL Server"�����+��������U�4�G�W�-Books Online��D���"���������$���$M��$-NULL���$��

NULL���+�������V4��

������!$"���$FM����-������(����(�^+�������t�'��+���-������(����n8^��I�0�G�������-��!��:�INNER JOIN��9�����$-�

�����!��M'���4���Query��>�0�?��)+���������Northwind���������?�D���������������:���L�

�SELECT DISTINCT c.CustomerID, c.CompanyName

FROM Customers c

INNER JOIN Orders o

ON c.CustomerID = o.CustomerID

�444�����

SELECT COUNT(*) AS "No. Of Records" FROM Customers

�G�'�8+������G�Y��Query�(,�RA�����������������INNER JOIN�������l�J�>�����4����:����Query�T�������$����$��*�Query�

��'�� +��B+��������K��2�9���4�������!^+��'�����B+������-�K���>��-��!��:��(���OUTER JOIN�����n8^���4�

������Query�����T���SELECT COUNT(*)��������*��QUERY����'�� +��B+�������������2�9�U���������(�@���G�W�-

����9�:�������!��FM����-������Orders������"�����(,���������������$@+����J��9�:�����/�2��BPY��4V�������������$���$���I$�Y��G�$���Ai�$��G$��

����9�:������-�����Customers������9�:�����FK����-������Orders�+��+�4��Y�������������9����G�Y����@���I���+���'^����-�!������

��������?������+��>����+����!����x��M��������������9����G���9�������������{@0����4�������c�+��+��"��M��|�-��+���'^���2��������9����G���

+����������"�!���%�+��>����/�+��� ���R�L������9�:�������-�������2Customers������9�:������t�'��������Orders��c�+��+����I��!���

���'D���+���9����G��Query!� "����������������������%����Q�M8>�(�����-�4�

�USE Northwind

SELECT c.CustomerID, CompanyName

FROM Customers c

LEFT OUTER JOIN Orders o

ON c.CustomerID = o.CustomerID

WHERE o.CustomerID IS NULL

�����������������@A������n8^�����+��!��+�x��M��(���>�����+���'^�����>���+��>�����*>��+�(����'�-��+���'^���2��*+,���+������(��

�L�

�CustomerID CompanyName

------------------ -----------------------------------------

PARIS Paris spécialités

FISSA FISSA Fabrica Inter. Salchichas S.A.

(o row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 99: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�'@+�'@+�'@+�'@+LLLL����������������>��<�����������:�>�LEFT������RIGHT�����������������������!��$��)$���$��9�$:��$����(�������3�������������G������!��M'���

�k�?�)�����9�:JOIN�"���-��8+��49�e���������+��>����Query����!��M'���������I63�RIGHT JOIN���:����j>�G�W�-���

�9��:Orders���Customers�k�?�������JOIN�������:���4����9�e��������F�3������-��D�����������I63�R1�'+���4�

�SELECT c.CustomerID, CompanyName

FROM Orders o

RIGHT OUTER JOIN Customers c ON c.CustomerID = o.CustomerID

WHERE o.CustomerID IS NULL

�������'3�Query����������������������>��'��^�%���-��!���;��������������������$���$��9�$:�)�������:�����-������(������%���������9��'����-

�����9�:������t�'�����D��,���-��D�+��+�� ��4����'�F���-��!��:���������������!��M'��������� ��JOIN���y������������G��$'*�������$��I$�Y���$�

�������/��L���������������������������������*+,����D���T� -�������+������:���-����e'����������'6Y��L���������������!��M'$����$A����$?��$���$��JOIN�

������/��G��'*���������:��I��!���G�2�����'3��4�

�������OUTER JOIN������ ���������������������������(�������%����T�4�)���������!�������-��Ai���&��<OUTER JOIN���Z��$+���$ �������������JOIN��S$���>�

�����!"�4�

�� ���Z��+������'3�JOIN�������OUTER JOINk�?�T�*M���������S���>����-a���"�����>�����������4���$1������9�����!�6'"�

�)���>�������:�LEFT OUTER JOIN��(,�������������!��M'�INNER JOIN����������Query������4OUTER JOIN�I��"�

��������������������-Query����!"�!��"���*+,�����INNER JOIN���C$����$��$����1�������'Y�������G@������!$���+�����$���

�+�"��'����#���������-���"��������G���G�� ������������������+��UG��+���V������������'������"���!"�����$�-��!��:��G�������;

����6��9�e��SY�3���������-�M��4������:����>�0�?����*@+������T���|�-��@���I�Y����SQL Server�������$�����$D�RAi�$��&��<�

�������1�����-��D����������-�!�������!���-��>�0�?��)+���)��(����D�����+��+�T�*M��G���(����(�^+�

�����������������������:��RA��������+��>����������A:�9�e�����!���-��-��D�ChapterhDB.sql����������9�e���>�0�?��)+���!"���A+������_�������;�

�T�+���ChapterhDB������1�������4�

���������)����1�����-��T�1+����-��D�����������Query������'�������3�M>���2����6���@�������������A��������A����Query�����9�6+����

�������������+�������������(,� ��,�������!����!"����T�+���'�-�(,�4���������������$���-��!��:��G���������������������������>�;�9�e���>�0�?��)+��

����������A<����-��'�,�����-����/��R�-�X�8'+�Query���������!����!"����;����!��M'����4����������T�$+��'���(��-��������������������Z��"�����$-

"�����-��D����+��*+,�����D,�����@���I�Y�������-���������'����L�

�SELECT v.VendorName

FROM Vendors v

�+���������������������������>���'���G���L�

�VendorName

---------------------------------------

Don’s Database Design Shop

Dave’s Data

a�sides

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 100: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

The SQL Sequel

(} row(s) affected)

����"����T��>�T�+��*��������������(����������������!����(��4����$>��-��!��:��y������������;��$�����$J���$-���� ��,�&�$0�?������������$1������

�����������:��Z�J���4������G�����-��D�����@���9��Query��������������$-��(�^$+��'���P��|�-�(����������!����(��"����R�-��4������G�����$�

OUTER JOIN��������!��M'����4��G�����$��{@�Y�����"����'"��� ��,�)������'^���+��>��������!����!"�����-�;��@���T��

����������������!��M'���[6>���9�:�����>�0�?��)+�������?����4���������+��>���+��������G���������F'�����9�:�Vendors�����Address���������

���-JOIN�;����������I�Y��G��-����������������(��K6>���9�:�������9��:�G��������-����������JOIN�����������VendorAddress���!$���+�

���"����4�G������3�G�Y���OK������-��!��:�JOIN����Z��"�4�

�SELECT v.VendorName

FROM Vendors v

LEFT OUTER JOIN VendorAddress va

ON v.VendorID = va.VendorID

�����@���I�Y����VendorAddress�����+���� ��,�&�0�?����D����D����4�����Y�������9�:�(,�����+�'�SELECT������$@+��$�E�4�

���9�:�k-VendorAddress�+�����������2����2��K����9�=>���KF4U��������������$"����'$"��� ��,�G�$2�+��>��������!����!"����)�

�����������B+�����1����������/�2���'����������+�D� ��,�+��>�����-� ��,��-�;������"�������!����!"����2����)��V���������$����$:�������'$���G��

�F�3���������������y���q��'+�(��-����4�

�VendorName

--------------------------------------

Don’s Database Design Shop

Dave’s Data

The SQL Sequel

(} row(s) affected)

����

������G����BPY�2��-��!��:�Query����������(,�O��?��������Y�:�������-�����JOIN��������$����������������4�����������$-�!����T�$�>�$�����$�

�9�:VendorAddress���X�8'+�����L��

SELECT *

FROM VendorAddress

��"����!�����^��������������*>L�

�VendorID AddressID

-------- -------------

a a

o }

(o row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 101: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���+����������1+,���OUTER JOIN ���$������������������+� 2��������9�$:�������$������[$F���$@���I�Y$�VendorAddress�

�:������+����}������������9�:�����K��)������+"�!+�����������!����!"���Vendors������������������t�$'�����$���(,����$���$����+����������

9�:VendorAddress�����+���:���4����������������(�'��)��(�������J�����������G�����������:�G�����Query��������!����(��$"����T�$+��$��

��������-��T�1+��+����������4�

SELECT v.VendorName, va.VendorID

FROM Vendors v

LEFT OUTER JOIN VendorAddress va

ON v.VendorID = va.VendorID�

���F��)�����;��'����K�NULL�(�'�����VendorID9�:�������VendorAddress����"�����:�����,����L�

�VendorName� � � VendorID

--------------------� � � --------------

Don’s Database Design Shop� a

Dave’s Data� � � o

The SQL Sequel� � � NULL

(} row(s) affected)

�T�+��������!����!"����The SQL Sequel���������INNER����RIGHT JOIN�$"����!+��������4�����!��M'$��LEFT JOIN�

����T��>����-�����(���?��������!����(��"�+�����:�����*+��1�'+4�

��(����������������������'^������������������������>��-��!��:��;Query������{H��������������A<��JOIN�������� ��,����,��$�����������T���

����������J������4 ��,���-������'��+�G���(�� +��@���I�Y���;+�"�!�����^�����-JOIN���;��$�+���$�+��<�D��$���!�$ +���I3�

����+��+� ���9��444�

�SELECT v.VendorName, a.Address

FROM Vendors v

LEFT OUTER JOIN VendorAddress va

ON v.VendorID = va.VendorID

JOIN Address a

ON va.AddressID = a.AddressID

��&�0�?����'"�����B'+�������K+��-�������:��I@^��)������;�������������/6+���� ��,����u���L�

�VendorName� � � � Address

---------------------------� � � ---------------

Don’s Database Design Shop� � ao}h Anywhere

Dave’s Data� � � � pgb Main St.

(o row(s) affected)

�������!����(��"��������@�������������������4���$�������?�D�G�������Ai���G��SQL Server�����$���$������$����$0��3����G�$��>

�����9��0�������4�����)����OUTER JOIN �G���Vendors���VendorAddress������Z��"��4SQL Server����$�������$��

�����������3�(,���Query�����-�����T�1+����'���D����������(��"����T��>���3�G��+������������������&���'$����@����>��������%���������C

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 102: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�������������:���������4�����1�'+��0��1��)���������(��"������-�I��"�������������'��$3�(��$�������1�'+��0��1��(,�(��������;

���INNER JOIN �������!��M'���4��@���I�Y�INNER JOIN�k�?�����-������JOIN�������=P+���$-������I��"��*>�;����

������1�'+����������JOIN�����'�-�9����JOIN���'�-��t�'��T����4�����������9�$:������t�$'�������;���������[F���@���I�Y�Address�

�������������*>�;�+����1�'+��0��1�+�����:�����*+��4����������I@^��G���I�������!�����4�

�)�OUTER JOIN�������J��� ���4

�S�>�>JOIN��j>�����-���-���4�

����(�P'������!�������-��-��!��:��4�)���'��OUTER JOIN�����������J��� ���4�

�SELECT v.VendorName, a.Address

FROM Vendors v

LEFT OUTER JOIN VendorAddress va

ON v.VendorID = va.VendorID

LEFT OUTER JOIN Address a

ON va.AddressID = a.AddressID

����

�������B+�������1�'+����(���4�

�VendorName� � � � Address

---------------------------� � � ------------

Don’s Database Design Shop� � ao}h Anywhere

Dave’s Data� � � � pgb Main St.

The SQL Sequel� � � � NULL

(} row(s) affected)

���/:��S�>�>����-��T�1+��SY�:�����)��������(���Query���-��������j>�����A<���L�

�SELECT v.VendorName, a.Address

FROM VendorAddress va

JOIN Address a

ON va.AddressID = a.AddressID

RIGHT OUTER JOIN Vendors v

ON v.VendorID = va.VendorID

����������!��8Y���1�'+�����-�����(4�

�VendorName� � � � Address

---------------------------� � � --------------

Don’s Database Design Shop� � ao}h Anywhere

Dave’s Data� � � � pgb Main St.

The SQL Sequel NULL

(} row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 103: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

������������������G������H���1����������G@�������Y��������c������'*��!���T����������SAr��SQL��������)$�����$:�����$��!���G�$2�Query�

�����+������:��;+��+���� �������'�/��T���|�-���+��Y���(,�����@��G������4����������T���I$��!����$���$���$����$<�>���"����G�

8'+����X�4�

�'@+�'@+�'@+�'@+LLLL�����+��>�����>��������G������1>�!0�3�INNER JOIN�������$�>�G��$'�������$��$����-��D�{H��������!��M'����'����-�

OUTER JOIN���!"�������-���"�����-�!��������KD�5-���w0��4����(�$'��-�!������$�����������"��������G�������G���I�Y�

���"����-�4�2����OUTER JOIN������$J����+,������������"�����A���9�:�������3�M>���2�����?�D�G������������J����

�������I�Y��G�������@A���'�����������1�'+JOIN����I��"�����G@�����"�G���r,�����'�$�+���$"��$B+���������"���������w$0����$�

"�����Ai���OK��I������>�-�6'"���4�

����T���I��!��OUTER JOIN�[F���;�����!��M'����������+�����'3������)��[F�4������$:�������K���$"��+��>���+��^��-���"

����������JOIN�������G����+��>����SAr������;-��(�@�����j>�&��<�G������+��'���-���-��T�1+�4�

��'@+�'@+�'@+�'@+LLLL���������S�>�>�!���������-�KD��������'3��SAr��JOIN��������:����T�"����������M������^���,��+��>���+�4����������������������@�������G��

�������1�����(��-������>��(�==8'���K��������4�����-����������)�������������G���-���Ouery����0��������������������$��������$���-

���3���!������G�����������G���������+����I3�����T"���C���+����!����k�<��3��(,�QA'8����-��G$������$���SQL Server�

�!"�9������4�����������G���������G�����SQL Server��;���+�����G�����(����+����+���������4�����"���!�������0�������������-�

��������1�'+�B+���������"���!��@+�����������������S�>�>����TF'���JOIN����������������$r,�����$KD�����G@�������������-�:�G�Y�������@���-������

"���!���4�

����k�?����(������k�?����(������k�?����(������k�?����(��FULL JOIN�-�-�-�-��������

��������������������+��SQL�)��;FULLJOINU�������FULL OUTER JOIN��"�����'D�"��-��V�B+������������K+��-�

�������4��-�������-�!����(,��������3JOIN��������-���I�'^����������������$��T�$������$*+,��$@���������$��$���$��O6K���-���

JOIN'�-�4�

FULL JOIN�(,���������'�-����������������������������*+,��'3�����'�-������������@���-�������$�+�!��M'$����$ �����$6��F>

+�"�4�������������k�?�G���G'"����&��M>�(����-�!����I�����K����(����(�^+��*+,��A<����������-JOIN�����4����������$��$�-��D��$����"���$�-

k�?������-������;"�����������"��'����!���+��/�2��@���(���4�

�)�FULL JOIN��-��-��D��������'3����"�LEFT JOIN�-��RIGHT JOIN�)�����JOIN��6����@��4�"���!���G��'*�4�

����������������'�-��-A������%����������-��������-���"4�

����(�P'������(�P'������(�P'������(�P'��FULL JOIN��-���-���-���-�����

�!��:��Z��"������G��D,����!�������>��-�Query�58�����OUTER JOIN��������-� +�L��

�SELECT v.VendorName, a.Address

FROM VendorAddress va

JOIN Address a ON va.AddressID = a.AddressID

RIGHT OUTER JOIN Vendors v ON v.VendorID = va.VendorID

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 104: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���-��T�1+���1��������-��D������������G�������>����j>��������G����Query��������$�Y��$������$ ���$A���$2�����-��SELECT�

���'���-��D��3�M>���2����-��(�^+����������������J��4����!��M'���������9���9�:�����'��FULL JOIN��"�����-��D�4�

�SELECT a.Address, va.AddressID

FROM VendorAddress va

FULL JOIN Address a ON va.AddressID = a.AddressID

;�������������K+��-FULL JOIN��������1�'+�����'^����/�2����3�G������RIGHT JOIN�������$�+����$���$���$"����$�������

+����L�Address AddressID

-------------- -------------

ao}h Anywhere a

pgb Main St. }

fff ast St. NULL

aoao Smith Ave � NULL

}gh Westin NULL

(p row(s) affected)

;����6<������>��-��!��:��(����JOIN���T�����������J�4�

�SELECT a.Address, va.AddressID, v.VendorID, v.VendorName

FROM VendorAddress va

FULL JOIN Address a ON va.AddressID = a.AddressID

FULL JOIN Vendors v ON va.VendorID = v.VendorID

�����������������-�(���L���

Address� � � AddressID� � VendorID� � VendorName

--------------� � ----------�� � ----------�� -------------------------------

ao}h Anywhere� � a� � � a� � Don’s Database Design Shop

pgb Main St.� � }� � � o� � Dave’s Data

fff ast St.� � NULL� � � NULL� � NULL

aoao Smith Ave� � NULL� � � NULL� � NULL

}gh Westin� � NULL� � � NULL� � NULL

NULL� � � NULL� � � }� � The SQL Sequel

(g row(s) affected)

����������+� 2����������+� 2����������+� 2����������+� 2cccc��������

����3�[��>������K������������������K+��-INNER JOIN���'����UK����9�����V�9�:��������������*+,����{%���������

Address���������'�-������+��+�� ���9�:������t�'������4�������9�:������������-��D,���Vendors���������9�$:��������$���������������

Address����+��t�'��4�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 105: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���������@>�!���������!��M'���;FULL JOIN������$-������R�-���"���������'3����������k�$?�����$-���JOIN���;$�-��D��$�����

�<�t�'���������"���(�@�������>������-��D��-������R�-�I��"��-�����&��<�G�����r�������4�

CROSS JOIN��������CROSS JOIN'�-��6�10���-�M���-��4�)�CROSS JOIN�� ���k�D����JOIN�� A�0��-�ON���-��������-�(,������+�

���������)�������:��JOIN��������� ���������-��������-������JOIN����������OPA���4�����������������$-��������-��������"��='8����?���

��k�?JOIN���G�/>����X�J����a��������-��D�!��M'����4������6"�(,���'D��JOIN��������������������$�A���$�A������$@�������$�r��$���$����$ �����$-�

CROSSU������:���INNER���;�OUTER�����FULL�V�����0�I��"��Y����"����!��M'����� A�ON���������$�E����!����9�e��)���1���������+�

��������L�

�SELECT v.VendorName, a.Address

FROM Vendors v

CROSS JOIN Address a

�����;����@��I63��������(�������������9�$:�������$����$�����table���������9�$:�������$���q$%���Address��$������4�����$�-���-��$8���$W+�2

�9�:���-�����Vendor��������9�:���-��������-Address����������t�'��}*p=ap��1�'+����������CROSS JOIN��'"���

���"���4�

VendorName Address

--------------------------- --------------------

Don’s Database Design Shop ao}h Anywhere

Don’s Database Design Shop pgb Main St.

Don’s Database Design Shop fff ast St.

Don’s Database Design Shop aoao Smith Ave

Don’s Database Design Shop }gh Westin

Dave’s Data ao}h Anywhere

Dave’s Data pgb Main St.

Dave’s Data fff ast St.

Dave’s Data aoao Smith Ave

Dave’s Data }gh Westin

The SQL Sequel ao}h Anywhere

The SQL Sequel pgb Main St.

The SQL Sequel fff ast St.

The SQL Sequel aoao Smith Ave

The SQL Sequel }gh Westin

(ap row(s) affected)

�G����F�3���������/�2���������������4��

a�Cartesian

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 106: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

� ���)�����G������3���-SQL�������{��>�!������9����)�����CROSS JOINT�"�����������;����6"��/�2������"���2

�������c�������!��M'���G������������y����������X��:����G�����;�������:������G����������A0�I����������C$���T$��*���$���$'3��Z�J���G���

��������������"�d���I��3������!��M'���G�/>����X�J�����J�����'��^�%�_���>���������������'D�$��������$�����*Y�e���+��>������"�����������G

����{H�����+��8�����9�:CROSS JOIN9�e�������G�/>����X�J�)����1��������������������$������$@����$��G$���$���!��M'$����-

��Y�����!��M'��CROSS JOIN�^����,���-�!�����Y�>�;����4�

���"��'3���������������1����>�0�?��)+���)����;������������$����$>�.�/���'����)������'��3��>�0�?��)+���G�������������$������$D�R$��+��$���$��

���"�5����,�4��������������1����������:��.�/�� ��F������'����)��5����,�G�������>�@^������@�����������5����,�������������-�!������4���

����!��M'��CROSS JOIN���9�$:�$2���������������������-�!�����'����+��>��������)$�����{H$����$��CROSS JOIN�����

�����������������1����^����,�!����.�/���0��1��)���>����!��M'���9��:4�������G��D,�������X�D�9�e��)�Query��;�����!-�^�����7��'�������

������ ��,����!����)���>��"����'"���������G������O6K��(��"�����������-Query����!����N�������ap�$+�����������������4����G$����$'6Y�

�0���������"�.�/����� "���?����+��>�����4�9�e����������������9�:�)���������pz������������ ���9�:�������opz�����$����$1��������+�D�T�+�

����9�:����G�������CROSS JOIN����9�:�)��������!��M'���aopzz'@������S���>��������1�����4��G'$"�����}zz��$������$��;

��!�����0��1��)���aopzz�"�����-��D�T�+��4�

�G�/ ��:���'D���������G�/ ��:���'D���������G�/ ��:���'D���������G�/ ��:���'D��������JOIN��-���-���-���-�����

�����������!�����+,��������C�����-����'�-�������������������������*+,����3�G�������������������k���'�������+���JOIN���$���-�

�+���4��>SQL Server g�p�����'D�$���$*>�������%����(,�����1��������/ ��:���'D���JOIN����SQL Server�����$���/$�2�����$��

�!������������+�'��������+���JOIN���6+���/��)��(����(,������"����!���+��-���4�

(���>������'D������ANSI����&���'��������SQL����������!��M'����4�������������������<�>���"����G����'�����x������ANSI����������!��M'���

������������'*�����������@���I�Y�������������>�+��D�G�W�-���������*�'���4��������������$-����$3���'D���������+�G�������>���/�2���'6�$+����$��

�'�����������D��+�"�����+�6�'^%��-�4�

�'@+�'@+�'@+�'@+�L�L�L�L���'D����������G@���������:��>����������>��A63��'M��O6?ANSI���!��M'����4�'F�F�����I�Y��G���������>�+��D������

@�����������>���+�����>����+���������������+�6�'^%����3���'D������+�4�������T������%���F'0��G�������8���A�D�G�

�'�+�����+����G�����"���������-��8+��+�6�'^%����3���'D��������������������@����(�2��@+�!��M'���������3���-��T���4�

�4��'@+�'@+�'@+�'@+LLLL������I�Y��G��'��/����"�������'D������!��M'�ANSI��������(,�(�����>������4����1������3���'D�����Query��;��$�����H+�@����*6����-�

�)���@���?���Query"������=M>�&��<�2�����4����������A:�I@^��G�������:���'D���4�

���I=����'������������,�������������,JOIN����3�������WHERE��)��cT��������F���"�����:��(,������I�Y�4�����$3���'D��

�R�-JOIN����3��������-�WHERE�������(�^+��4�

�Z��+��������3���'D��JOIN�RA����������ANSI�/:������������T�1+��FULL JOIN���$���$���+�6�'^$%��4�������$�����7�$�'����$��

FULL JOIN���'���M��'�����!��M'�����8�+�����ANSI��� ���������4��

����������������������INNER JOIN���G�Y��������������SF0�����-��!��:�INNER JOIN�����������������T�1+��I=��G����������L�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 107: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�SELECT *

FROM Products

INNER JOIN Suppliers

ON Products.SupplierID = Suppliers.SupplierID

'���G�����bb�+����������������������U�����������j>�|�-�������Northwind�'�� +�&��<��4V�������!��M'$�����$:��$�ANSI

JOIN������+,��-��!��:��JOIN�����R��%WHERE��������4;����(��,�����������G�����$�A����A��[F��INNER JOIN��k�$�����

�� A�0���������J�������)������ON����3�������WHERE���G�/ ��:��L�

�SELECT *

FROM Products, Suppliers

WHERE Products.SupplierID = Suppliers.SupplierID

�� �����'D���+����-���'���G��bb�+��������������������4�

�'@+�'@+�'@+�'@+LLLL�'����R�-����!��������'D���G�����.�/����-SQLU�oracle;�DBo;�MYSQL!��r����V�"�����+�6�'^%�(�*:�����4�

����������������������OUTER JOIN���G�/ ��:���'D��OUTER JOIN�G�/ ��:���'D�����D����D����INNER JOIN��G$���������I�Y��G�������@���/:�������������

������A��&��A����'D��RIGHT�����LEFT������+����������������������!m�����-� A�0��������;������������$��!��M'$���!$"��'D�$������G����4��G$��

&��<�����-� A�0'�-�����L�

�ANSI���� Alternative����LEFT JOIN� *= �RIGHT JOIN� =* �

�G�Y�������>��-��!��:�INNER JOIN�����!��M'�����'"���I=��G����������4�G��Query��>�0�?��)+������pubs������!��M'���

���������+������L�

�SELECT discounttype, discount, s.stor_name

FROM discounts d

LEFT OUTER JOIN stores s ON d.stor_id = s.stor_id

�&��A��!�����LEFT���RIGHT�� A�0����������+����WHERE���:����ON��������!��M'����L��

SELECT discounttype, discount, s.stor_name

FROM discounts d, stores s

WHERE d.stor_id *= s.stor_id

���?����������-��D�����������I63�q��'+��'��L�

�Discounttype� � discount�� stor_name

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 108: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

------------------� � ------------� � -----------

Initial Customer� � az�pz� � NULL

Volume Discount�� g�bz� � NULL

Customer Discount� p�zz� � Bookbeat

(} row(s) affected)

RIGHT JOIN���'���+��-����"�����'"�+�y���L��

SELECT discounttype, discount, s.stor_name

FROM discounts d, stores s

WHERE d.stor_id =* s.stor_id

�(��-�(���g���'D�����������������K��ANSI���������������!�����������4�

�'@+�'@+�'@+�'@+LLLL��>���'D������I63�������*����������������&��\/:�����'3���!"�Q�ANSI����'D�$������������+��������OUTER JOIN�

������'"�����:��4�I63���'D���G���SAr�����-��D�&��M'���1�'+����'��������6�+�����;������������4�

����������������������CROSS JOIN������G��������'D���G��JOIN�����Z�+�G��>�!�����-�4�)����1�������CROSS JOIN�������$3���'D�$�����!��M'���������$����$�+�T�y�;

�����-��T�1+���<�D�4�T�������/�2�|�-���"����&��<�G�����TableA.ColumnA=TableB.ColumnB����3�������WHERE�

��-����+����3�4�

_����9�e��)�������{%�9�e������-��!��:��;CROSS JOIN��G�����������������-� +�!��������'"���I=�4��$����'DANSI���$��

�������&��<��L�

�SELECT v.VendorName, a.Address

FROM Vendors v

CROSS JOIN Address a

���A��&��A������������3���'D��������'D���G���I�6>�����CROSS JOIN��������J�������)����!����k�������4��

SELECT v.VendorName, a.Address

FROM Vendors v, Address a

9�e����F��+������-���3�G����;����'D�������������1��'+�(��-ANSI ��������'����!��������������L�

�VendorName� � � � Address

---------------------------� � � --------------------

Don’s Database Design Shop� � ao}h Anywhere

Don’s Database Design Shop� � pgb Main St.

Don’s Database Design Shop� � fff ast St.

Don’s Database Design Shop� � aoao Smith Ave

Don’s Database Design Shop� � }gh Westin

Dave’s Data� � � � ao}h Anywhere

Dave’s Data� � � � pgb Main St.

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 109: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

Dave’s Data� � � � fff ast St.

Dave’s Data� � � � aoao Smith Ave

Dave’s Data� � � � }gh Westin

The SQL Sequel� � � � ao}h Anywhere

The SQL Sequel� � � � pgb Main St.

The SQL Sequel� � � � fff ast St.

The SQL Sequel� � � � aoao Smith Ave

The SQL Sequel� � � � }gh Westin

(ap row(s) affected)

�'�����'^����������������!������(���������������-��+�6�'^%��>�0�?��)+����������������4�

UNION��������

�X�D��������������������6P<�;���:���'D�������������3���'D����������������������(��������������$:��$�-��$��������������������������$��;

���'D����2��@��JOIN�X�8'+�������;����(��@���@�� A�0�UNION4��

UNION����������!��M'���(,������+��>�����@���K������!m���� A�0�)�������������$2��$��)�����"�w0����>�����Query��������$1�'+��$0��1��)$��

����Y�>��4�UNION�����)���F�F�����JOIN����+�������/��+���;������;����������������*+,�����A63���-����$�����$-�!����(,���:����

����)�����!�,Query������������!�,�������-�!������*'+�����Query��������������J��� ���U���0���&��M'������(,��������G������������I�0��>�

���>�!�������������(,�T�*M��(��*�������!���GV�4����������:���JOIN�������&��<��������-�!�������F��U��(�'��(�������J����-��V�����$��S$���>

�)��;�UNION��-�!������ �����0�&��=�U�-�K��(�������J��V�����S���>���I@$"�����$����K+��-�;h�a���!$"�!����(�^$+�

����4�

������'3���Query�����*+,����������-�JOIN�����������������!"�!��M'��������:�>�������A���'@+�2���L�

� ����-Query�������-����������-�UNION��������Y������������-�K�����>�����������+�"����SELECT"����'"����4���e$��

�����Query�����������Y����(�'�����������9���SELECT���;"���Query��-�T������U�����������-Query�����-�UNION��!$"��V

����"����'"���(�'���������4����Y������p������������/�+������"����'"���(�'��p�Query��"����'"����4������$@����������Query��9���

�����(�'��2���F��;QueryU���-�V"����'"�������K�����>�(��-������-����4

� ��T�+��-�(�'���������O��K���'^�����1�'+�������T�+���-�(�'������Query�'�$-�9����4���$��Query�����$�Y�)$��9���SELECT�

�+��col}��colo As second��SELECT cola"����(�'���@����������������-Query�������$ ��+��$+� 2�������-��

"����������2��*+,����'���T�+������+��!��(�'��T�+�;�������������'^$�����$1�'+�����-UNION������&��=$��S$�>�'��COLa��;Second����

col}����-��D�4

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 110: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��I@"h�a�

��������)�����(�'���-���-�!����Z�+Query�!����Z�+������J�I�6>���A��3������-�(�'�����[6>����Query�"����'"������� �����-�

�4���:�>������;(��@��!����Z�+��������+�G��������A��3�����[F���*+,������"����'"��������J�I�6>���U�4��������$6>��$��9�$:�)�������l��$<�&

����-�����l�J�>������J������-�����l�J�>�����������I=$�����$�+��>������o����$����$�%�V4�����������T���(�'$���$W+�2�Query�����Z�$+�������9���

char(oz)����������T���(�'������;"���Query����������T��varchar(pz)������K��Z�+�G���"���������������$���9���Z�$+��$��I�$6>�I��3���J��4���$��

�����%����/�2���-��@���I�Y������Query�������������'^���������-�K����-�;����9���oz���"����'"���k��������������$*+��$1�'+������$�����3����

+�"����!�>��4�

��������������9�e�������)��������������G����^��-�+��4�

����(�P'������(�P'������(�P'������(�P'���L�L�L�LUNION��������

���������-��������C�������-��!��:���'��UNION����������6�����0�4�9�e����������;������������&��K�>�(���������������������-��$D��$���$�

������������������-�����Northwind�����������'��M��)��6>�&����)��'�-�u�6>�������4����������$���I���� ��,�������Y�)��������'^$��;�������$-

(�����Y�>��-��D����&����(��'������������4��)����[F���������G�����+��>���Query�+���Query1+��G���%���-��T�4�

�USE Northwind

SELECT CompanyName AS Name,

Address,

City,

Region,

PostalCode,

Country

FROM Customers

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 111: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

UNION

SELECT CompanyName,

Address,

City,

Region,

PostalCode,

Country

FROM Suppliers

UNION

SELECT FirstName + ‘ ‘ + LastName,

Address,

City,

Region,

PostalCode,

Country

FROM Employees

�G��Query�����1�'+��0��1��)��������Query+����������4�

�Country����PostalCode����Region����City����Address����Name����aoozf�aoozf�NULL�Berlin�Obere Str. pb�Alfreds �

Mexico�pzoa�NULL�México�D.F.�

Avda. de la�Constitución�oooo�

Ana Trujillo

Emparedados

�y helados �

USA�fNhza�WA�Tacoma�fzN W. Capital

Way�

Andrew Fuller �

�����444�

�����444�

�����444�

Finland�oaohz�NULL�Helsinki�Keskuskatu hp�Wilman Kala �

Poland�za�zao�NULL�Warszawa�ul. Filtrowa gN�Wolski Zajazd �

Netherlands�ffff ZZ�NULL�Zaandam�Verkoop�Zaanse �

�������{���-�����>�0�?���1��Alfred�;�������'^��)��Andrew Full�����������)��Zaanse����!���Y�>�)���4�

�'@+�'@+�'@+�'@+LLLL��������������S>���!�P+� ��������'^�����1�'+�Query����"���&��M'������G@����4�����"��1�'+�����G����������������&��M'��G���1�'+���

��@+�S1�>�4��������/�2�G��'�*������������������aof�������������>�0�?��)+��������"�����>����j>������������K��Northwind������!����

��� '�����4������$3�;��"�!+��������n8^��S�>�>�)�����q��'+�����-��D�����W+�2ORDER BY���;$�@+�x�$�������������$�

�������&���'��UNION����3�;ORDER BY�G��D,��������Query��"���E�4�

c����������+� 2c����������+� 2c����������+� 2c����������+� 2����

��������Query������,������1�'+�)�4�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 112: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

SQL Server�����-�Query���������:������������$6���>��$1�'+��$0��1��)$���>�-��������3��� ����1�'+��y����������1�'+��-

����1�����4(�'�����T�+�����"����'"��������(�'����-��'^������-�����Y�����-SELECT����Query��!�,�9�����4�

�������������T���9�e�������(��������(�^+���"������-��D����;�-������)������UNION��-�K��������������;$���$�������2�����@>���������$��G$��

��F�3�����{@0����Query����������9�������-����������������������-��D���+�����-�����@>���"�U���Query���A63���-�����$��G����������;

��>�������A���������'3������A����DISTINCT�������������+�!��M'�������������M�������������-��'���D��V4�������������!�FY�$����$K���$+��+�G$���

�'��������� +� 2�(���������������+���:��_3���(�*:������(��,��_�����-4�

�������G�����;���������!�,��������������1���9�:����������������X�8'+���*+,�������������4�����-����{H���������K������������J���K�����9�:

�������������(��@��9�:��������K��)���@��4�����Query���)�ALL�������:�����������-�K$����-�;Ug���K$���V�������$���$���$�%�5��$�+�4���$��

Query�����)�DISTICT����:�������;�+�"����!�����^�����K��q%�[FU^+��'�����B+��������@>�������)�V4�

�CREATE TABLE UnionTesta

(

Idcol int IDENTITY,

colo char(}),

)

CREATE TABLE UnionTesto

(

Idcol int IDENTITY,

colh char(}),

)

INSERT INTO UnionTesta

VALUES

(‘AAA’)

INSERT INTO UnionTesta

VALUES

(‘BBB’)

INSERT INTO UnionTesta

VALUES

(‘CCC’)

INSERT INTO UnionTesto

VALUES

(‘CCC’)

INSERT INTO UnionTesto

VALUES

(‘DDD’)

INSERT INTO UnionTesto

VALUES

(‘EEE’)

SELECT colo

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 113: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

FROM UnionTesta

UNION

SELECT colh

FROM UnionTesto

PRINT ‘Divider Line--------------------------’

SELECT colo

FROM UnionTesta

UNION ALL

SELECT colh

FROM UnionTesto

DROP TABLE UnionTesta

DROP TABLE UnionTesto

1�'+��'�-�(��������������������'^������4����T�j�%�2��1��one row(p) affected�;����-��D��[F������� +��B+��������*+,

�q��'+���Query����:�>�4�

�colo

------

DDD

EEE

AAA

BBB

CCC

(p row(s) affected)

Divider Line--------------------------

colo

-----

AAA

BBB

CCC

CCC

DDD

EEE

(g row(s) affected)

�1��������!������'���)��9����1�'+��0�UNION������������J���'����%�|�-�(����4�����������K��)������������������;�$���!^$+��$'�����$B+�

����@���I�Y���CCC������;!"����J��9�:�������������������?��������@>�����������"�����'�����B+�����@��[F���������$'�����B+��������5�%���

��"���+4�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 114: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�!�������j>���+��T����1�'+4G����������UNION ALL ��������!��M'����A����A�� ALL �-��������-�������"����Gi�K��������

��+��������4��"�����-�t��1������y���!^+��'�����B+�����K���������������K+��-4�

�<�D�<�D�<�D�<�D����

���)����RDBMS�������������������-�!����;�����+��!"�58%�9�:�G�2�����-��D4�JOIN����-�����!��:���-�������$-�!�����$>��������G�$2���

����S���>�O��?�2����9�:L�

� ���INNER JOIN����t�'����r���-A����-��D��������'3������!��M'������ +��B+���4

� ���OUTER JOIN"����'"�����:���t�>�����G@���������!��M'�����3����������)$����-�!����I����"�G�W�-����

�������JOIN��������-��D4

� ���FULL JOIN�����k�$?������$-��$0��1���$�-���"���������I�'P���t�>�������!��M'�����3�������JOIN���$�����

�-��D4

� ��CROSS JOIN������G�/>����X�J�)����"�����'3����$�-��D��$��9�:������-���������%�4����[�$P������$�/��G$���

���==8>���-�1������������@���^����,���-�!����������4

� ���UNION��1�'+��-��D��������'3��Query���T������1�'+���Query���S���>�9���4

������QA'8����'D�����INNER���OUTER JOIN�������:��4���������$3���'D�$���$���$���+�������)��������������3���'D�����

���������:���'D���������������E��'"���������ANSI������*'��3��'^����������������$����$>��$+��D��$@���I�Y����������E�I=��G����T�$*��

��A������=8^��+�!�,��>������+�������3���'D��SQL Server��"�����+�6�'^%�4�

�I=���������������1�����9�:���1���� +� 2������-��K���a����(�'��`�PY����-�M�����D��,���-��D����*+,�G����-��D��>�G"����������-

"4�

G���>G���>G���>G���>�����-�-�-�-����

aV �)�Query��>�0�?��)+������Northwind�T�+����(�'��)������������supplier Name���T�$+�I��"�����+�������

�9�=P��(�����Y�>Chai+����������4

oV ���)����JOIN�����)��G'"�+������Query��������������>�$0�?��)$+�������F?�$���$�-�T�$+��>����!��M'���Northwind���|�$-��$��

�����n�=8>��1+,������������!"�!���+����4

a�relate

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 115: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�������

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

���������������������������������������������������� !�"����������"�#��$�����%� ���&�'���(����)�*�+�,)

�-.�-�%�/�����%�"��#���#���,����'��0�����)���1����2����3��!����%��0�45���&�'��6����7���"�$��8/��'���9"����%

%�/�6����.��)�-��2(�:���'!�-��;<%�����=������(�:���)���#��)�>�?��#�0�'<�����@�8/���6���AB&)��%��C�#�

D�'<E���'.���9������������:���)�#����F!1���#�����G#H"��������� !�"���F�I��/#���)���4��!��'!��<"��$���#��#���)��%#�"

�:�J!1�����!�"��%���<F"�����:9)�,�":���)�#����!�K@��FC�

��L�)1� (����L�#� 0�)�M!� �#�)� ���� ���������"����#�<%�� �� ����,��� #�C� $�� -��;<%�� ,�:='������ ����� �

�� ����01�$��,<��G� '�����"����G�(����L������#�C�

�N��<E���<"��(�:���%#�"��#���.���K��������������O�#�<%��O��PH��5:���$���Q���@��G�#���-.�N#�L�RS"�,���$���'�����(�#��

.���5T�)��"�U�#�(���'�����.���#�VK)�!��#�)��(�:���QS?�W�C�

�#��W��.��3�!�����������

��'��#������(������)�-��;<%��-��%��#�VK)�!�$��������-���(���-��������6�<��,���#��0�:�������������C�����5:���$���Q�

������ #�������� �������:�� �����#�X%�:)��������� !�"���"����3��"��<;G��� ����:����9��������.� �����C

#���6�L#��4"�2#�M@���������#���������.��0����AB&)�3�K:�������� ��YZ���������[�#��F!1��K���O�#�<%������

��-��S)���.��)�-��� @��C����\)����"��!�G�]���0�"��#�����3�!�����"�0����3�!�-�����)����(�������[����+��O�����

�#���������������#���*M%�#�F@��^��K���W�.�������"������������%����$�O#��"��)����#�VK)�!� ���7_�

�[ServerName.[DatabaseName.[SchemaName. ] ] ]ObjectName

!���"��:����'���W�.� ����#�#���'���5:���$���Q��:<4���#��<L��W�.�3�!�`@��'%���F<'4���'���)����:����[�#�W�.�3�

�(�4��!��'!��#��F!1�,���"�:"��4�!����<E��F!1��"�O������<&�"�C�3�!�$���'4���������%���"�L�-���,��^W�.�_�(�:���%#�"�#�C

�(�:���)����E�`@��'%��"�W�.�3�!�$��,���"�:"C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 116: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�KT��3�!a�^��5T�)_��

�G���:���)�-��;<%�����KT��$���^:<.�!� �#�F!1��'���-������F��K��/��<&�"��)��!�.�(F)�#��4"�-:�1�#������1��)��b!��"�_���"

�#��#�������KT���@�#���'.�W�.�����:��AB&)�C�)���(%�� ��"�W�.����,<.���:.�"�����;<)�����KT�#����"��)���%��,5')��C

�����L��)��G���".��.�"��<.����%�<%���#�!�#����c���d�/���KT��#������e�^�#����K<4"�,�GD��"��#�)�,��_�"���f�L�#�M"��

W�.� ��KT�� 3�!�#���:�� ��[C�� �� �"� ����"� �� ��\)� 0��:9"� (�$�:�"� ���K!� � �#� ���KT�� $�� -��;<%�� 3����������� !�"�

������� �� ��0�:���������:�#���$���<4�T����:���)��%#�"�!���G��)�"��#�::���)��G!$�01�#�������F.��0�7�

�SELECT e.EmployeeID, c.FirstName, c.LastName, City

FROM HumanResources.Employee AS e

JOIN Person.Contact c

ON e.ContactID = c.ContactID

JOIN HumanResources.EmployeeAddress AS ea

ON e.EmployeeID = ea.EmployeeID

JOIN Person.Address AS a

ON ea.AddressID = a.AddressID

� (�$�!�� �)����K!� :<4�� U���� �KT�� ��� #�� ������ #�F@� $�� ��\)�,��� #�C���KT�� ��� $�� �5�� �G�!���� ��"���

#�����$����3�!�`@��'%�$�� �#��KT��01�3�!�(�!�����)�.�"� �)�c���d�/���KT���(�����#�����KT��01�#������<�����

�(�:��>VEC(���"�3�!��#���(5S)����"��#����KT���'���)����#�)�,��#�C�

��<'4�� ��� 3�!� $�� ��� (:���)� ��?��� �:���)� -��;<%�� �KT�� ����F�Gg��� $�� �&�'�� �=!�:@^� �KT�� 3�!� �� ��� 3�!� _��'�� #�

������:��-��;<%�����C����KT����� ��O#�?�,�"��Q<9)��K����'.�O��+���hQ������#�9<4)���F)�!��K�������"#���c���d�

��"����L�0�%1�#��4"�:<4�!�C�#���#��F!1�����%���<F"����:���'!�-��;<%���������� !�"��E����#��i�<B)�����KT��$���'.��=!�:@

�(���K!��b!�^�'��#���,������,�[#���)������.��)����<&�"����!��L�R��"�9"��=!�:@��.�"��<.��������-��;<%���K�������KT��$��

�$���j"�#���,������"��#����F"���"����L�#�Q�)�_�

���KT���"�U�#���<&�"�XT�M)���#�!�<%�ANSI����"�SQL��&�)�-�)�!��KT��0�:���������.����)�F;)��CSQL Server��)����5�)��!�Q�<&/�3�F;)�0�'��$��

�;<)�#�M"���!1���)�#����k�#���#�)�����^��Z�ZE�#���<QT����"���K���H�@�01�$��#�b:)��<E&�)�-��;<%��(��h����0�'���"��G�_�

��#��0�:�������H�@�,���"�:"SQL Server lmm��3�!��"�01��"����#��:!�)�-������F��K��/��K�����“�KT����B4!�#����&�)�-#�.��

���Q�����SQL Server�3�!��"�� T�)�&�)�-#�.��01��"��C��%��#�G!�)���'!� ���KT��-.�-��;<%����'!�C�$�:��01��5:�����T"

�01�#�����O���� �����%��5��)����%��(F)���������lmm���<!�%1��KT���P�4)���O�5&)��E�����%��-������'���

���.C���Q�������B4!���F�#�G$�%��"�����#���N��<E���=!�:@������������������:�HG�������F�Gg���$����"����:��-��;<%

��+������%��-.��:���#���!�)��)����"�n#H"��5&)� ��0��:9"���5T�)�����%�:9)�,�"�,���C�

���T��������E����#�����!#����%������:<4������$���������������lmm��9M��,)��)���::��-��;<%����5T�)�$����$���5��

�F!1(<4�!��C�#����5T�)�����%��,����!�"�,���$����"�����H�@���0�:�����������lmm���KT��-I����"��-������/�3�!���� ��

��Schema Name

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 117: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

a�������#�)��������!#���k�#����%���C����E��)�����%��(F)�#��4"��#�!�����KT��$���!�Q�<&/�#������$���� �����%��5��)��5:��

�E����#���F!1��F�#���%��(F)�#��4"��'.��C���::���)��!�Q�<&/��#�VK)�!�#���#����KT��$��-��;<%�����!#����������U"���

���KT�� �"� -��'���������FT�\)�,�:='�����������lmm�� ^���������� !�"� �� ����%��&��01� $�� �)� ���

� (�:�� �)� -��;<%�� 01� $�� �<&�"� 9"� ��F���� #��� -���� -��;<%�� _"� �K��� ���� �:�HG� �"� #��� ��T��� �������:!�)�

����'�$���� �����$���:<4��(F)�#��4"�C�

�,�����#��#���L�H��'��0�:�����e4)��::���)�#����!�K@���:<4���@����KT�����(�:���)�>�M9)C�

%#��)��b!��"����#�M!�'����5T�)����Q�������B4!�#��������)�#����"�01�0����AB&)��� T�)��4���@��5:����l�W�.

���"����L�^��)���3�!�$��-��;<%��3�K:��_���#��)�#�5"�CD�'9)���������#��������� !�"����-����������#�W�.�����%���4������,���

��%��-����^��"�X�o���� (����.��)�k�#���9"�,)����#�)#�� (�����(����L�*�+����C����"���������lmm���'��

#��)!�.��)�-�����Q4!��KT�� ���"� T�)����"�W�.� ���)����::���)��'��3�%�)���F.�#���Q.���C��"� T�)��5:���(o#����

��"�!�����)�,�GD� ��� ��!�.��<.�VG�p��<.���"�,�GD�,�:@�#��!�����)�0�:����KT�� �� ���%���<4"���f�L�,�GD� �

.�"��<.����%�<%���KT��,�:@�C�

�/�#�M"�dZ!�����!��"#��� ��c���dq��'<4�%����� �� ��������� !�"�dZ!� ���!#��� () �� �� ��� ()

�� ��::���������������� !�"�#���#�����.��:!�����)�!#����#�C�

��<5!�7�#�����:<4���������� !�"����'<4�%����$���F&Z!�$�����9���F:��(�������[���:���#��������F&Z!���������

lmm��!#�������C��%��-.��M����F!1��"�-��;<%���#�)�X4E��"����:<4������$��)�$���ZM:)�������'�)��F&Z!� C� ���<��

���-��������01��"��#��#���dZ!�01��������$��)��Z�ZE�#���������)��Q4!����� ���"��#�dZ!C�

'<4�%����.��$����B&)�k��!��:!�����)�f�L�0��"#���::���������#��������� !�"���C���::��������#�W�.� ��0��"#���,����G�

���.��)�-�����Q4!�-.��4�T�,�GD�01����"�c���d�/�#�M"�������KT���"�c���d�/�#�M"C�

��<5!� 7�'<E���Q!��#�!������Gg��� �������T��,����"�YZ������-��;<%��01�$���r�-$���0����#*��*��������"�� ��:!�)�

��%��s�"��:���)����������T���@��"���!�)$��@����#��H�@��@����4���@�����.�"�X���)��&�'���C��%�<%�����?�L�#�M"

�#*��*��"��#�����<�:)����F&Z!�$���������������� �� ���� ()�� ����:����S)�C�

�c���d�/���KT��7 (���

���)��������#��������� !�"�����4��0��:���"�:���������� !�"� T�)������ (����.��)��<��G��b!�#���C�#������e�.���

���KT��#���T�'9)�0��"#������"�!�.��)��������������� !�" (�!�.��)��4�T�C�

��Schema ��owned ��role

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 118: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�,)�,�GD�3�!���(<4��-����-�K��/��!�$�#��"#��� ��,)��:��c�������\)�0��:9"���$����$��)�����#*��*��+�*�

3#��� f�L� �������� !�"� �� #��#� C� 3�:"� ��� �� �G�����(��O#��"� W�.� �)��� 3�!� �(:�� �������

���$����,����(��� ��"� ���L�C�0��"#��� �'�� �� �#��� f�L� T�)� �� ��� �5:��� ��T"� �:�� ���

���$����,����(���,)�$����o��"�^���:���,)�����#���"����"���$�����(<4���_#���N��<E���#���� T�)�3�!����!

����::����[�(����������:���/��#����!��<"�C�

�,�GD�3�!��"��"#��� ��������K"��b!�#��0�:��-�� ��#�������C-�� ��%���������� !�"� T�)��^�$���5��0��:9"�0�����)

���t�� ()�� ����.��<��G��b!�#��C_C��G�-�� �3�!��"��#���� �����(��"��#�<%�����%��#*��*�3�!��:��������

�O#��"�01� T�)��"�-��'������)�� (�,����(���%���C��G��-��9" (���"�!�����)����������.�"�c���d�/� T�)�

�������(��.�"��<.���k�#��C�

�����:��������^��dZ!�$��������������� �� �_���"��&�'� (��%��>��9)�C�������:9)�,����"� T�)��4���@��5:���$��u#

���%���������� !�"���:!�) (��,�GD�Y%���-.�������W�.������5T�)���%���)����%�<%����#��������" (��h�9<)�

�%��C�dZ!��t������%�"�-.����������.��,�:='� ()�� �������������� !�"� (��4�!�c���d�/���KT���F!1�#��J

��+���d�/���KT������"��F!1�!�.��)�-�����Q4!�.�"�-����,��9��f�L��"#��� ����^�.�"��H�@����!�����)C�_�H�K!���;K.

�%#���)��r�

�<5!�7:<4���+�#�O���� ��$���:<4���KT��0�#������$���F!1�����%#��)��b!��"�(�<.����<��%��5��)�0�<%����"�������F<QS?�#��C

�)���(<4����S.�L�O���� ��,���$��(��,)�::���)�-��%��#�����3��!���'.��%��#��������#����F!1����(T�S.�L�,������"��<&�"�

:��������F!1�$��-��;<%��#����"��4��������!��-����(������#����F�Gg����F!1�������L�,����"��!C�

�<5!�7,<��G��b!�#��0�"�����.���������"@��5:�������"����KT�������)�3��!���#��� !�"��"��<&�"��G�=�/�0.����+��R

!�.��)��������C�����KT��3�F;)�-�����"������#��O#�?�0�'���"��Z����#.+���,���"�:"�!�&�'!��!�Q�<&/�n#H"����

��KT��$��-��;<%��%��(F)�O�5&)�$���5��!�.��!�Q�<&/�3�����/�,�:@�#����"����������#��C�

�������� !�"�3�!�

�(<�1��%����������3�!����)���3�!�0�����F�#���9"�C�-��Q!�c���d�/������������ !�"�$�������-��������L��)�O��������G

��4�!���9���������� !�"� ���� C��#�1��%"� C�����!�G������������F5!�"�$�� �#������-��������B"��%��,5')� ���Z�ZE�#�

/0��� �:��C !�"� 3�!� 0���� AB&)��� �)� �'.� �"� �#� ���"��� ,��� ��������� C���9�� �������� !�"� �G�� �� ��\)� ���"

� �� ����%��&������"�����B"����.�"�-.��#����� ������������ !�"�#��������� ��.�"��<.���k�#��

� #�<L�%� $�� �!�����)������� , (�,�� ���� �:�� -��;<%��C� �=!�:@ (�'.�c���d�/���KT���$�� �!�����)� �.�"� �

������� ,�� ����:�� -��;<%��C� 3�!� �"� �KT�� �� �G����$����� 3�!� �"� ��� �� T�)�����(���#��

��.���(���� ���%�"� �!���� �)� �.�"���.���(���,���$����,����(���.�"� �<.��� k�#�� 01� �"�� C����"

���9���������� !�"�����.�"��<.��^����%�"�����*�T� ���� $���=!�:@�-!�.�$�"��4����������� ����� �

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 119: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�� ������.��)�AB&)��:���)�-��;<%���_C��)��������� !�"�,�'��$���#������-�����G��,���"�:"��%��c���d�/��&�'�

�:����[����3�!��"�-��'���#��������� !�"�3�!�����4�!�3$D�����LC�

�#��%�3�!��

F5!�"��"�k�#��"�-�����K������#��%��"��!�����)�,�:='���'.����<4����<)�01��"��'.�����#��%���#������������v�Q�#���a�.�"��<.���C �����:����)��'.��"� �#����"���,���YQ��)����#��%/0���:����'���#��%�,�:@���#�#�J������!�G��<E�

� #��%�i�<B)^�$$���� �.+l� �0��$������������� ��H�@� ���-::�� (����� $�� ���0�*.+:�� -��;<%���C� _

���S�+����#�VK)�!�X���)���4�%�#��*M%� ��YZ���!�"��F:��0�:����)�������(����L�6�<���)����#��YQ��)����#��%��#�)�#��

���������� !�"�w�M%�:!�'��(��*M%�,�����.�"��<.����%�<%���K������#��%��"�����)�-$������-!�)����"�#�����5T�)�

:���)C�

�3�!��"��#��%�$��������������L��)��=!�:@����Q����\)�hQ����0�:������������������� !�"� ����(�#���v�Q�#��01��"����

� 3�!� �"��.���(�$�� 3�!� �"� ��� �������(��� �"�h�9<)� ������$������)��� 3�!� �� (�:���)��"��$�"��%��

�O#��"��������,��.���(���,���$����,����(��,���"����L�C�

��F+���d�/�#��)��

�::���)����`@��"��#�VK)�!�X���)���4�%�#���!�K@��F+���d�/�(�:�Q"�#�"�,��L1����"�����-$���6�L�#��4"C�

� �W�.�3�!7��4�!�c���d�/� ��'<E���:����[��#W�.�3�!���"�C

� ���5T�)�7�#�����:5!���[��#��'4��,����!�����)�W�.�3�!��G��8j%�����.��)�-��;<%����9���"#���3�!�O#�?�,��

�$������Q!���9���"#�����5T�)�#� (����.��)�-��;<%�� T�)�0��:9"�C

� ��������� !�"�3�!�7�:���b!�>�?�01�$���!�����)��.�"�-��5!�AB&)��#�#��%� ��3�!��G��C�-��;<%��O#�?�#�

������ !�"�3�!���"�#��%�3�!�$����"� �#�������������:����[�^�k�!��"��<4"�#��4"�#��%��K��������!�G

!#���#��%�AB&)�_C

� �#��%�3�!�7�,�����:���'!���[��#��#�)�,����'.�U���)��<&�"��)����:����[���:���#���#�YQ��)�#��%� ��3�!��!�����)

���.��)�R��"�#������������01��"��'.����.�"��+���d�/�#��%�����-����,�GDC

�$�:����:����[��#�#��%����������� !�"�3�!�:!�)��K�����'9)�O�������)���:5!���[��#�W�.� T�)��������B"��=!�:@�(����"

� �MZ!� �� _C^� ���� #���� T�)� 3�!� ,<.�VG� �T�L� ���"� ���+�� C�$�� -��;<%�� ���"� 0�)��L� ��S)� #��%� #�� �G�� �� ��\)� 0��:9"

������� �����"�(����L��)��)����(�.�"�-����,�G�D�0� �������$��������� �3�!��"�YQ��)�#��%� ��#��

��0�����������O#�Q�� �"�(�!�����)� �(�.�"��<.���k�#����0����������,������� ,,0� ��������"�

��link

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 120: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�(�.�"��<.���k�#��C���(�.�"�-��5!�AB&)��#� T�)�3�!��=!�:@�.���"#����������-��;<%��YQ��)�#��%��"�,�GD����"�01�$ (��

���.��)��<L�:.�����L��)���!1�����e�.� T�)^����#�)�,���#�0� ���_��

#�<%��#*��*��

��4�!����-��%�#����)����"���.���������!�;%�<)�C��������� !�"�#����.��������#�b:)��"��#�i��9��x�L�#�<L�%� ��(�#���N��<E���)

���0�)(�:��(��C��#�<%��$����"�#���,������"�#*��*�:��-��;<%��C�

�#�<%���)���#�<L�%��"�����-$���#*��*(�$�:�"����K!��C����L��O�#�<%���'��������#*��*��)�$�o1�O#�?� ���"�

���.��)�AB&)�O��PH�8j%���!�.C������'4��#*��*�%����$�O#��"��&�'��7�

�CREATE <object type> <object name>

��"�:���L�O��;<)�W�.�k�!��"��<4"����!�.��)���[�O��PH�01�$��8/C�

�������� !�"��������

�3�:"��������� !�"� ��(�#���N��<E�� ���'4��,���#��$$�� �� ��9"����(�#�1����"���-��;<%��01�$���������������"�

�����(����L�C#�<%����?��#�<L�%�#*��*.���+��*�%D�"���\)�:!�)�C�

�CREATE DATABASE <database name >

��<5!��7�(<4�%���)���-������������!1���������H�"�8��]������:���)���������W�.� ���<������(�:����[��#��<5!�,�����"

�.�"��<.����%�<%��01��"�!�����'!��������� !�"� T�)� �� C��)� -$��� #���,���-$����5:��� $���Q���:�������� �#W�.� �����

�:����'���01���#��#��b!��#�)�O���� ����"��#�01��"��%�<%�C�

�O�#�<%��$���!�����)�YZ������%����[�0���.�#*��*���������"�YZ�����:��-��;<%����L���S)�#��%�#������.�� ^����+�

�#�!����y���01�#��#��%� ��3�!�0���C_�

�,���Z������������ !�"� ��������R��"�#������������ !�"���Q.��� �����.��)�^��������� !�"�� �������#���#�a�

�(�����*�+��� _C�Q��Z�� ����L��)�����H�@���9���� #������K!�01� #�<L�%�����"� ���� -$���8/��%��O��;<)�01� �"� �&�'��

(�$�:�"C�CREATE DATABASE <database name>

[ON [PRIMARY]

([NAME = <’logical file name’>,]

FILENAME = <’file name’>

[, SIZE = <size in kilobytes, megabytes, gigabytes, or terabytes>]

[, MAXSIZE = size in kilobytes, megabytes, gigabytes, or terabytes>]

[, FILEGROWTH = <kilobytes, megabytes, gigabytes, or terabytes|percentage>])]

[LOG ON

([NAME = <’logical file name’>,]

FILENAME = <’file name’>

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 121: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

[, SIZE = <size in kilobytes, megabytes, gigabytes, or terabytes>]

[, MAXSIZE = size in kilobytes, megabytes, gigabytes, or terabytes>]

[, FILEGROWTH = <kilobytes, megabytes, gigabytes, or terabytes|percentage>])]

[ COLLATE <collation name> ]

[ FOR ATTACH [WITH <service broker>]| FOR ATTACH_REBUILD_LOG| WITH DB_CHAINING

ON|OFF | TRUSTWORTHY ON|OFF]

[AS SNAPSHOT OF <source database name>]

[;]

�!#�������������#�G$�%�!�(���"�����:�HG�$���t9"�����.�"��<.��������"�^C�0��H������"��������� !�"��'.��<�����\)�0��:9"a�

��"����L�$��)���o��������4)�$����o��"�����:�HG�$���#��4"��:��������C��#��F!1�����-$���8/�!#���������:���#������$��#��)

���:"�dB"�(�:C�

0���

0����.��)�-��;<%�� �����#��� 7�0����AB&)����"�� ��!�.��)�-��L[�01�#��O�����������������4)�0����AB&)����"

���������"�O������0�'�����������'����"�!#���#1��:��������:���#����'���,�����Q!"������#��)�����:9)�,�"�

"���:<4����?�������-��G�:�1��):���)�-��L[� �#����-�����5�H���#�MC����-�����!�����)�,�:='������!�y���F�����-��G�#�� �#

��:��-��L[�%��dB"�,���RS"�$��N#�L�3������$��-��;<%��C�� ��#���#�H�@��'���5�#�M"��:��6�B<!�� �#�c���d�/�0�:��

��:���)�-��L[�����C�

��<5!�7�������������)�-$����'.��"���:��-��L[������,�:@�#���#���L��������� !�"����C�-$����'.��"��K�����%�$�

��:��-��L[������-��G�3�!��"��ZM:)�-��G� ��#���#��F�����01��������)�C�$��N#�L����%���<��&�/�#��4"��������F���G�$��-��;<%�

��%��6�<��,���RS"�C�

���*��

!��"�����H�@�:!�)��#�)�,��b��:���'!��'��%#��)�C��ZM:)�3�!� ��YZ���)���:���)�AB&)��'.�����%��������3�!�,��

�%�J�������:9)�,����"�����������::���)�-��;<%�������01��"�k�#�����"�3�!�,���$����L��L���#���C�����L��)�����<��

�H��%����������� !�"�z��������� ���#���������^d�������d��H���_���������L�-��;<%��3�!�,���$�C

-��*���*��

�%#��)��b!��"����:���)��#��#���0�'���#�)�,���C������-������� 4�����#��5�H���3�!� �����^������<'4���"��<4"�i��9�

��:���)�_�.�:���L�-��L[���!1�#�C���:���#��c���d�/�#�Z)�^�#�����-��%�#�<L�%�$���)�����:��c��01��"��<"���(�����-#�.�

�(�:���)�-��;<%��_������������ !�"���L��"��'.��5:����"��<4"�����%��O��;<)��:���)�#����C���$�#�������c���d�/�#�M"

��L�..����2���?���L�.�#��!������-����2�����,a2������^����?���L�.��������������=!�:@�

�.�"� -���� ��� �� �#�X�!���4)� _3�!� ���:���)� #����������� !�"��5�H�������� �"��=!�:@�.����L�������� !�"�3�!�0�'��01

�!�4/� �����+���"��������,� '��"����L��C��"��=!�:@�������+���"��������� !�"�3�!�0�'�������3�!��:5�)�#��������

��attaching

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 122: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�!�4/� ��,� '���"����L��C�S��?��G���VK)�!��#�������,)��)����:��AB&)��#��K�������!�4/�����.�������L�-$����:���#

c���d�/�����!�4/�$�����(:���)�X�o����#��'.� '�^���������� !�"�_��� '�^����'����_���:��-��;<%��C��<5!� ��0��:9"

�c���d�/�!�4/����!�y���F������, '�!#���#�C�

�"�<)�#�/�����.�"��<.������L�-��*���*��%���#��<L���C�-��%�#�<L�%�$������%���#��<L���<����:�HG�,���^� !�"� �������

�������� !�"����/�"������������ ���_���:��-��;<%��3����*�+����<"��#��,)���C����:��(������#����+��O�������=!�:@

��:�����+���#�*��?������3�!���"��4)������.�,e'M)�����-������[��#��)���C�

��3*��

��#�!��������'9)�]���C�H��%�c���d�/�%#��)��b!��"����#�M!�'���:�HG�,��#��������"���!1��!�����)��)�����%�����"��K)�E���

�$��-��;<%���"�#�#���,����������� �����"4+����"��+�$���!�����)����������3��!��H��%�����#�Z)������:!�)��<G#H"����E��

�+� ^�����"� �K�G� _��<E� ���+^�����"� ���� _��:��-��;<%�� C� !�"�H��%�-$�!��(�����E���"� #�Z)�,�������.�"��<.���,�[�#�

���������� ����.�"�*�S?���� ����"�,�:='���-��"�^�.�Q!��#�&���_���������L�����#���ML� ��O#��:�����o�#�C���G�

#�Z)��"��#����3*��������� !�"�-$�!��(���������� !�"�����!��Q4!��� ��.����L�������C�

��5��3*��

�<)�#�/� �"��'�� �� :���)��'��d)�!� :!�)� (�� �:�HG�,����3*��%��O��;<)�C���������� !�"� �"� ��� �#����)H�!�5)�

� ���)����#�M"�����)�-$����'.����������<&�" 4�����t��:���A��B����B"�$��!�3�K:�#���#��^.#����"C�_��5��3*�

:��.#�!�����)��������� !�"�����%���H��%�,��<&�"�C�:!�)��)���%�����"��K)�s�%��"�01�#�Z)���-#�"����3*��)��'.�

�$���!���4+����+�����+�:��-��;<%���&��H�������Z)����"��CAB&)��<)�#�/����"��#��#�Z)��G����.��<��G��b!�#���!�K:�����:5!�

��#�!���������:�&�"�#�Z)������.��/� 4�������%���<����9����#�Z)��:�&�"C�

��<)�#�/�#�Z)��"��������� !�"�H��%��G���5��3*�3��!���"���0�������+���'�����::���)�����#���#����ML�0��"#�����%�"�

��4�!C������ �=!�:@���:�&�"� �"���'��]��� ��"� ����B!� #���� �%�"� H��%��^� �F<�T�9�� �<&�"� _� :���Qy� �#��������� !�"� #��C

��B.�� �����(:���)���?���������:���������#��C�$���!�����)��'.������v�.� ������<���������#����"�.�^��5:���:!�)

������������ !�"����:<4���/�_����QL��'.��"�C�����#�a{���������K!�K@�-#�"�#����������(����L�*�+������C�

��

��<5!7�����"��#��#�Z)�(:���)���?����5��3*����#���� 4���(�E�$���<'�����"��K)�:@���!1�������K"��b!#���C���F:&�/

�)��� 4�������%����T��,����"�,)��!��<!��'.��5�#�M"�:���������#��M���.�!�����)��/������]���-��L[����/�O#��"��#�����

����C��G����.�"�H�)1��9������-�ZT�"�#�M"�!�����)����<!��:����/�x�<4G����B"��C�]�������<����)���(<4�%��<E�-��9"

��.��)��5&)�#�@��.�Q!����)� 4�����#����t�C�

�<5!�7��K���X�M)� ��G�"���:������,)�������?����"�����<��G�(�'���� ����#��������� !�"�:@�����.�"��<.������

�#���(<4�%C�����#�����'<E��(��$�"��::��.#� 4���(�E�$���<'�����"�K)�:@����:!��<"����:��,��9���#����#��F!1�H��%��G�

�)��� 4������.��/�^::����/�x�<4G�(��"��'���G��_C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 123: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

-��*�#0%�"��

� ������� #���3*��T��� H��%�� �� :���)�AB&)� �#��������� !�"���5��3*� :���)�AB&)��� !�"� H��%� �:�&�"� �

��.�"�!�����)�#Z@��������-��*�#0%�"��|:5�)�AB&)�:�&�"�#�Z)��"�0�%#�����<��%��@��"��(�E��d��H�����/

�:�C�:@�-$�!���"������#�"����#��:���)�AB&)�����:���)�,��9���#�#�Z)� ���'.�^�X4E�"4+����+����+�����+�_�����"

.�"��<.���(�E�d��H��� C�:�� ��/�d��H��� -$�!��01��"�������9����������L��)���� �#��?#��#�Z)� ���!�����)�,�:='�

�:��AB&)C���)�(�E�d��H����������� !�"���9��H��%�$���?#��-$�!���"��������� !�"������#�"�������:�HG�,����"���C�#�

��"��������� !�"�������G��O#��:��a�+��-��*�#0%�"d��H�������#�"�,�T�����:��#����"�$�o1�?#���4�"�����/�(�E

-$�!���"�:���)l�+C�a�-$�!��9"��9�����"����)�d��H���a}~~��L1��T��#�M:�'�����.��)�C

�0�0���

��:�HG�0�0�����:��,��9���������)�-$����!��-.�U�����F!1�������F�S)�����B&)���F��������'�)�#��U������Qy�

���.�-��L[�C�����&!�,��9���:�HG�,����G�����������-$�!���"�01�H��%��������� ��#���#�U�����l��-���������H��%�?#��

�:���)�-��L[��%�C��?���������� !�"������-.�AB&)�����<)�#�/�O�F��#��4"�$��%�#����#�C�

�<5!�7���F����������.��)���?�������:��-��L[��#���#������!1�#����?��-������F������������#��$��O��;<)����#�� ��#���#��C�3��!�

���-������F������"��#�$�����G���R��"��'��,������0�#�1��%"����"��60�,<�#�D�"�R��"�,�:='������.��)� 4���#��

��:'���?�#���.��)��B%� 4�����ML�O#�C�

�0����*a��

�>�E��"���%�4E����$�%�X��)�X�����:!�)���#��)��"��:�HG�,��l�:���)�#����C�����<�������������:���)�X�!��#�

h�QM��������� ���������� !�"�*M%�#���#��#�)�,����!�����)��)����:���)�6�B<!���#�c���d�/��^�9"����#�M!�'������:�"��)

�0�<%�*M%�#���<E���_�

-0#�����"���

��:��-��;<%����9��#��%��"��������� !�"���F�����$�����'�)� ��0��H������"��:�HG�,���$���!�����)�C�$���<'4����"��F�����,��

�$��-��;<%���"��%#��O#��"����:.�"��������� !�"�7) ���$�) (:.�"�-.����C�����'9)�#�M"�$�7)����$�) (�

a�h�QM��

��Case sensitivity

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 124: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�#�<%���)�����:���)�-��;<%��#���,������"�#*��*.���+��*��:�HG��"�-0#�����"�$���<&�"��"��%�<%����H)�

qlmmm�!#����#�������7)����$�) (��"�a��%����S)������C�

� �G�$�-0# �����"� �'4�� �#� ����� 0�5)� O������ ��"� �:�� -��;<%��!#���#1�:�� �/�� C�� �K����4�T� ��F<'4

�<)�#�/�#*��*.���+��*�����4)�0�'���"��#��������� !�"��=!�:@���:!�����)��:�����+��!��-.�����!1�$�������

!�&!��<��G��b!�#�C�

%��".+�"������0�80--��

(����x$�)1����)Z)�O#��"��#��:�HG�,����K!�K@�CCC�#���#�)�,���*�+�������;G���"�6�L�#��4"��%���5&)����)Z)�*M%�C

�(�:���)���[��%��v�"�)�0���"�����H�@�$����<B)�w�.� ����:��#�CCCC�

�Q�����#�M!�'���3�F;)��.�-����*�+�����KT�����Q�������B4!�#���9����#�M"�����������#�!�����C�3�F;)�0�����"

���5T�)��.��������C��5T�)�#����"�,5')�����"��#��)�$���5��01��"�����%���H�@����"�d�/�����5T�)�-���!$��:��G��)

C�AB.�����%���<�9��)�,����AB.�8j%����%��W�.� �� T�)�+�AB.��"��<4"�������%���e�.� T�)����%��C������

��%���<4"����������K������.���"����:���)��������#�����.���K�������$�9"C�$��)�$��-�=�/�-���!$� ��R��"���.��)��C�

���.��)�-��;<%�����G��)�#������������ !�"�#������<�����5T�)�-���!$�����#����"�����,���^AS.�W�.��#��.+a�W�.��

�AB.+#��.+l�C_�����,�����������L�#�����5T�)�����-���!$�O#�?�,����"��:���)���9���#��:�"��)���:����9����o���!1

:���'!�#��������!$���:�C�!�.��)��%�#��R��"��F!1��5!1���T"��:���#�����5T�)�����-���!$�,��$���:��0�:�'���,)��"r�

�#���%0#�"1��

-��S)�$��N#�L��F�������(<4�%�U"�:)��"��%�<%���"��"#�����+���<�:)����D� ��0�������+�����"���%��������,�����

�������!�.��)�-��;<%��C)�0��:9"���Q'%�� ���%��,5')�����\,�*��#����%�<%���5Q.���F������"����J����O#�?�,���#�

��:�HG���"��%��01�$���&B"���Q'%������������� !�"�����:��AB&)���"�#���%0#�"1�.�"��<.����#�C�

��%����9����o�c���d�/�#�M"��:�HG�,����<�:)����D���"'<E��:�HG�,���0������9��$���Q�����#��#����@�3��!����������!�"�

�#���C�

�������� !�"� ���������

�(�$�4"��#�0�)��L��b!��#�)��������� !�"����(�<4��-��)1��'4��,���#�C����"��)��:���)�������#�01�������,���/��'4��#�

���4)�#����"��'.�����%���e�.�,�:@�$���5���������� !�"�����.�"��<.���������)1#����������� !�"� ��,<.������"���L

�:�7�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 125: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

CREATE DATABASE Accounting

ON

(NAME = ‘Accounting’,

FILENAME = ‘c:\Program Files\Microsoft SQL Server\

MSSQL.a\mssql\data\AccountingData.mdf’,

SIZE = am,

MAXSIZE = �m,

FILEGROWTH = �)

LOG ON

(NAME = ‘AccountingLog’,

FILENAME = ‘c:\Program Files\Microsoft SQL Server\

MSSQL.a\mssql\data\AccountingLog.ldf’,

SIZE = �MB,

MAXSIZE = l�MB,

FILEGROWTH = �MB)

GO

��t9"�����%���"�L�0�)$�0�:��� #�������;)�O����� $������������(���K"� ����#� :<4��s�<%�� #��C� $��7)���7�

����#�~�3�!��"��#�<%������-$����bST�,���#���)����(�����-��;<%���7)���7 (�(�:������#�C�0�#�1��%"����"�#�<%��,��

����B"��)��=!�:@�����#��)�#�5"��������� !�"�#�<L�%��#�)�#�����������L������.���!���������� !�"���L��#�)�#����������(

�(�#�1��%"�01C�:���)�(������#��"�L�O�����C�7)���7 (��#����<)�#�/� ����������� !�"�3�!�

EXEC sp_helpdb ‘Accounting�

����'�)����#�<%��,���.������L�-��'���"��'.����"��H�)����<!C�����s�%���"��������'�)�Q�����O��^���-�������_��#�)�#�

��"����L��������� !�"7�

�compatibility_����

level�status�created�dbid�owner�db_size

�name

�{m

Status=ONLINE, Updateability

=READ_WRITE,

UserAccess=

MULTI_USER,

Recovery=FULL,

Version=�{�,

Collation=

SQL_Latina_

General_CPa_

CI_AS, SQLSort-

Order=�l,

IsAutoCreate-

Statistics,

IsAutoUpdate-

Statistics,

IsFullText-

Enabled

May l��

lmm�

{

Sa

�a�}mm�MB Accounting

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 126: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�<5!�7�.�"�O��;<)�,)�����Z)��"��%��,5')��:���)�����#��������,���$��3���������"���������Z)C�#�Z)�����\)�0��:9".+�.�

�.�"�O��;<)��F!1�������X��������������� !�"���9��s�%��"��%��,5')�C���F)��/�������3�K:��#��#��%������:�HG��"��<4"�

���"�:���L�O��;<)����-������� ���������� !�"�������0�)$�#�����������:�HG�,�:='������������ !�"������C�

���?��L�����:����� ()�����������H��%����������� !�"�H��%�k�'�)������"����L�C�

�O�'�b:������9��H��%��)�.���:5�)�AB&)�:���)��������#��������� !�"�����;�<B)���F�����O��B&)�3������<!����'�)

��"����L��F!1�.#C�

�usage�growth�maxsize�size�filegroup�Filename Fileid name

data

only

���� KB

����� KB

����� KB

PRIMARY

�C:\Program Files\ Microsoft SQL

Server\mssql\

data\

AccountingData

.mdf

�Accounting

log

only

����

KB

����

KB

����

KB

NULL

�C:\Program

Files\

Microsoft SQL

Server\mssql\

data\

AccountingLog

.ldf

��AccountingLog

�������L�.#�$��!��#�)�-$�!���"� ���)����#�M"��������� !�"�����������+���#���-������������������#�����'.��5:���$��9"C�

�#*��*��+�*��

��%���������� !�"�������:!�)����������$���'4��,�T���YL����#���"����"�a�6�L�#��4"�2������)�AB&)��#��H�@��@�

���(�$�!���)����K!�01��"�-#�"�7�CREATE <object type> <object name>

(�:��AB&)��#���<&�"�O��PH�(�!�����)���(�:���������#���� ��(����L��)�����<���,���"�:"�7��

CREATE TABLE Customers�

� �"�#*��*.���+��*�%��"��������� !�"� ����������� �'��� �%� �"�(�<4!�����)���������� !�"�s�� ���

�(�:�������� C� �"�,�������K�'��� ���-����k��!�� �� �F!�<%��5.��"�O��B&)��t9"� ���(�#���$��!�,���"�:"�(�#�!��T)�]������

�:��i��9���#�f��B)C�

(�:���%#�"��#��<�����9%���#�<L�%��"�����-$��7�

�CREATE TABLE [database_name.[owner].]table_name

(<column name> <data type>

[[DEFAULT <constant expression>]

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 127: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

|[IDENTITY [(seed, increment) [NOT FOR REPLICATION]]]]

[ROWGUIDCOL]

[COLLATE <collation name>]

[NULL|NOT NULL]

[<column constraints>]

|[column_name AS computed_column_expression]

|[<table_constraint>]

[,...n]

)

[ON {<filegroup>|DEFAULT}]

[TEXTIMAGE_ON {<filegroup>|DEFAULT}]

:<4��O��?��L�$���'����9���F:���C��"�����-$����Q��:!�)���(���5!���[��#��F!1��G��%����B"����!#����������F<'4��$�:��

�(�:���)�k��.�3���YL��"���(�$�:�"����K!�01���F<'4��^�Q���)�(���-�����%#�"��#�����YL�C_�

0�<%�����3�!�a�

��#�,)���Z<!��,�T����%��,5')�����#���#�VK)�!�-#�"#�l��.�"��<.������B"��C������"����B!��#�"�,��L1�,������(����)����

�(:���)���Z<!��-#�"�,���#��,)C�

���.��)���'����������� !�"����.��3�'���"�����%���������0�'���)���#����"��F!�<%��������#�VK)�!������C�O�:<4)

����������:9"��#��F!1��0������%�:.����"������l����������F<!��#��#��F!1����:<4��������0�'���F!1�����:���)����9)

�(���"�3�!�C��)���,�!����,����:<4��-��%��C�-#�"#��(�:���%#�"�(����L��)���:���#�������#�)��K!�K@)�!�#�VK���.W���%�J�

����(�:��AB&)� �#��������5:����!���������)�!��#�VK)�!��K!�K@��5�"�:���#� �����Q�� �#����F���#� �F!�<%������

:.�"�p#���"������;)��5�#�M"�����(����L�*�+��C�

!#��������������� !�"����.���#�VK)�!����"�����$�i�<B)�����#�!�<%�J��F!�<%�������#�)�#��-g���#�M"�C�#��4"�,)�����

:<4��-��%C�

� ��'���������"��4��:"� @���>��E��"��#���Z"��n#H"�>��E��"��#�>�E�,�T���3�!C

� �����-$�!���"��)��-������#�3�!����:��6�B<!���;�?��C

� ��:����S)��#��F;;B)�$��-��;<%�C��'�����%�"�-.�6�B<!��i;B)�����%����Q���"����F;;B)�$��-��;<%���!�)$��F:�

�.�"�(F���"��C��F;;B)�$�����FT�\)��)�.�(:���)�-��;<%��,)�������.������%�:.����"�q����0�����������"�~� �� ��0����0�)$�%�0����AB&)����"�a� :<4�� C����� ��"� .�"�X%�:)� 3�!������5:������"�O��������G

�.�"��<.���,�[�#���#��#�)�,��<'F)���,�T����)����(��Q"�#�5"��F;;B)�$��-��;<%��#����<&�"�73�!�w�+���"�B<!��

��Column ��#����'��� � ����� ��identifiers ��Number

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 128: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

� ��:���)��������K�������s�%��"��#��T�������<���^�!�.��)��<L�:.�YQ��)�����!��/�����3�!��"�X�o����

�_��:����[������3�!�#���#�T�)�����3�!���"��'.�C��������� !�"� ��������K"��b!�#������\)�0��:9"

��� -#�<%� $�� �#��4"� �5�#�M"� �#��� (���!�.� ����� �F'���� $�� �#��4"� #�� :!���� �)�� C���� �� �'.� �=!�:@

������� ��� ���������3�:"� �T�� $�� -��;<%�� �"� �#� �F!1� ����B"� �%�� ,5')� �� �.�"� �<.���

�����������:��YQ��)�(���"�C

� ��:5!�-��;<%�����-::���]���$�����.�"��<.���3�!�#���'�������<���^�"��#�O�'����Q"�#�5"�(�_J��������>�E�

�%����Q���'���$���'���,���������0�&!�����4��:"�n#H"�>��E��"��#��'��C�

�*�+����#�VK)�!��P�4)�-#�"#��::���)�#����������� !�"������������"��#�3��L���F\S"�3�'������)�(!�����'!�,)

(���C�$���#��4"�����:�Q"��%��,5')�����\)�0��:9"��)��� ���"���"��#�O�'�����:<4��Z<9)������� ���$���

^� _� ���� �� (�� $�� C�)��� ,��� $�� -��;<%�� #�� �<E�#�d���� ��T"� 2� (��� �'!� 3��!�� �##�5:��� ,)� ��@� C��)��

� ���$�����.��)���K���O�5&)�$��"�R��"�7�

� �`���� ������ $���#��4"����"��5:������� ���$���5:�����T"��L��%����"�����Q%�:)���F�S)�#�� �#�

��%���5&)�:��#�����#�Q�����#��.��)�`����#������$������ML��"���:)�,����C

� ��%�� -.� -�&�� YL� 0�<%� ��� ��� 3�!� ��$� ��� �#��� ���� �9���)� O�:<4)� #�� �� �5:��� 3��

C� ���$����!�&!�-����#���YL���$�0�<)�#���%��,5')��!����"��<4"��'G#��%��"���:)�#���,�����

��.��)�����$�����MLC

� �(���L1�#��^�%�����G��!�F"� �����_��.��)�`����0.��<&�"�R��"

�<5!� 7�$�o1� �"����������}m���(��$���T�L���t�� ���"� �#�O�'���(�<4!�����)�����.��������:�HG� ��

�(�:�C�����#���#�,)�������Z<!����=!�:@ ��������"���4�!��:�HG� ��,���������������L�#���.�"��<.�� ���5�"�

��.��)�����$�����ML�$��"�R��"���%���%#��!�-��.�C���!�,4E���#���!��-�������+����!1�����!�4��(!����)�,)

!��-.��������� !�"����!��#������$�����%�#��R��"��)��!��-��"C�

�Q��Z���4�T�,������$���#���#�)���%���<L�:�!�(�C�,�:='��4�T�,���,)�����%��������$�� @����B4!� ��YZ��

�(:���)�-��;<%���F!1�$�������#�VK)�!����"�::���)��;E����%�#��$���#��4"��"��"�#����)����3�'F���C��F!1�3#���)�

:.�"��<.����#���"#���,�'��H�!��'.����"C�

�<5!� 7K:��'����K:��'�����K:��'��,)�����%������'���,���(��G��)�(%����"�(:���)�8�#���������������

�,����(:���)�#��5����#�"����#�"��e4)��4�!�(F)��#�VK)�!�-$�!���"���]���#���C�,������:���)�6�B<!���#�-���� ���G�

���.��)��'.��#�!�<%��-����:���#�!�<%���#��#��)��'����"��C�K"�(�'����G��-��;<%���F;;B)�$�����D���"��:"������

��:��-��;<%���F;;B)�$�����'����"��:��^�O#�?�0�'���"�C�_,<��G��b!�#��0�"�3��!���#����@��#�VK)�!����"���5:���

��:����'����������� !�"�������"� ��!1��K:��'�����"������)���� ���#�!�<%�� $��:<4)� ��������K"��b!�#��

�::���)�-��;<%���#��'.������0�'��(��0�G:����9%�����K����������)�0�:�'����'.��"�����#����FQT���C�$��#���,��

��Organization

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 129: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��������� !�"���#�:���L��)������.��)�����������#���������?�R��"��:���)����G���O���Q<.��$���#��4"

::��#����'.C�

���-����k��!���

#���<&�"��#��)��#�!�����k�+�)�,����"�U������#�����-����k��!��l�-.�-����*�+����C�k�!�0�<%�3�!�$��9"���?���"���"��'.

�:��AB&)���!1J��#�!������+���d�/�-����k�!�]���C�

.*-������

�����(����L��%#�"�������"�v�"�)�����#����;)�#�M"��#�k�+�)�,���C!�"��4�����0�:����)���<�������%���#�Z)�,�������

��.��)�-��;<%��01�$����.��'!�AB&)��"#������%�"��#�Z)�f�L�0�<%� �����"��T����.��)����+����M%�C�$������L��)��G�

��:��-��;<%��c���d�/�#�Z)C���"�-����k�!�$��8/���?���"���"C�

�.*����1��

����%�:.�#�Z)� ��3�F;)a��� !�"��E����#��%��(F)�#��4"������C��E�����"�v�"�)������#�����%�:.���F!�<%�$��-��;<%�

.����L�-����*�+���C��:���)����������%�:.�k�!�$��0�<%� ������<���2�4�@����%�:.�0�<%� ���)������������"�

)��Q4!�0�<%�,����"�����X����� ���:���)����+����#��#����#�"����#�� ���)����#��������C�����������������

���T���#�Z)�:���)�x#�'.��"�k��.�01�$�l�#�Z)�"����)�d�������d��H����M%����#��#�Z)�01�����#�Z)�����.��)�-�)�!�

�.#q���T���#�Z)�c���d�/�#����"���.��)�-�)�!�a�(��.#�#�Z)���a���"����L��CE�c���d�/�#�Z)�,����F�E�����<&�"�#���;

���.��)�C���T���#�Z)��!�����)�����\)�#����"q�.#�#�Z)������.�"��<.����#��C�$��x#�'.�O#�?�,���#�q�#�"������-.�k��.���

�O#�?��"������.��)����+��01��"�E��lq�aq����CCC���.��)�C�

��.�"������"����%�:.�0�<%� ��Q��Z���*�S?�-����k�!��"��&�'��^� ��_���(��� ����.��)��$�%�-���/��C�

������'�������4��������%��-��%�#��4"�01�-��;<%���#�)�.*����1��4��:"�0�<%�-����k�!�$��9"����%�#��'%�#���#��C� �

�.�"��M"�#�#��c���d�/�����"�!�����'!����%�:.��:�HG�C��'F������L��#�01���T���:���5��01��"��G�#�Z)� ���K!�K@���)�

�2�����d�������d��H����#�01�#�"�����'.��5�#����"�.�"��"�y�!����

��<5!�7��%���Q��������%�:.�0�<%�����4�!�,���$����"��H�@�C���T���#�Z)� ���'.��<���������:9)�,����"�^�k��.��MZ!�_�#�Z)��

�:���)���/�d��H���YZ���'.�#�Z)��������,��9���#�.#�^)��G�����:���)���/�d����.�"��;:)�.#�#�Z�C_��5���)����3H�!�5)

�:���/�.�"�-����p�/��%��,5')�����#������M%�-#�'.������G�"�XZ���"�����#�!�����C��T�L�����t���������L��)��'.��G�

��identity ��seed ��increment

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 130: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�$������.�������L�N��<E�����:���/��#�01�:!�)�*��.*����1)���*#�0�"��:��-��;<%�������)�-$����5�#�����^

�0������9����o����0������9����"�����:���)���9��0����L��b!��#�)�����Z)�0�������+�����"��#��:�HG�,���������:9)�,����"�

���.� ���)��������Z)�������0.���9����o�R��"�_�:���)���9����o���9�����������"��#����%�:.��%��/�C�#�?�#���:�HG�,�������

�R��"� !�����)�::�� -��;<%�� �����)�3��!�� �#� #���,��� �'.�����<���(<4�%� $�� !#����9%�$�:��������� �5:��� ��� �.�Q!�X���)

��.�"�X���)�#��4"�,���"�:"�����.�n#H"�����ML�C�

#����"��M%�����%�:.����"�����%����#�Z)� ���T������%�:.�0�<%� ��-��;<%��,�������#���#��)�������O#�?�,����"�

�)�'�� ���%�:.� ��F!�<%�� !�.� �)� -��;<%�� ��� �� ���"� ��?�� ���� �� ������ ���"�� C�0�<%� ��� �.�"� �<.��� ,�[� #�

�.*����1���!#���#14*1�:<4������!�G��(���;)��0�<%� ��,<.������O#�?�,����"��.*����1�,����"�

��%�<5��01�#�Z)�����4�!��:9)^��)�����:��k��.�����$���#�x#�'.���������� ���#���T���#�Z)��!�����)��'.�����\)�0��:���"�

�.�"�(����Q��������)�.�!����C�_�����Z)�.*����1D�'9)���0�<%�0��:���"�!#���#14*1���!�.��)��<��G��b!�#��

�'<E��)�����.�-��;<%���!�K:�����Q!��C�

� �<5!� 7�Q�� �=!�:@�� $���$$���� 0�<%� �� ��� �:�� ���� ��"� �.�"� -���� -��;<%���.*����1�0�<%� �� :!�)�

�������(����%���C�#����<&�"���<:������4:����F!1���?��O��;������������.�������L��C�

�0�-0##*!������0�����%��#��.��#��4"��'4��,���#���#�)�,���*�+���C�9��,���"�:"��M)�,���$�����\5���"�v�"�)������"����(�#VG��)�Xa�(�%�"�C�

��<5!�7����#�Z)� ���)����#�M"�01��������%������%��/���\5�����?�L�#����"�#���'.��������� !�"�#�����)�O�������'�

���.��)��j���K����������� !�"�C-�#����(<4�%�0�'����#��5�H���#�M"��%��,5')��K����������� !�"�#���l.�"�C�

��<)�#�/�0�-0##*!������0����.��&<:)��K����������� !�"�#���<������:���)�AB&)��^���\5��h����$��_���1

���.��;E���9������Z)��5:��������.����������������� !�"�#�����%�:.���#�Z)� ��C��QS?��9"������#���#�)�,���#�

�����(����L�C�

#0%���.�0�����%�����%�:.�0�<%� ����Q.�O�F��#��4"�$�����%���<4"�����\5���"�(���:�HG�,���C�!�����)����%�:.�0�<%� �����(���

�:��(��������)��M%�������"��<5��#�Z)� ���5:���$��0�:�'������"��#�-��%����#�C�0�<%�����%�:.�0��:���"�!�����)�,�:='�

���#�#����"�C�)�,����<QT���9�$�����FM�S)�����\5��#������"�!�����)��#q.�"���V/��ML��E�-�#� ��C�

��:���5��01��"�U�#��Z���� ��-#�'.�$�����G���R��"��H�@��@���:���)��������#��&��H���-!#�'.� ��0�<%� ������!�)$�

����:���5���#�)�,����"�0�:���2��.��)��K����������� !�"� ��#���#��5��Q����������M%�����Z)��'������L��)���#��

��Replication ��Remote ��disfributed

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 131: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����#������������ !�"� ��#���#�!��"�����!�G������������F5!�"������r�����#������F!�<%�#���#��5������Z)��'.�0�:��

�Q��!�����)�AB&)��#��M%�����<5��#�M"�C�

�������T�������Z)�0����#�������#��E�-�#����FT�%����$������������� !�"�������"��!�G��^#����_�������)���\5��01C�0��:���"

��������� !�"��%��,5')���\)�.�"��<.����#���$���#�x#�'.����a��������� !�"�+$��ammmm��������� !�"���$��lmmmm�

::��$�o1C:���&<:)��������� !�"� ��#���#��F!���E�#����L�"��!�����)�0�:����C��������� !�"�����<����$���<&�"�{{{{��#��#�

��.��)����)�n#H"���ML� ���"�.�"��<.��C�

��"��#�����Z)���@�������K"��%��,5')��<QT�ammmmm�����mmmmm�,����"����.�"��<.������$��#��#��9���"��T����=!�:@�2�(�:5!���

����<L�!����L����"��#��ML��"��F��)�#��������%��:���#0%���.�0���.��)��#����r�

#0%���.�0�D�'9)� ��� ��ST� ,��� $�� �F!1� 2�4�@���0�<%� ��Q.� ��#� �)� #�5"� �<5�� #��� �"� �M%� ������%�:.����"�

�:<4�����%�:.�C�9����-.�-��;<%��#�Z)���.�,e'M)����:���)�>�?��#��!�)$��@�(<4�%�����%��,����F!1�,�"�O��;���%��<5���

� C� �� ���� -!#�'.� �� $�� -��;<%�� ���"��� ������� �� 0��:9"� ��� �H�@� $�����.� ������(���� � �9��

� � ��'����:���)�-��;<%����.��)��<L�:.��CD�'9)����%�:.�#�Z)� ����4�!��<5��0�5)�#���)���%���<5��0�)$�#���C��#�,���$�

�(�!�����)l �����(�:�������#���� ��$���j���(�����Q4!��������"��"��"����%�:.�#�Z)��C��)��b!��"�6�L��<"��#���#�)�,��

�(�:���)��#�L�"��G#H"��5&)��"�(�:����\5����� ��#��(���"��#�����������b%����(�:���9%��)�����<����)��%#�C� �

���.��%�<5��0�5)�#��(��0�)$�#��(��C�

��<5!� 7�$�� -��;<%��-$��)����."� �����%��-.����#� #��4C���<4�#��G�� ����\)�0��:���"a��#� �F!1� $������$���9�� ��:��-�K!� �#�

��������L�C� ����.�#�Z)� ��al���%���<�"��������5.��"����+��#�3���#��q���#����;?��C� ����!�y����,)��G�

���.�����L��e����%��F!����)�H��%�,���#���#�e��#�M"���(:���T�����.��������#��5��#�Z)� ������&C�

��<5!�7���.!�.��)�������O������X�����$��-��;<%���"����J�0�5)���0�)$�#�����!��-.��E��������!�G��"��F!1�$��3������

�:.�"���;"���S:)�C�%����;"���S:)�0�5)��0�)$�#�������.��)��T���#�Z)� �����:���)�X������#��F!������<����

� U"��� ��0�� �� �T�'9)� �4��!� �)�!�"� #�� ��� �#��� ���� $�:��� #����.��:�HG� ���"� �)�� �� :�� �)� ������ �#�

#0%���.�0����0�<%� ��#������ ��,<��G����"�-g���U"��� �����.�U"���,���3�!��#����*%�.:;����%��

��.��!��L�����!�)$����!�����)C�

�0����*���

�:�HG�,�����5�'���'4��#���#*��*.���+��*��%��F!1�$��-��;<%��-$�E�#���F!1�O��;������%��-�.�-����*�+����^

(�:���)�i��9��0�<%#���������� !�"����"���!1���:���#��_�

��Registery

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 132: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

����6�0��������

�)����#�)�,�����%��-��%������Z)�!�����)���1����:���)�AB&)��#�0�<%���9+�������-��;<%���#�:��C��<��"�,�T������

�#�"�������������"����G����c���d�/�#�M"����:���)�X�!�������:�HG�0�<%����"����:5!�AB&)��#����V/��0�

�������.��)��<��G��b!�#���C���� ����!1�#�<�#��c���d�/�,����F!1����%�"��!�����)����:<4������;<)������$�#��4"�O�'�b:�

���C��\)�0��:9"�-.�-��L[����#����%�"�#�Z)� ��(�b:�����7) ($�7������������:�HG�(�b:����������,���!�����)�

������ ���#�#�Z)C�

��<5!7�<E��?�(:���)���?�����:�HG�������:����[��:���)�����������T��0�<%�������"��#�C�Q�����#�M!�'��2��@��*�+���

����;<)������$�O�'�b:���3�������"������"�����;<)�����c���d�/�:!�����)����!#����������:.�"��<.���0�<%� ����V/��C

�:���'!�#����<%#"��'.���F<j��5%����)�$��9"�����������L����:����5�����c���d�/�,����"��G��^�����������'.��5:�����T"

F!1��)�����y����5:���0�"��#��<4"���O�'�b:���K��:����)���� ��:!�"��#��_C�

0�<%� ��������

��)�(�$���/��'!�k�+�)�,����"����$���:���#��,���"�:"������(����L�*�+���������"�U�#��)������� �C�����%���"�L�0�)$�0�:����)�

�(�:���%#�"�:<4���@��F!�<%����������#����%�,���-#�"���C��::����S)�������F!1��?�L�#�M"���#��#��F!1��'.����:<4���

�����)�#����!�.�0�<%�01��#��:!�����)���������-����"��M"�#�#��0�<%� �C�

�-����k�!�����%��,5')����.�"��<.�����%�$��-�)� ��0����-��L[����"��!�<%��G������\)�0��:9"�� �� ��6�B<!��01����"��#�

��.�"�-���C�$�����G���R��"�#���,����)�����0�����#���~��.��'!�0�<%�01�#���C��5:�����T"�~��4�!��"�L�-�����)����"��^�-�)

�~�(�#�!��_�,�"���"����,���01�s�%��"����(�:��i��9���#������%��,5')a����al.�"��C�*�+���9"�����#���#�#���,���3��!�

(�����)C�

���Q%�S)���F!�<%�

�'.�.�"��<.����!�<%��!�����).�"��<.�!�x��L����"����-���������C<%�$���#�x#�Z)��)����G��)�����K�����F!�C��G��-#�"#�

�0�)$�#�� �#�#�5:����<4!�����)��5:�����T"�%�"��b!��"�X���� �<"��#���%��,5')���:���5��01������#���)�� ������3��!��

��%��:)��%�����)�!�"�$���#��4"����"�,�����9���C�

��:���)�#���#�<����#�?�(<4�%���#�����:��c�������\)�0��:9"�C��"��(<�1� ��$����9���@��5:���-#�"#���#���������(����L��)

(����<L�����<'����@�C�O��;<)�O����������K�����F!�<%��"�::��-��L[��#�O������,�������#����F!�<%�����%��,���-�#� ��^

�E�������'���_��#�(�:�����+��::���)�-��L[�C�(���"����/�#�Z)���k�'�)��<�������.��)� 4�����t��>�����"���:)�#���,��

�::���)������� �#������%�#��.�Q!��:��'��C��"����Q%�S)�0�<%����"� �#�0�)�b!��#�)�#�Z)�(�!�����)������Q%�S)���F!�<%��"

�(�:��6�4E��'���#����9��6�+C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 133: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

����-$��(�:���%#�"���!1�-g���#�<L�%��7�

�<column name> AS <computed column expression>

�#���O��;�� �'�� ���� (<�1—� ����)� #�5"� ����Z)� 0����AB&)����"� ��� (�����,�9)��)�!� 0�<%����"."�#�Z)� �� #���,��� �

�������'���$��9"������#�Q��s�%��"��#����Q%�S)��4!�0�<%��"��#��1��)�(�����)��QC�

�:.�"����0�'����F!�<%�����Z)���������01�#�����.�"���'9)�O#�Q�����!�����)����Q%�S)�O#�Q��C�#���)���\)�#�����#�,���$�

(�:��i��9����$�O#��"��#�0�<%�(�!�����)��'�������9��-#�"7�ExtendedPrice AS Price * Quantity

$��-��;<%��-#�"#����\)�0��:9"��&�'������:��c������ ��lm�(�:���)����+��0�'�D����'����"��#���T����'���?#���C�(�!�����)

�0�<%����"����Q%�S)�0�<%� ��$��8j%���(�.�"��<.���0�<%� ��#���#���T����'������7��$���(�:��-��;<%��C�ListPrice AS Cost * a}l

����O�5!�,�"�,���#���)��2�!��%��0�%1����L�#������������-��Q�7�

� ���$�$���!�����'!�����:���"��K������$��:!�����'!�����Z)�,�:='�����:��-��;<%����C

� �$��d�/���������lmmm���������$���<'4��0��:9"��#����Q%�S)�0�<%� ���<4!�����'!����^���?�

��<5������#�L���_�.�"�c���d�/���� ����C0�:���#�����������lmm�����Q%�S)�0�<%� ���!�����)�

��:��-��;<%�������#���#�^�0��:9"��#����Q%�S)�0�<%���"�#���,������"��'.7������� �:���#�VG�0�&!��_C

� ���"��<.VG������B4!������K����5&)^�#�������������lmmm.�>���"�_��F�L�.����������"��

��%�����Q%�S)���F!�<%���#C�����)�:�����������Q%�S)���F!�<%���#� �#����F�L�.��!� C��E��)�,��� #�� �)�

����3��!����"�����#����������-g���C��#������<����#�-�����#����Q%�S)���F!�<%�#����������� ��,���$��3�����

�����#�������#���#��F�L�.��{(�:���)��%#�"�(�����*�+���C�

��"��M"�#�#���#����FT�\)�����(����L��%#�"�����,�'���)����#�����Q%�S)���F!�<%�$��-��;<%�C�

��<5!�7(<4��-�$��;K.�3��-�:&!����Q%�S)���F!�<%�$��-��;<%��-#�"#������$���F\S"��5:���$��,)�C��)���-�����$�%���)�!�����

�F!�<%� �K��� $�� ��!1� ��&"� ��� (�.�"� �<.��� 0�'T�� #�� �!�<%� ��Q!� ��� :��G�#�1��%"�J�Z���� ,��� �����0�<%� ��i��9��

�%�����Q%�S)�r�

�����#��$�%���)�!��!�Q�9<)�O��5;�����(T�S.�L�,)�%���<.�VK!�����$���y����#�)�,�C���c���d�/�#�M"��'.�#�"����#���-���

�� ��:���'!� -��L[������Z)� �"� -)1��%"�����Z)�������K"��!�����'!��5:��4�!�hQM:)����/���$� �:<�'�Z<4)� �#� �F!1���h����$��

��%"����/� ����Z)���#��Q%�S)��)��#�1� C�#�� �� �.�"� -�����#�VG�AL�.� �#����Q%�S)�0�<%� ���G�� ����.�"� �<.������

��:���)�-��L[��#����-�����Z�ZE�^�<4��#���,����"�#�Q�)�AL�.����"�_C��0!��L����#���#���#���L�����H)�(��#���,���#�C�

�:e'M)��)�� ��(�:��YQ��)�-)1��%"�����-�����"� �#�H�@��'������4�!��.�#�,����6�L�#��4"� '�� ��U���)�$���#��4"�#��

�%�C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 134: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���������

�)�������������%��0�<%��������Q.��C�:���)���S)��#��!�.�����#���:!�����)�����#������-�����F!1�����:9)�,����"�C

#�)!�.��)���'������,�:@���#��F!1�����%��,�����.��)�O��;��R��"������C�

������0�����)����*M%�#�������$���T�\)��)���!��L�(����L�������"�v�"�)�����#���#��#��)�,����-#�"��-0#*���4*1�

�!#���#1������,�:='�����"*�4��"�3�!��#�C�

��<5!�7������6�L�#��4"�"*�4� ��#���!�����)�����#������-��������4�!��!�<%���� ��01���1�2�%���T����� ����@�

�%���#�)�������6���2:���)���<:�� �#!�.��#���AB&)�0�<%�C��b!�#���!�<%����01��.�"�0�<%� �����/��"��F:��01��G�

��.��)��<��G�C�����G��^���������#�M!�'��"*�4�!�����)��_:@��"��b!�#���T�������!1��!�����)��.�"��<4"���0�<%�,�

����K"C�

0����

�%��������� !�"��������"�����<�����'4��2�#��������"��#�(�:������������;<)��������F���G�(�!�����)����(�<;G���(�<.���#����

0������L��)����:���)�AB&)�-g���#�M"�����%����S)����i��9��#����.�U���������-��G�3���#�����C��!�����)

��'4��������L��)��#��)��<&�"�#���5�#�M!�'�������������#����f�L��5�H������%�� ����#��#�AB&)���� �0����#��#�

� ���G� ���L� #���� c��� d�/� ����� -��G� #�� ��� #��� ,��� �"�� �:�� ^�O#��"� �:�� ,��9�� �#� �H�@� �'.� �5:��� 0�"� ��

!#���#1��.��)��<��G��b!�#���C�_����(����L��%#�"����#����"�v�"�)�����#��U)��#�M"��#��#�)�,��C�

�*5�����*)0����

��'4���"�&)��?��#��(���:�HG�,��0��-��G� ��#���#����$��-g���#��4"��'4�� ���������)�-$����5:���$����o��"��%��

�:���Z<:)�O��;<)������C���:�HG�,����!�<%����i��9��#������%��$��)��<���YZ�^����F!�<%����_�k�!�$���<��� ��<�����

�������'4��$������<���(�.�"��<.����*5�����*)0����:���)�-��;<%���O������YZ��+�0+������-��G� ���"�

��)��Z<:)��!�G��.����'4��#�����������-��G����c���d�/������-��G��L��������Z"0��!�)��)����"������,��9��C�

��<5!�7����#��������.��)�R��"��!�G���5�H�����F54���#���F�����-��L[�8j%��������,�:@��"��������� !�"�0����(�4Z�

"���d��H���#��4"�C�����%���:9)�,����"������)�3��!���#�#���,��������<���60����G��)����%��������$���#��C��*�+���,����<Z��

���#����"�v�"�)��P�4)��:�)$�#�� �#���<&�"�O����������.�"��<.���,�[�#�� �)�� ���%��6�<��,���RS"�$��N#�L�k�+�)�60�

��#�1��%"C�

��� ��������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 135: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

����"�,���"�:"���(����3��!��(����L��)�����T�'������(�<4��#����0�:�����(�<��G����������-$�!���"��6�L�#��4"����������:@�

(�:�C�

��#�!�<%��#�<L�%���(�����k��.��#�dB"�,�������<���#*��*�(�����#��

�CREATE <object type> <object name>

�3�!��"���� ���������"�f�L�#�M"�8j%�����������(�����k��.��^���������� ��#�<%��$��YL�,�T��� ���Z�ZE�#�

�������L7_�CREATE TABLE Customers

������������(��������������.���F"�4E��Qy�#�b:)��"��������� !�"�#�������"��T��,�T��� �� C��"�v�"�)��P�4)

����(����L��%#�"�����,�:@�#���#��E����C�#�<%�����(�:���)�0�'�������� !�"�#�����,�:@��L�%��"�k��.�0�:����)�

�#*��*��+�*�(���K"������#�C�(�$�)1��)������L�%��"��M"�#�#���'4��,���#���#�����$�(���;)�C��"�#��'����9���)�

�(�:���)���S)�9"���F����C(�:�����������:@�����"�0�:��C�

�������YL�#��,)�#*��*�#�<%��$�����= ���(��� ���>�.�,e'M)�������3������<�������.��)������j��5%�

��� !�"�#�������G��)�������X%�:)�������C(�:�Q"��#�0�<%�,�:@�(�!�����)�01�$��9"�C�

�<5!� 7�#�<%���)�.���"��:���)��������������� !�"� ��#��(b:)�-��;<%�����"�������F<j��5%���'����� !�"�3�!�"�-��'��

�:.�"���������C��� !�"�#���#�����.���������)�0�:�'����'.��"�#���,����:���)�>VE�01�$�������� ��������������L��)��C����G

�(:���)������#��j��5%�� ���<4"�(&@�#�M"����O�����C��T��������%����9��0�:���(�����Q<.���������� !�"����(:�"��)

�-.�>VE�-��"�3�!�(��,)�-.�����������"����^�<�#�,�"�$��01�����-����_K����������"�-.�,�H�C���������"��!�����)

��������� !�"��"����K!��<"��������K"�::���)��#�#���,�����������:.�"��<.����C��#����"�)�!���#��4"�������!1�#��X�o�

��j��5%����������%�"�����������#*��*!��-����������X%�:)��!����#��)��:�Q"�C�

�USE Accounting

CREATE TABLE Customers

(

CustomerNo int IDENTITY NOT NULL,

CustomerName varchar(qm) NOT NULL,

Addressa varchar(qm) NOT NULL,

Addressl varchar(qm) NOT NULL,

City varchar(lm) NOT NULL,

State char(l) NOT NULL,

Zip varchar(am) NOT NULL,

Contact varchar(l�) NOT NULL,

Phone char(a�) NOT NULL,

FedIDNo varchar({) NOT NULL,

DateInSystem smalldatetime NOT NULL

)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 136: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�������%��-��%���� ��,������(����L��<�)�����!1��)����#���)�����%��O��;<)�(�#���#����%�01��"���9����#������T��C�

��4����Q���#�)��F!��-����k�!���0����F!�<%�3�'���5:����-.������������1����(�:�Q"�(����L��)�(������������#��������<��

�C��;<%��#�<%��,�:@�$��(�!�����)���#���,������"�Q�����%���'����%��� ��:!�)��F!1�,��<F"���.��)���(�:��-��6�<��,���#��

�-.�-#�.���F!1��"�7)���7��%���C��%��-��%�01�#�<L�%C�

�EXEC sp_help <object name>

�:�������#���$���(�������������!1��)�����T��O��B&)����"�7�EXEC sp_help Customers

�#�<%�*<�$�"���.��)�-��;<%��O��;<)�h��������C�%���<�#�#�5"�-.�-��L[����#� ����������"�D�"���"#��J����#�)�,���#��

��'<4�%�-.�-��L[����#� ��C�K����!�G��9"��#����"�����<���������*�+���(�����#���-.�-��L[���FT��#����<��&�/�����

(�����)C�

�<5!�7��!�����)���5�:5����ST�$���:���!��L�����01�3�!����%�"��#�-.�-��L[����#� ��^C�������'���$��-��;<%��0�"*<�$_�C�

�����<%��k�!����#��#�<%��,�T���0��:9"�-.�-��L[����#�����%��,5')��!�)$�YZ��#���,�������%��:����5&)a��.��!��L������C

�7)���7���������)�������.�U�������D�"�#������<����#�<%�� ���G���)������.���*�*�������01�$���Q���#�

:���'!��'��#�<%��,����:��C�$��0��5!�-��;<%�*<�$��#���#���,���$����"�����.��)��:�"�d�/��"�����o����#�<�#��"���:)

���C�

�!�.��)��������K���$��8/��5�����<!����'�)�,�:@�����:�"��)����:�������#�#�<%��C�������'�)��)�.��<&G�"�O��

����"������<!7�

� ����k�!����KT�������3�!�^�"#������"�(<4�%�_�L�%���#����

� ������-����k��!�����F!�<%�3�!����(b!���H��%������V/�

� ����%�:.�0�<%�^�����O#�?�#��_.#�#�Z)�����T���#�Z)��)�.

� #�����.�0��^������O#�?�#��_

� �F���G�O������������

� ��F�L�.�3�!�^!#�������������:@���_�F!1���#�����F!�<%���k��!���

� ������3�!�^���9�����_�F!1���#�����F!�<%���k��!���

� ��#�L��������3�!^��9����_�F!�<%�

� ��KT��"��:<Q)���F��G����'��3�!^�����#���<&�"�O�S�+��am:<4���<4"�������"����C_

�,e'M)�0�:��(�:���������#���K�������������-$������%��-.��������������<4�J��*�7�������C��-$���#�"�,��

��j��5%�����!�K@�(�:�Q"�8j%����(����L��)��#�����H�@��@��������#�����(�:�Q"�����#*��*�:���)��������#�C�

��batch

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 137: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���*�7�������%��-��%��Q4!��"�����$���K����5���.�"���$�O�������)�.���"��7�

� :)#����%�:.J���.���������%�"� ���)����#�M"���"��#�)�,���

� 3�!

� ��!��)�3�!�����>�E��#��<L��#�M"

� ��G���!�L�3�!

� �0��:�

� ����'<����:)��-#�'.^��$�����$��������(��_�

� ��ZE

� ���Q����ZE

� ���ZE�d��H�����Q)

� 3�B<%����#��

� ��'��L���#��^�.�"��<.��������G_

� :)#�����)

� �'4�����dB"�

�:��k��.�0����L����"�w��� ����F���"�0�:��C�

�Z�����'.�w����G�����(��K"�����-$���(�:���4��Z)�(���"��#��FE����5:���$���Q����.�Q!�0��K!���Q!�,)�w���:!�)��C�-$�!���"

��������� !�"�0�E����w���#������J�F!1��'���::���)�k��.�����E�����"��C��;�<B)���F�E�-�#�(�!�����)���e4)� �����"

(�.�"��<.��J���-����-�#�1�"� �#��F�:)$��!��'������%��,����:���%#�"� ��!1���"�����H�@��C�$���5������-$��� ��s�%��,���"

(�:���%#�"��#������������F��#C�

�(�#���f�L�0�<%� ����:���#���)C�����Z)�*�7������.����"�6�L��!��� ����ST�,���$��!�.��T���(<4�%�Y%�����"�

�������%�:.�0�<%#�����.�����%��C��)�����:���)�6�B<!���#����,���$���5���'.��F!1�s�%��"����!#��������;�<B)���D�

�(�:���)�-��;<%�����%�:.�0�<%�$����T������"��)7�

� ������ �����%�"�01���.��)�-��;<%������^C� ������.�"�#�Q�)�����L��)��'.���1���.2��#���"����"��#�_

� ��.��)���<'��#�"��%�R��"C�

(�$�4"��#��j��5%�����(�<4��-��)1�0�:��7�

�CREATE TABLE Employees

(

EmployeeID int IDENTITY NOT NULL,

0�<%�,������"��:�HG����0�����(�����6�B<!�����%�:.�0�<%�$��-��;<%����T���"��#��C�#�Z)� ���!�����'!��'.������#�

����#�������%�:.�0�<%� ��#��C��:�HG�$��(����L��)�(��$�:��#��%�O�'�b:��,<��G��b!�#��0�"����.�"��<.�������0�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 138: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����(�:��-��;<%���^#�VG���c���d�/��"���!1��G���:�HG�c���d�/�#������%��,5')�(�:����������)��ML��"���.�"���9��

(��._C�

�(��"�(%�� ��0�<%��"�(����L��)�8j%�CD�'9)�,)��$���Q��Z��#�M"�l��X�o���F)�!��<&�"�(:���)�-��;<%���F)�!����"�>�E�

���!D������3�����#�L�"���#��)��"���#�"��)��:<4��#�Z)�,���$���<��������^�?��B)��-.����#�-����YL���#�����F)�!�����<���

!��_�!��"�,)�-.��<��G��b!�#�����#�Z)�$��C�������#�������� <)�$��-��9"(:���)�-��;<%����T������"��� <)7�

� �.��)��<��G��b!�#���T�'9)�����-����$���<&�"�O��������G����0�<%� ����t��,<��G�#��<L��#��-#�"������"��C

� ��'4��#����<4�0����-��%����"%"*#*��-��<4G��$�%�-��L[���t���'��#���"�y�������#�����F!�<%�

�!�.��)�C.�"�3$D���������#��4��Z)�3��!�����"���<&�"����#���!�.��)�R���"���C

��<5!�7��"��'�Z<4)�����������#���)������4��!��)�������������+��-.��/�����t���,����"����G��'!��b!�#���#�

��G������:9)?55?�-����k�!��"����� ��#��$���:�;��".�"�?55?�-����k�!��"����� ��#��������$���:�;�.�"�-.�-��L[�

� �%�� �"��"� ���"� ��e4)� ,���0�� :!�)� �:���� �����.0� ��,�*���.0� �4�!� *�S?�C� �"� �=!�:@�.0� �� �"�

$���:�;%����.�"���<)�� ��8j?55?� ���"�?55?�01�$��9"����q��#��������T�L���t��:?55?;�.����L���Q��

�"� ��!1� �'.� �=!�:@�?55?� #�Z)� �:�� �4��Z)�-������.� �)� -!���G�"�� C� �?<<?� #�� ������$���:�;�#�M"� �%�� U����

��"�!�.��)�-�@��#���-��'������T�L�����t�� ���)���?<<?�#���.0#�Z)��#�*!���G��)��"��C�

��%���!��)�3�!�����>�E���:���#���:\<%���#�)�C��.���(����L�N��<E��>�E� ���"�YZ����:���#���5:������"C���t���"��$�"�,���"�:"

��4�!�>�� ����:����#���$�%�-��L[�C���:���)�>��)��#���<&�"���t���#�)�,���#���� <)������"�-����k�!� ���Z�ZE�#�

��T"� ���5:������$�������"���"����+����t�� ���5�"������K"��b!�#�����-����-��L[����"��#����t������#���N��<E���F:���!�

����K"��b!�#��-�������C�x�<4G����"����+����t���(�.�"��<.������� #���#�Z)��&�'������<�����<4�#���T�F%�-��9"

)�k�+�)� ��.�"��<.�!���������Z)�4�!�(FC�

�#�Z)� �����(�����'!�-$������%���'F)�#��4"�(<�1�:)#��� �����"�3�!��5:�����T"�����N#���G���!�L�3�!���3�!�0�<%�#��

��.�C��4�!�(F)����L��!��)�3�!�����>�E�^�#������$��������Z�ZE�#���!#�!��!��)�3�!��_��:�HG�����,������"�YZ��,����"�:"

����#�����#�(�����)��7�

FirstName�� varchar(l�)� � NOT NULL,

MiddleInitial� � char(a)� � � NULL,

LastName�� varchar(l�)� � NOT NULL,

�01�$��8/�'%��%��:)#���C���ZE�0����#��?����"���"��'%��#�:)#�����(�!�"C�(�:���)��#�Q���#�����,���,���"��:"C�

Title� � � varchar(l�)� � NOT NULL,

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 139: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�w�����T":%����'<����:)��-#�'.���"������ZE�a�^���5��)1�$��N#�L��K������%�:.�-#�'.�������_��#�x#�HG�0��<%���#�b:)��"

�(�!�"�O��T�)�-#�������"�C�$���#�)�,���#����$���������!1������(�:���)�-��;<%��aa�,����5:�����T"��(���G��)��b!�#��>�E�

����%�:.��-#�'.!#�������;<)���FT���i�<B)����#�&��#��CD�'<E����.��)�-��;<%���5��)1�#��YZ���'.��)�!�"��!����)��G����)�

�$��01����"�����L$���:aa;�:��-��;<%��7

SSN� � � varchar(aa)� � NOT NULL,

�(�:���L���/���ZE���"�:)#����"�#Z@����(�!�"���"�)����#�)�,������"�-��%�%#��)��b!J��1��)��)����#�������#��)��)��

��%��O��;<)��'��C�����<����"�01�#��(�!�����)����(�:�"��)��#��<�9��)�(�$�!���)�-�K!���ZE�d��H���,��L1�#�Z)�����Q����ZE

�(�:��-��;<%�����Q%�S)�0�<%�$��C��%����ZE�d��H���,��L1�#�Z)����Q����ZE�k�'�)�����ZE��C#�Z)���ZE�l��%����#�)�

�(�:��-��;<%��01�$��(b:)�#�M"��%��,5')�����"� '��#�b:)��"���!1��%��,5')��Z�ZE�#�����������-$�E�����q�AL�.�

�(�:���#�VG�C�(:����[���:���#���#��F!1�(���L��'!������T��:@��"��)��^�����#�{���F!�<%���#��#�VG�AL�.�X�����-#�"#��

�L�*�+������Q%�S)����(����_�,)�,���"�:"����#����(:���)�6�B<!�����Q%�S)�0�<%� ��0��:���"��#��C�

�Salary money NOT NULL,

PriorSalary money NOT NULL,

LastRaise AS Salary - PriorSalary,

�(�!�"�#�F!1�3�B<%����#�����"���(�:���)�3�B<%���#��F!1��<��:<4��$��!��#�)��&�'��,���"�:"�7�

�HireDate smalldatetime NOT NULL,

�����:������#��-����k�!�$�� ��:������� ���������"� �t���;E���T"��� �������3����-��;<%���#�!�<%��� C�-����k�!

�������:���)�-��L[��#���<&�"���#���-�<4G�01�,�:='����:���)�-��L[��#���!�y$����4��E�#�����+��O�������C��G�

�<.���#����%���#���$�����S)�-�<4G� ���"��)��=!�:@���01�0�)$��!��(�.�"��<.���$��!�3�B<%����#����"�YZ��(�.�"��^�$��m���%�

9"�0��� �������Q�_������� ���������)�d����i�!�����$�%�-��L[�$��!��#�)���t����:���)�>����"��#�)���F�:)$��!�

"��C�

�<5!� 7�:<4���QT� �����&'.� ��:!�)�0�)$����#��� C����%�"��5Q.� ������,�:='�����$�%�-��L[���t��d����>��� ��$�

k�!�$��-��;<%���%��6�L�#��4"��<5@���-�����C�����������L���K���>���$������ ���������)�!�"���F!�"$�����-����k��!���"�

��4��!^��)�.@�����+���$� _���%��#�G$�%�!� C�$��-��;<%���<E ���������4�!��5&)�,����E����"��:�'t��R��"��

�#���#������!#���N��<E��-�����%�<%����FT)�$���t9"��5.��"����$�����������"���!1����:'+���Q��$��8/�����"��F!1��"�

�������::��#�b:)�C�

��Social security Number ��salary ��Ranged Query�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 140: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��!�!���!1��%��,5')��'.�����%����#�)��'��L���#���^��)����"�$�:��0�:)#���$���t9"����(���K"��b!�#���!�K:���(����L��)��)

�::���)�#���_����"���01��"�,���"�:"���������V/��(�����)��

�TerminationDate� � smalldatetime NULL,

�Z�����)������)�x#�HG��4���@��"�:)#������(�!�"�(����L��)�^::��3�B<%���#��F!1���"��!�4��_::���)�#����<'4���@�#��C�ManagerEmpID� � int� � NOT NULL,

Department� � varchar(l�)� NOT NULL

)

0�:��(�.�"��<.�������L�%��j��5%������"����K!��������-$���w�+�����"��7�

�USE Accounting

CREATE TABLE Employees

(

� � EmployeeID� � int IDENTITY NOT NULL,

� � FirstName�� varchar(l�) NOT NULL,

� MiddleInitial� � char(a) NULL,

� � LastName�� varchar(l�) NOT NULL,

� � Title� � � varchar(l�) NOT NULL,

� � SSN� � � varchar(aa) NOT NULL,

� � Salary� � � money NOT NULL,

� � PriorSalary� � money NOT NULL,

� � LastRaise AS Salary - PriorSalary,

� � HireDate� � � smalldatetime NOT NULL,

� � TerminationDate� � smalldatetime NULL,

� � ManagerEmpID� � int NOT NULL,

� � Department� � varchar(l�) NOT NULL

)

����(:���)���?����'.��"�-#�"���7)���7��<%��L��)�����!�K!�'�������1������.�AB&)�����:���������,�����#��#�

���%��-.�����C�

�#�<%����*#��

�(�#���6�L����:@����������� !�"� ��0�:���6�L�#��4"���"�6�L����L���"��!�K:�'��H�@��'���G��2��!��%�Q�$��G!$��C

��4�!��!�K:���6�L� �)�� C�O��������G� ^� �)���)�>�L�"�X�o�� _�01� -#�"������������"���� ����� ���"��:Q)� �#��<%��L�#�

(�:���)�����#��C���� �� �#��������� !�"��K�����F�Gg������������S)���H��%����(�.�"��<.���N��<E���%��,5')���,���"�-���

(���C�#�<%������%��:���#����*#��.��)��#���C�

�#�<%��:!�)�#*��*O�#�<%�������*#!�.��)�$�o1�O#�?� ���"��&�'��(���7�

ALTER <object type> <object name>

���#���,�����4�!����-#�@�6�L��)�����%��-::���<4L��C�9����H�@��'����(�����#�#�<%��,�����<"���)���%��XT��^��!��B"�7

-::����G���-::���4��_r�(�#���#����%��#�)�,����"�(��9"�����#���<E�����<���^�(�:���)�#���������"�����<��C�_�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 141: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���*#.���+��*����(�:���%#�"���L��������� !�"�0������� ���"��#�01�����-$���C�#�<L�%����,�����i�<B)��#��)���y������(�:���)���'����#���� ����

(�:�Q"��#�.�"�i�<B)�!�����)�#�M@��F!1�C�

�#�<%��#����e4)�,��<G#H"�����.���*#�(�#����+�E���E�#������H�@��@�(�:�Q"�����%��,����C����E�#�����(�:�Q"�����-$�

�(�#����#�����H�@��@��+�E�C�EXEC sp_helpdb Accounting

��)��G���F<)���,)�����:�����a�3��Q!�#����"�(�����-��;<%��-.�-��L[����#�,���$������Q��:!�)�#�"�,����#��"�������T��,����

���'<4�%����#�,��L�-����k�!� ���F!1�$���#��4"�:!�)�3�!��"�f���� ����:���)���Q���#��C��<%����)�01��"�����H�@���G�

�.�"��)��#��<L��-����k�!�,������"��#��)��G��)������%��(<4�%�#���Q<9)�|.� ��3�!�C�

�(������������#��������� !�"����.�"��!�)$�:!�)���"����<!���,���"�:"C�

compatibility_

level status created

�dbid

�owner

�db_size

�Name

��

�Status=ONLINE,

Updateability=

READ_WRITE,

UserAccess=

MULTI_USER,

Recovery=FULL,

Version=���,

Collation=SQL_

Latin�_General_

CP�_CI_AS,

SQLSortOrder=��,

IsAutoCreate- Statistics,

IsAutoUpdate- Statistics,

IsFullTextEnabled

May ��

����

�sa

��� ��

MB

Accounting

�CCC�

usage

�growth

�maxsize

�size

�filegroup

�filename

�fileid

�Name

�data

only

����

KB

�����

KB

�����

KB

PRIMARY

�c:\Program

Files\

Microsoft SQL

Server\

MSSQL.�\mssql\

data\

AccountingData

.mdf

�Accounting

log

only ����

KB ����

KB ����

KB NULL c:\Program

Files\

� AccountingLog

��quotation

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 142: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�����Microsoft SQL

Server\

MSSQL.�\

mssql\data\

AccountingLog

.ldf

��

�0�:���(������� ���'���#��#��)��t9"�(����L��)�C� !�"�#��-��������$�#�Z)����(�:���)�c�������\)�0��:���"���L��������

� (�:�� �#��� C� �������� !�"� H��%� �� 0�:��a��+��%��� �#��� �'!� �K!� �#� -���� ����$� #�Z)� -$��)�� ���� C���?�L� ��� �<��

�������������(�:��k��.��#����-����0�����#���(�!�����)�(�:����9���#�����������-$�!���"�#�"���� ���)����#����"�

��+��������� !�"� H��%�� �������L�d��H��� �#� C�k�'�)� #���������� !�"��"� H��%�A��B�����"�����.�"��<.���,�[� #�

���.�3��!����"�����$����#���C�G���(����B"amm�+���"�#���,������"�#��%�8j%���(�:��01��#����#�-����a��A��B���b��E�#�"�

���^�#�lm�+��l��+��qm�+���C�_CCC�(�!����)����D�Eamm�+�(����3��!���#�01�-#�Q5����Q!���@�(�:���#����%��#�����#�-����

�#�<%��$��#���,������"�2���*#.���+��*(�:���)�-��;<%��C�

��%����$�O#�?��"�01�����#�<L�%�7�

�ALTER DATABASE <database name>

ADD FILE

([NAME = <’logical file name’>,]

FILENAME = <’file name’>

[, SIZE = <size in KB, MB, GB or TB>]

[, MAXSIZE = < size in KB, MB, GB or TB >]

[, FILEGROWTH = <No of KB, MB, GB or TB |percentage>]) [,...n]

[ TO FILEGROUP filegroup_name]

[, OFFLINE ]

|ADD LOG FILE

([NAME = <’logical file name’>,]

FILENAME = <’file name’>

[, SIZE = < size in KB, MB, GB or TB >]

[, MAXSIZE = < size in KB, MB, GB or TB >]

[, FILEGROWTH = <No KB, MB, GB or TB |percentage>])

|REMOVE FILE <logical file name> [WITH DELETE]

|ADD FILEGROUP <filegroup name>

|REMOVE FILEGROUP <filegroup name>

|MODIFY FILE <filespec>

|MODIFY NAME = <new dbname>

|MODIFY FILEGROUP <filegroup name> {<filegroup property>|NAME =

<new filegroup name>}

|SET <optionspec> [,...n ][WITH <termination>]

|COLLATE <collation name>

��%��#��!�#��4"�����:�HG�,����'��$��-��;<%����9����#���)�0����(G#��%����"�YZ�����%��5��)�(:���)��5��,)�U���)��t9"�

���#�����#�����:�HG�,���2��%��-��^���"��L�.� ��YZ��,��C�_�

��"��������� !�"�H��%�d��H����"�����-$�����-::��(G#��%���3�F;)�!��#��)�,���0���$��9"���,���"�:"amm�+�(�$���j"��7�ALTER DATABASE Accounting

MODIFY FILE

(NAME = Accounting,

SIZE = ammMB)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 143: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�:������(�:���'!�����#���t��A��B��-#�"#�����������!�G�]����)���(������������#��������� !�"�����<���>�L�"�������C

�(�:���)�����#���#�-�����3��/� ��01�����"�7�

�The command(s) completed successfully.

����-!$�%�-�G1�3��/�X���r(�:���%#�"�0�)��L��#��#��)��%���<F"�7��

�EXEC sp_helpdb Accounting

compatibility_

level status created

�dbid

�owner

�db_size

�Name

��

�Status=ONLINE,

Updateability=

READ_WRITE,

UserAccess=

MULTI_USER,

Recovery=FULL,

Version=���,

Collation=SQL_

Latin�_General_

CP�_CI_AS,

SQLSortOrder=��,

IsAutoCreate- Statistics,

IsAutoUpdate- Statistics,

IsFullTextEnabled

May ��

����

�sa

���� �� MB

Accounting

Usage

�growth

�maxsize

�size

�filegroup

�filename

�fileid

�Name

�data

only

����

KB

������

KB

������

KB

PRIMARY

�c:\Program

Files\

Microsoft SQL

Server\

MSSQL.�\mssql\

data\

AccountingData

.mdf

�Accounting

log

only

����

KB

����

KB

����

KB

NULL

�c:\Program

Files\

Microsoft SQL

Server\

MSSQL.�\

mssql\data\

AccountingLog

.ldf

�AccountingLog

�#�H��%�(�.�h��)����:�"��)����#�M!�'���"�amm�+�(����d��H����C�$������<����<E�����4:�����������01��"���"������#�)

��:9����Q��H��%��:�&�"�almm4+�(���5!�����#�����ML�]���(������MB���C�H��%�*��?�#����"�����%����T��,����"���e4)�,��

�����(��H��%��:�&�"����(������)���Q����"�,���"�:"�(�����d��H����#������)���/�d��C���(������)�3��!���Q��:!�)��#���#���,����G�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 144: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��"�����������"��t������S)���T���"�-�#��!��)�#�����-����0�����#��������x�<4G��#��#��+��#��)����(������)�-$���

�.��)����)��ML�C���������01��"���"����(���"��#��)�$���5���5��3*�"�YZ������%���d��H�����H��%�#�Z)�-$�!��

������!�)��'!����"�.#����"����+���T�L���t��]���,���"�:"�C�

��%��0�45���T�'9)�����������F5!�"�*M%�#��w�?�����"�(���K����#��)�C�!��-.�3�'���%�%��O���� �� C���-�=�/�O���� �

"�$��N#�L���Q��,���$����#��)����������F���G�w�?��:<4��6�<��,���RS�C��%���"���#���,����#�"#�����������#���N��<E���G�

��:���9��)�:<4�����-������F��K��/�����)��#�"#��������F"�<���"�(:���)���?����#�1^�!#��������#�)�,���#������$���F"�<�

C�_�

��'��L���6�B<!��O��B&)�

�������������)�����#����:�HG�,�:@��#�<%��h����$��:!����*#.���+��*�!�.�,��9��� C�d�/�0��)�,���#�

������:�HG�$���#��4"����"��������� !�"�-.�AB&)���F+���*��:<4��s�<%��#������^�:!�)����)!�..������

�#��"�+0#��� ��.��)�����#���������?�R��"��:���)�#��� �H�)���F��G��� ��� �F�L�.� �"� �'.��G�_HG�������:�

���9+�^��!!��L�YZ�������;:)��"#����T�E�����\)�0��:���"�_��"��$�"������:�HG���C�i�<B)������:�HG�O���y���*���#��)�#��

�!�.��)��%#�"�6�<���)����#�����"�)�C��������"#�����*#����#���F+���d�/���� �����"��#���K�����F��#��G��%��"�

�#���?�L��������� !�"�:����)��P�C�

�,�:='������������#��������)���L��������� !�"�#������#������� ��$���t9"������0������<:�����!�����C�$���t9"

��#��S!����<:���'.����!#���$��!�O���� �a��.�"��<.����������� !�"���#��(<4�%�#��0��"#����<���O���� ��$���t9"���'���

!�����)�:.�"�:.�"�#��.��#��4"�:�C����������O���� ��(�!��<"����(�:��N#�L�(<4�%�$���#�0��"#����������)��#����!����,���

�(�:���)����#��������� !�"�#��-.���'���C���!�y�:@�0��"#���0����N#�L�$���Q��#���,������"�^��:��,��9���#�01�#�Z)��!�����)

�_�%��"��#��&:���������������'��L����^��#��F!1� ���)����#����"#���(�$&��:���C�_�����4�!���'����<:��0�"��F&:������ T

�����3��!���#�01��G��%��"���&"�CD�'9)���'���$���t9"���%���������� !�"���)�-$�E�#���C�$��N#�L��M"�#�,���#�����G�(�'��

��%��6�<��,���RS"�C�

���*#��+�*���������G�(������� �� �#�0�'T�����(�#���$��!�����1��)�d�/���#��)�O��C� ��0�������+��:!�)�-��%���� �� ��!�����)�,��

�.�"�-����k�!���� ��:!�)�-�=�/���� �� �����0�<%�C�

�(�:���%#�"��#������� �����"��T�?��#�<L�%��"����K!�(���"�����"�7�

ALTER TABLE table_name

{[ALTER COLUMN <column_name>

{ [<schema of new data type>].<new_data_type> [(precision [, scale])] max |

<xml schema collection>

[COLLATE <collation_name>]

[NULL|NOT NULL]

|[{ADD|DROP} ROWGUIDCOL] | PERSISTED}]

��exclusive

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 145: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

|ADD

<column name> <data_type>

[[DEFAULT <constant_expression>]

|[IDENTITY [(<seed>, <increment>) [NOT FOR REPLICATION]]]]

[ROWGUIDCOL]

[COLLATE <collation_name>]

[NULL|NOT NULL]

[<column_constraints>]

|[<column_name> AS <computed_column_expression>]

|ADD

[CONSTRAINT <constraint_name>]

{[{PRIMARY KEY|UNIQUE}

[CLUSTERED|NONCLUSTERED]

{(<column_name>[ ,...n ])}

[WITH FILLFACTOR = <fillfactor>]

[ON {<filegroup> | DEFAULT}]

] |FOREIGN KEY

[(<column_name>[ ,...n])]

REFERENCES <referenced_table> [(<referenced_column>[ ,...n])]

[ON DELETE {CASCADE|NO ACTION}]

[ON UPDATE {CASCADE|NO ACTION}]

[NOT FOR REPLICATION]

|DEFAULT <constant_expression>

[FOR <column_name>]

|CHECK [NOT FOR REPLICATION]

(<search_conditions>)

[,...n][ ,...n]

|[WITH CHECK|WITH NOCHECK]

| { ENABLE | DISABLE } TRIGGER

{ ALL | <trigger name> [ ,...n ] }

|DROP

{[CONSTRAINT] <constraint_name>

|COLUMN <column_name>}[ ,...n]

|{CHECK|NOCHECK} CONSTRAINT

{ALL|<constraint_name>[ ,...n]}

|{ENABLE|DISABLE} TRIGGER

{ALL|<trigger_name>[ ,...n]}

| SWITCH [ PARTITION <source partition number expression> ]

TO [ schema_name. ] target_table

[ PARTITION <target partition number expression> ]

�#�<%��:!�)�#*��*��+�*HG�$�����9)���9����:���#�����(�:���)��%#�"��#�����:�C�

�����"�01�$���Q���)��(�:��k��.�01�$��-��;<%�����"� �#��T�\)�����-$��*�7�������������� !�"�#���$$�� �� ��

�(�$�:�"����K!�7�EXEC sp_help Employees

���������L�-��&)���$����$���<&�"���#��)��Z�ZE�#���'.7�

Nullable Scale Prec Length Computed Type Column_name

no � �� � no int EmployeeID

no ���� no varchar FirstName

yes ��� no char MiddleInitial

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 146: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

no ���� no varchar LastName

no ���� no varchar Title

no ���� no varchar SSN

no � �� � no money Salary

no � �� � no money PriorSalary

yes � �� � yes money LastRaise

no ��� no smalldatetime HireDate

yes ��� no smalldatetime TerminationDate

no � �� � no int ManagerEmpID

no ���� no varchar Department

�(�:���;E� �#�0�:)#�����Q��O������(����L��)�(�:��c�������-$��� C�L��)�����#��� ��0�������+��(����3��!��(���

�9��������%���K���0�<%���4�!��<B%�#����C�O#�Q����Q.�#��4"�#�<L�%�,���#*����+�*���� �� ���5:���H��"��%��

�#�������01�#�� @��C�ALTER TABLE Employees

ADD

PreviousEmployer varchar(qm) NULL

�:@�(�!�����)��Z�ZE�#�(�:�����+������"�-#�Q5���#�0�<%�,�C�%��O#�?�,����"�01�#�<L�%7�ALTER TABLE Employees

ADD

DateOfBirth datetime NULL,

LastRaiseDate datetime NOT NULL

DEFAULT ‘lmm�JmaJma’

�<5��7��".*-������"�#�5"���:���#������:������3�C�Q���)��(���"�-�!���!1��^�����(����L��%#�"��#��F!1�9"�����#��_��)�

�3������[���!1�f�L��#�)� ��0����0�&!����B"�,)C�

�<5!�7�0�<%� ������L��)��G��0������#�Z)������M%��"��!�"���"��:���������������"�#�5@��#���0�<%�01����"�

���� C�Q��#� ����%��c���d�/� #�Z)� $�� -��;<%��01� �� (�����0�&!��E� -�� C��'����$�� �"� ��0�<%� #��c���d�/� #�Z)

.����L�N#���������M%C�

�(���-����3��!���#����@�(�:�Q"�����"�(��.�N#�L��'4��,���$���5:���$���Q�C�

�EXEC sp_help Employees

Nullable Scale Prec Length Computed Type Column_name

no � �� � no int EmployeeID

no ���� no varchar FirstName

yes ��� no char MiddleInitial

no ���� no varchar LastName

no ���� no varchar Title

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 147: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

no ���� no varchar SSN

no � �� � no money Salary

no � �� � no money PriorSalary

yes � �� � yes money LastRaise

no ��� no smalldatetime HireDate

yes ��� no smalldatetime TerminationDate

no � �� � no int ManagerEmpID

no ���� no varchar Department

yes ����

no varchar PreviousEmployer

yes ���

no

datetime

DateOfBirth

no ���

no

datetime

LastRaiseDate

�!.����+���)���F!�<%��'���:�"��)����#�M!�'��C��4�T���F<!���"�����F!�<%�����%��,����:������01��"���"�����H�@

�!��-.����+���F!�<%�C�#���F!�<%�����L��)��G�������"�!��K"�#����Y%������ ���^��K���3�!� ���"�_�������:��������-

�:���j�������#���#���C�Q���������>VE��.�������a�������� ���#������3�!�8j%���:��C�

��<5!�7�.�"��<B%�#��4"�#���!�����)��F!�<%�0������"���Z�ZE�#��C� ���)�����#�#���,����:���)��5�������#��)�$���t9"��<E

�!#����5&)�01��"�::���)C�����2���@���"������9���B4!�0.�p�/�$���Q����"�!#���k�#�����,����"�����#�L�����

!�.�>VE� C��'��-#�"���8j%���:����'��� �#��b!��#�)�O���� �� ��:��>VE� �#��#�L���������'����"� �'.�����:9)�,����"

�:���������#��#�L��������C������.��'!�3�'����:���#����e4)�,�����F�L�.��'��U��)�#�����"�-����������'������#����

!�#��)�,�"�$�����0.�>VEJ��������j��5%���&B"�0��:���"�-#�"����#���L���F�L�.�����.�"��<.������"���"�O#��:���#��

�:��i��9������C�

��:���Q?��)��r!#�������(����<&�"��#��)�rF��G���h����#�M"�$�:����[���:����#�X�M)�,���(<4��#�Q�)��)��(���5!��%#�"��#�

��<������L��'.���F��G������"����;����@��:�����+���#�0�<%� ���'.��G�����(:��C�$���-�G����G������!�"��#�X�M)�,�����"

� ��*�*��AG���-#�"�������<��������0�<%���-.���5&������:"�#�<%�� ��0��:���"��-�G������<!�#���$�4!��#�-�

���.��'!�-���C�!�.��)�AB&)�-�G���������0�)$�#���F!�<%�3�!����5�'����D���"�C�$���Q��������G����������:9)�,����"

�:���)�-��;<%����Q����F!�<%��4�T�$���:���)�����������F!�<%�0�������+�����:��>VE��#�-�G����<"����"��'.��-#�"��

�#�<%��$���5:���������$�4"���*#@�*%��:��-��;<%��01�-#�"���,<L�%����"�C�

�#�<%�.#0!��

�#�<%��$��-��;<%�.#0!�#�<%��#�������.��)��e�.�0.�>VE�R��"�.#0!��:���)�AB&)��C�0�%1���U��%�#��4"�#���,��

����.���<&�"����"�01�#�<L�%����%������������%��0�45���^�-��o������K������-.�-��L[���FT��#����F��G���������C�_

��%����$�O#�?��"�#�<%��,���7�DROP <object type> <object name> [, ...n]

��DROP

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 148: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�(���-�����E��"��������%���#�<%��,����-��%��Z�ZE�#��C�(�:��>VE�0�)$� ��#���#�0�'T�����(�!�����)�(����B"��G��7�USE Accounting

DROP TABLE Customers, Employees

�!�.��)�>VE��F!1��������#���,����"��C�

��<5!�7��.�"�X���)����L�#�<%��,���$��-��;<%��U��)�#��C�3� �/�]��B����������CB����B!�#��#����Q��,���$����D��%����

���"��������������)�3��!���#����@��!����)��'.����G��)��b!�#���:���)�p�/���?���"��#���.������C�

� $�� -��;<%���#�)�#��������<"�� #��,)�O�S�+����*�,�����'����#�"#���T�\)� ��:��� #��2�#�1��)������"��j��5%���D�"�#��

�(�:���)���[�k�+�)�C��������� !�"������� �3�!��"��T���(��������������*�7��������#����C��'!��'.

�����L��:��>VE��#��F!1�C�#�<%����.��)�����D�"�#�<%������<��.#0!��:���)����G����FT��01�0.�p�/��������$��

����0.�p�/�$��01��)�D0� ��.������E�:���'!����G����C�

��%D�"�#�<%���"���Q.�#��4"�(���������� !�"�>VE�#�<L�%� C��������� !�"� �������-$���0�:���$$�� �� ��>VE� �#�

�(�:�C�USE master

DROP DATABASE Accounting

��

���������L��#����<!�,����7�Deleting database file ‘c:\Program Files\Microsoft SQL Server\mssql\data\

AccountingLog.ldf’.

Deleting database file ‘c:\Program Files\Microsoft SQL Server\mssql\data\

AccountingData.mdf’.

���E�#���5:�����T���"��#��������� !�"��!�����'!���G��)�����:������#�����ML��%��,5')��������� !�"�>VE�3�K:��#�

��:��>VE��%��0.�-��;<%��C�O#�?�,���#�l��:���%#�"��#��#�)��7�

� �9���������� !�"������.�,e'M)�#����� ����� ���� ����#�01�����L��)������������ !�"��"�

�.�"�O��;<)��:��>VE�^�-��;<%���:��>VE�����L��)������������ !�"�$�������.�,e'M)����O#�?�,����"

�:���'!�_

� �$������T�����]��������.�,e'M)�,��:��-��;<%���#���������� !�"�0��:���"��������� !�"��4�!�$�"�^�$�

�� ����� ���� �������!)%���_��:��-��;<%�C

D�'9)�,)�� �#�)�4)�(�:���)��E��:�"��)�D�"� �� #����� #�M!�'�� �#��P�� C��������� !�"� $��(:���)�,��9�� �<"�

������(:���)�-��;<%���C�:���%#�"��<%��O#��"��#���N��<E��(��3����#�)����"JD�'9)��������� ��#��K���

�)����)�������(:���)�UM�����.�,e'M)�C

��$��-��;<%�����a�

��Graphical Usar Inter�����������������������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 149: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���)�(�����>�?����:@����������� !�"� �����������"�6�L��j��5%�� ��,<.�!����"��#�����$��J�9������)����"�

�(�#�VG��)�#�:���#��F!1�C��5����G�#�H"���"�(�.�"��<.������K!�����"�� ����� ���� ���0�����<4"����������0�5)�����

�����)��)��"��#�����C����"��#���,����<&�"�(�!�����)�#�H"��,����"��5�"��.���(����B!�#����%����"��F:���!��)���9"��"���:���$�

(�:���T���0�)��LC�

�$��-��;<%���"��������� !�"�������� ����� ���� ����

� �'.��G��� ����� ���� ��� ����������� -�G� ���:�� ���� �#�.���(�������Q.��H�@���"� �� �:�� $�"� �#�

�5.�Ja��:�Q"��#C�

���5.aJ��

��<5!�7��������� !�"�����:�"��)��:��-�K!�85��,����"���"��G��$$�� �� ��$�:��(�����>VE��Q����\)�#����!1��5:����"�

���.��)�-����0�&!�C��5:����"��<4"�������)�>VE��#��������� !�"�����<���� ����� ���� ���9"��'.������"�$�"�

�#���������� !�"�>VE�$����a��������� !�"��%��,5')��.�"�-����$�"���!1��$$�� �� ��:�Q!�����:�Q"��#�C�

��Query Analyzer

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 150: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�<5!�7��Q�������B4!�#��2�O��;����@����������0�:����������#�H"����� ����� ���� ���(b:)�#�M"�:<4��

������#����)�����������F5!�"��"�v�"�)�O�����a�!�����)�C�#���,������"����T�������.��)�$�#��"��!�)$�YZ��01�0�:��

�.�"��<.�������^�$��-��;<%�� �"� �#�����H�@����\)�0��:9"�� ����� ���� ��0(F�$�*<7������-��:/����"�

�����"�-����>VE��S��?��5:��� ����.���:������ ��!1��.�"��<%��L�C_���"����#���O��;��,�����T�C�B4!* ���7����

�� ���� �}�� ���� �)� �9��)� #��%� �"��O������ ,<��G����"�X��)� #�M"� �5:��� ��T"��.��� �'�����#��� �'����C

�!#�����<F"����#�������F.�#�C�)�HT��)�������L�O������!#�!��#�C�

�#���#�����H�@��'.��G������%��,����#�)�,���#���L1�>�E�� ����� ���� ��������<"�������Vj!��#��F!1��:�"��)�-��

^��'�����_���.�$�#��"�H�@��'���������#�&���#C�

-�G���#�0�:��l��:�HG�8j%����:�� �����%�#���.���(����G�:��6�B<!���#�C�

���,����"�-��:/�#.���(����!��7������� !�"�����L��)�����#����������������)��#�0�5)��,����'.��"������.��)�$�"�

�:�� �#��� ��:��� #�� .�"� �!�K!1� �:�� �)� ������ ��� �������C��������� !�"� ������ 3�K:�� ��� ����� �:�HG� 0�'�� (�!���� �)

�$$�� �� �;<%���(���"�#�5"�������<"��#��(�����-���C��5.�:!�)�H��%���3�!�O�������<"��#�lJ�:�1��)�C�

��refresh ��Databases node�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 151: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���5.lJ��

�(�:���%#�"��#�01�i�<B)���H������"�,���"�:"����%����-��:/�,���#���G�"����C�

�3�!����<"��)����:�HG�,������%��������/��C�Q���3�!�01��"��$$�� �� �:�����T���"��)����(���"�-���������������T�������5

�(�:5!�-��;<%��(%��,���$��-#�"�������#�!��������T����(�����>VE�(���"�-����C�

�:�1��)�.#�O��������H��%��������3�!�8j%�C�

��<5!� 7��:�Q"� �#��#��)��'���!��<"� ���3����H��%���� �� �#�-��:/�,����<%��#����"�,)�C�%��,5')��'.�-��:/�-$�!��d�/�#����"�

�����'!�0�&!� �#��#��)��'����.�"�85��$���<5@���c�������:��n#H"� �#�01������K"� �#�-��:/�,��������.�G�$���5��

��:�Q"��#���<&�"�O������C�

��G�"��"�01�$��9"07��� ���5.�#�����#�M!�'����(��#��)�qJ���%������$�#��4"�O�'�b:����#����:�"��)�C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 152: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��5.�qJ��

� 3�!� ��:��� #�� H�@�,����XT�� ��.$������� ���%�� C� k��.� �"���������lmmm� !�"� ��� ��� (�<.��� �#� 0�5)��,��� ��

���������^���;:)���F!�<%�(�<%��L��)��G���Z�ZE�#����_� ��x��L����"$������� �.�"��<.���C�$���#��4"����"������B4!

-.�X�!��"��:�HG�,����������L��)����.�,��9��#��%�X�!�3�K:��#��#��%�c���d�/����%��C��#�01��!�����)����'��,����"

��:��(�b:����9���������� !�"����"�C�

��<5!�7��%�j"��%��,5')�7��,)���@$������� �2�(���L��)�O��;<)������"���'9)����$��!�$���5����0�"$��4��K!��h��:)�#��

$������� ��"����L�,������� �����!��-.��<.�!�����!�G��"�����)�!�"�$���t9"���������:!�)��#�����!��G��)��b!�#���

�:<4��s�4E�>��E��"��Q4!��K����t9"�����T�E�#��^������"�������4�!��"��"��C_�Q������"��!�G��#��%� ��(���"�#�Q�)�

�(�.�"��<.���k�+�)�,�������)�CK!����o���\)� ���#�)�#���#���������#�&��$���#��4"�#�������FT���0�"$�O��;����"�(���4��

�������[��#�::���QS?�0�"$� ���"����#���G���<E��C�

�f��B)������ O�'��� �� O�#�<%�� #�<L�%� ��1� ��� :�� �)� ��<:�� �:�HG� ,��� �� �#��� #���� �#�G$�%� *M%� 01� $�� 9"���

������lmm����L����!�.��)��!�Q�<&/��C��G������%���'.��"�0�5)��,���0����01�>�����#���#�b<!���:�HG�,���$�����#���0�'�

����G�"��#���h�QM������'��������B4!��"�����#���#�<�#��������O�'����"�.�"��<.���$��!��'.�f�L��)�!�"� �C�

�M!�'���F!1��)��:.�"�O��;<)��%��,5')�X�!�k�!��"��<4"��K��������:�HG�::���)��'��3����*�+����Q����F����#�����#�C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 153: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

:<4��(��������,���#�����:<4����#�!�<%��h"�M)��K���O�'�b:����6�L�#��4"�C���#�(�:��0�S<)����(���"�d�/�����-$��

04�'%��L#��#��01�����:�Q"��!�����)��'.���-.��������������� !�"� @���R5)� ��$��9"��:�� ��������+��`@�

�-.����+��C�

� -�G� ��$� i�<B)� ��F'<�1� �!��<"� ��� ����x�<4G� �#� �L#�� 0�:���$$�� �� �� -�G�8j%� �� �:�Q"� �#�.���(���

.��������:��6�B<!���#��C��5.�:!�)�-��:/� ��8j%����:���%�#� ����01���#~J�� !�"���G��)������.��)������

����#�����.��$���t9"�����������#����%��-����(G��#���$��!��������� !�"�#���'!�$���!�Q�<&/����"�1����:�� �����C�

��<5!�7��:�Q"���.��)��������������� !�"�#��#���'!�����#�"�,�T����#�-��:/�,�����"�YZ���'.�����:�����C����������$��

����,�������#������G1��F)��G����$���?�L�����h������������ !�"�#���#�1���"��#����F)��G��������B"�����!�)$�YZ��

!�&�)������C�

�5.~J��

�-��:/� ����01�$��8/� ��(����5.�:!�)��J���������L�� C�3���(���K"�(�'����������)� �#�0�5)��,���-��:/�,��

�:.�"��<.��������)�#���'!�#������C�!�����)�(����B"��G�����$���<'4��3������-�ZT�"�#����"����(�:���������#�#���'!�,�:@�(

�:<4���������� !�"���KT��C�(�#���0����d��'!����"���� ��YZ���)����#�)�,���#�^������)�����:�����0� ������

����������(�����>VE��Q���'���#�����"��T�L��������� !�"� ��(�#�������H�@��F:����%��0�'T���������_�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 154: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

�5.�J��

���#��F:��0�:���� $����:�� ������:�Q"�#���'!��T�L��S;?� ����"��'.��C���� ���!�����)������%��:���XT���#�)

�0�5�1���#� �����"����X%�:)��:�HG�6�B<!�����S;?���#� �����%�#����%���"��#�����(��#�H"��#��!�#��a��:�����+���C

�����:���)����+���#������ ���<������������%�/��)���"�������"�����L��)�����#��)�!��C��01�$��8/

�:���#���01�#���#���L�������H���������)�-$��������:�"��)�-::�� '��-��:/� �C�^��5.�J�_C�

���5.�J��

���� #�� ������F!�<%�,)����������#�(<.����0�<%� ��0��:�� �"� �#�����0�<%����(�#��� $��!� �)�� �� ���� �#��� ��:��� #��

�(�:��i��9�����%�:.�C��#�!�������:����T����'!�#��#���,���3��!�����"����#�]���%#��)��b!��"� ���!�;%�<)� C���� �����"

%�#�d������-��:/���#����(�#���N��<E����(�����i��9�����#��������F'<�1���-���� �������(��@����JJ���� �'�

������(�:��6�B<!��C�

�(�:���)�����#��(�:��6�B<!��(�!�����)�������F'<�1�$���<4�T�8j%�C��5.�#�����J���%��-.�-����0�&!��C����F'<�1���:���#�

(�:���)�6�B<!���#�(�#���$��!���J�� � �����01��<4"����?�:�����7��� ���� $���� ���^5.���J�_�

��toolbar

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 155: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���5.�J��

���(���G��)�"�d������-��:/��"�0�:����(��@�����������(�:�Q"��#����%�:.�0�<%����(�:���)�6�B<!���#��^��5.

�J���:��-�K!��#��_�(�:���/��#����O��B&)����(��.��)�-��)1����C�

�<5!7�OK, so SQL Server can be a bit temperamental on this. If you do not check the box to make this the

default, then SQL Server will change what your “custom” view looks like, but it will not make the custom

view the active one—the result is that you won’t see the changes you made as you exit the dialog.�

#�"���,���"�:"����:�� �����%�#����'!���� ��$��8/���.�,e'M)���-��(��@������������:��6�B<!���#��C�01�8j%

��5.���Q.���"�J�.�"��C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 156: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��5.�J��

�)����'.��������<�����.��)��������'.����"���� ��01�$��8/�����:��-��L[��#�O���� ���!�����)���.��/��C�

�<5!�74"��'4��,��(:�� @����F!�<%�3�!�-$�!���"��#��'!����(����)�*����,)��)�����%��>����%��L��"��<�C�,����!�����)��'.

�0�5�1���#� �������%�"��#�#����������#�H"��#��!�#���^�(����)�*�����!�K:���,)�_���-���� �����%�#������#��(��

@��������� ������:��6�B<!���#��C�'F��,)��)�d��'!��S;?�$����<&�"���t��0.���$1�R��"�#���,������3

(:��#���������#�����$�%��)���F)�,)����"��#���<&�"���t������.�C�

��

� ��� ��� �:�� �9%� 0�:��*�7�������:�� ���+�� ��"� -.�i��9�� ������<"�� #�� ��� #�M!�'�� �#�� C���� :!�)� �F)�G

���������� ��YZ���)����:<4����#�������O��;�(�#������Q%�S)�0�<%� ���C�-#�"���YZ�������Q%�S)�0�<%��"�#������"

�� �'��������^�� �����%�#���:)�#��_�0�<%� ����'���������:�����+���C��:�����+���#�X%�:)���)���8j%�

�^���:���#�������)!�����������C�_�������������#����#��F!�<%��'������<����:��-��L[��#���^��:����Q���#��������_

.�"��<.�����������"��'.�#���'!�X�����,����"�^C��5.{J��:�Q"��#��_�

���5.{J��

���"�-��'������E����#�H"������.�"��<.������"����������#�!��"�#���#�H�@��'��-.��+����CD�'<E���$���'4��,�������<���

�L��)��#�6�<�����-����$�o1��������� !�"����!��0�#���"��#���L��;%����!��:���)��+�#��#��'.���)����"�#�H"��,����C��%

����L�3��!��%��L��:��-��;<%���������� !�"��E�������"�����<��&�/����#�H"��$���C�

"$�����"��&G�7�F<j��5%����������?����"��(����� ���� ����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 157: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

���,��L1�����,���3�'���$���Q��U��%�*�+�7�$���!�K@�(�:�Q"�(����L��)�� ����� ���� �����#�b:)��"���j��5%���T

(���K"� '��C0�:������(����L�*�+���U��%��#��'4��,����C�9"��k�#���4��!��j��5%�#�H"���"��������.��$���#��4"�����<���

(�<L�:.�!#���C�.���(����L�O��PH��"����K!C�

��"� ��j��5%���T������"�� ����� ���� ���01��"�v�"�)��j��5%��(����L��)������������ !�"���#���(����)�

�(�:���)� �����%�#���.��T���^�C������#��#����F<j��5%���)����#�)�,���#��$$�� �� �����(����L��T����_C���:)�#�

� ��-.������#*��*.���(�������#*���0���������* ����%� ���6�B<!�� �#�

��5.�#������:�amJ���%��-.�-����0�&!��C�

���5.amJ��

�����������%��-����������(�<.�!�����L�%����"��<"��#��������$������$���F<'4���C��#����'������&!�-�$�0����

��3�K:��������F+���d�/�$��-��;<%�����"�����)�3��!��01����#��4"�(������)�-��;<%�� �F!1�$��0�)��L����%�"��j��5%������

��%���������� !�"�O�'�b:���"��<4"���C�

�(��.��'!���S)��������� !�"��j��5%���"�����:�������:�Q"� �#��������� !�"����.���K����j��5%������L��)��G��

���#����#�M!�'��$$�� �� ����#������ �����%�#��(�!�����)�8j%���:�� �����%�#��F!1����$��7���"�v�"�)�

�.�"��<.����#�W�.�01C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 158: Learningsql www pupuol com

������MS SQL SERVER ��� ��� ������������������������

��.��<<E�#�,���$��!�����'!��j��5%��,<.�!����:�"��)����#�M!�'��C��E�����#�-�=�/��������� !�"� ������L��)�����<��

4"���E�����"��)��%#��)��b!��"�0�%1�(��$�"�-�G���,���$���:��%���4��!���"�01�,<.�!�$���<!�%1�#���C�����<����Z�ZE�#�

����(����L�RS"�(��$�"�-#�"�,���#��6�<���)����#���.����L�0�%1�#��4"�#���,������K"������#��j��5%��#��i�<B)������:�HGC�

�?�L�

�O�#�<%����?������,��� #��#*��*� ������*��.#0!���� �"� �F!1�v�Q�#��,�:='������#��������������� !�"� ��

�(����C(��.��)��:.1�O�#�<%��,����K��������"#����"�6�<���)����#���<QT��C��)����������:�HG�$������$���9���"����K!�,�:='�

-������#���)�����<:��(�!�����)��F!1����%�"����(�<.����(�:��-��;<%���F!1�$���������� !�"�������#��(�<4!�����<.���0�'����

�Y%��� (�!���� �)��j��5%�� � ,<.�!� ���E���� #���<E�#����"� �������#��� $���#��4"� (�� �L1� #�� (�.�"�� ����� �

��� ��(������%#�"�(����3��!���C�

�%���)�!�(���;)�,�:='�������x�<4G��#�)�#����<&�"�O��PH��,<��G������"�k��.�����<4��-��)1��'.����bST�,���$�����$

����K"� ������������ !�"������E���� C�!#�VG��y����E���� #����� ������� ����� -#�"#��(����B"� �#�(���;)�,����5:��� $���Q�� �)�

����(����L��%#�"�C�

�F:��'���

aJ� �j��5%�� -::�� �T��� $��� ����� � ��� ��� �� �� ���� -��;<%������ ���� �"� v�"�)�����������

�*�7��������:���T���C�

lJ�$��-��;<%��0�"�� ����� ���� ���3�!��"��������� !�"� ����1.+�����T���H��%���01���T���H��%�����$�4"�

����X������"�a��+�����+:.�"�J��#�.#�#�Z)������������"���+��:��,��9��C�

qJ�3�!��"���� ��-���3�!��"��� <)������"���<��#������� ���"�����a���H��%����:����������a��"��#��m���S)��<��#���

�:�C�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 159: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

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

��������������� ������������������������������� ����������������������������� � �������!��"# ��$�#�% &'����������(��� (&��(����������)��� (��

�����*SQL Server�����!��������&���+, �!���-��.#�/����0+,� �1�� (#���-��.#������������2����3��SQL Server 4556���(�����

����2�����*�

� &��� �1�� 7,��"��� �8��%! ��� �������&�%�-�����9����������� ��:2+�������;�����1������%����/<=������3�-&� �

�� &�%�-��> 02,��� ,��?�*�

�2;,�2;,�2;,�2;,@@@@������������� ���A�� ���A���*���������-�B�"���-����2�� ��C� ��DE�������������������� (F����"(GE���(H��(&��(�� (���"(�����I#� ���A��'

"J1 K;� F���%���� ���%�-�����*�

��������7L<=������"�M E���&�"2NB-&���+���������3 )�����4���������� ��% ��� 7,���&�����������3���� ,-&�% 7F�-&�%����"J1 K;�����I#����"� ��'

�����A, &�!����������+�,��-��"��%� O2��� ���"# F�H��;L&�'����������"# F�H��A, &���?�% 7F�-&�*����������� ����-;=�����&�"���-B����� G�����LP+��

�?������QM ����>�* ��!���&� ��% ���= $��"# F�H��A, &���R������ �1�SL�����&� 8�%����� ,�(��"(��TUV����!�� �� ,���"��",�*

����-O����� ,-&�A����"2VW��� ,-&����X:=���� �-�J&�-Y,����,�J��� ���"��%� O2���"# F�H��A, &�!��Z��!���(����;���C� ��A���&

��3 8 ���2����� ,-&�[L20������ &��2����"�-�*����\ �#� ]�������LP+�����������"�,��*����"# F�H��A, &�-� �W���������A(���2(������(9����(�

^:,������ �� &� �����?� �,��#�"���, B����Z������������"#�;N��/�M���&������;��������� 8��-��.#��� 8�%��������"��� ]�*�����-(#�% (�_�`��������'

��+��A��-��.#�3�-&���� � �&�^�`�"E��-�������;��� ��-:#�%����!���)55� � &��2���������[L20��%��*�

�������������������%��&�"# F�H��A, &���-� ����C��#�A��"# F�H��A, &��&�%����"J1 K;����M�P+����-��C����*�����"(OL20��������8�!��8

������������� ����� ]���/;N��"# F�H��A, &��&� 8�%������-���= $��\ J�8��������;����'�����"# (F�H��A(, &������� ������������(M V�3 (���(&� �(��

�������� ���"����?-&���;N�� &��,�-JN����H��&�"M GO,��*���������������� (����� (]���"# (F�H��A, &�����&��;��� 8��� ,-&����"#�;N��!��3 �+&

��������������"��a0N���� ,-&�b-2+B����-`�\ J�8�����-#��!�������*������������������A(, &��(&� (8�%���� (8��"(��%! (����������� ,-&��;����/�M���&

���"# F�H��������������-�UK&��� 7,�� � &���� ,���"��"# F�H��A, &� �������"�����*����� ���"���� �������,�J1��c <0N����������>�(?� �+(&���(��� (&

�����"��"�-&��&�d�-��������*�

�-����8��?�"�-&����� O2�� ���d�,����/<=�������*��

� ������������4

� ����������e

� "F ���"J1 K;������f

a0N������A���/� ������-����8��?�"�-&������������!��\� ��-8�3! ��%� �`�3 7��'��@�

� �����PRIMARY KEY6

� �����FOREIGN KEY)

)�constraints 4�Entity e�Domain f�Referential

6��"L9�� �L��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 160: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� �����UNIQUEW��\ ,��&����_�8alternate key ,���"���2? ���Z

� �����CHECK

� �����DEFAULT

� F���

� � 7$-=�^�`W������ &DEFAULT����� O2��C V���F������& N���Z

�2;,�2;,�2;,�2;,@@@@�SQL Server 4555�/�F�! �,�������"M��G��/;�����!���������3���0+,���M��������(&�' (���"(��", ��2N`�"F ���"J1 K;�

!�����8-���N`�3 8�", �4�����-��TUV������8-(���N`�3 8e'���������������(���"(OL20�� (��g#���(��3 (8��(���!���(�����(2�M����� (��

X��#����3���������&��������:&��= ��-;� ��ANSI���(����(2=-J,�-Y,����� ,���"��", ��2N`��*��������(���(��SQL Server

4556 ,��% ���= $��*��"F ���"J1 K;��C �F��-J������8-���N`�C �F�ANSI���������"2�����FOREIGN KEY���� (,��?���

�-����8��?�"�-&�/� ���H��&�*�

������C����� 8-J�-#��&�"8 #���% J,����_�8�����%-�?h�3 8���b������F��&�% ���%� �`�3�-&�"� 8�����������(������8��(?�%����"J1 (K;��3! (��

W/<=��������������� ������-����8��?�"�-&� G&�3 8Z*��

������d��,�������d��,�������d��,�������d��,���������

b��������� ,�������������3! ��%� �`�3�-&�3� �!�3 8���������� ,���"����+:#�"L���2�������&� 7,��S�8� ���'��(�������'�����(������"J1 (K;�

�"F ���/;������ij)� ����&��� 7,�� �,��#�"��*�

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

��������� ,���"��k�&-����2�� �1� ��A���&������������*������3��1����������������� (��l ?���2��A������������������"�����9���������� ]����

����!��3���F��]�� 8���2������� ,! ��%���-&���l ?�k-��A���*���������, �!���&� ���= $����-E��A�� ������"2���� ����"��"��'������ (&� ������

����"��C �F��-E������3����UJ&�-�mg#�C� ��-J���3 8-E��3���;����'��%�-���= $����������",�2��%����3� �*

)�"� ?� ��

4�cascade updates e�cascade deletes

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 161: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��/;�ij)�

��C n������F��&�'���2�� �8��?�"��-B�UnitPrice� (,-�UK&��� �2+8�-O9�3� +�� ��-2B�&����3-�� :��X:=� #� ������ ������'�!����

���������������������3-E��-8��]�2,�����&� 8��?������� ���d�,UnitPrice���������������(��"(�,��(2=-�U`� (�;,��(� F��� ��������*������(����(:�:V��

�����������2��/��������P�E�� #������"��C �F����"J1 K;�W����2=-B�-Y,����� &�����-E�� �1��;�����Z�! ��"��%���-&��� ���*����2(�

��� �� ����������� ��� 8��������*�

������3 72�+������,��� ���d�,����CHECK�'�������� 7$-=�^�`� F���DEFAULT �����8��?��*�

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

�2+8��-O���3 8-E���&�k�&-���������������*:V��� ���!��/;�����' ,���"�,�C �F����2��A��3���:��-E��A�� �������

,���-27&����-�B�"��-Y,�����l ?�!��3���F��]�� ����2��A��3�-&� 2;��� :��A�� 8-E����8�����! �,��������3 ���!���,��

�� &��2������/� +��*�

��� 2;����2��A��c�1������������ ���A���������+�,�"�G�������&�c�c-�?�'�+�,��,�J���*���Q(M ��A�� � &�l ?�-E��A�������2OJ,

��&��2����%o�� � ��'����� &����� :���;���� ������� � &�3��1�!��-2;1��� ��-2B�&� ��'�����������a0N����2��A����� :��A������+���� ���0��"�G�

� &��2���������-J���3 8-E���� ,��#�"�,�*�

�������&� ���������� �����8��?PRIMARY KEY�'UNIQUE����k�&-���*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 162: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�"F ���"J1 K;�������"F ���"J1 K;�������"F ���"J1 K;�������"F ���"J1 K;����������

������ :��A����� ,���"��� ]���"2���"F ���"J1 K;������� :��A�� &� � &���2��A��������� (� &��2(����p(��E#�-(J�����2�����'��

-J���C� ����� ����"8 B� ��C� ��A��*�

���������"��q-=��������������������"��C������,�3 �2F��� ���������2=-B���C�<���A��b O���*�������������-(��SL�(����(&�r (��sL����;,��3�-&

�������?��-`�3 �2F���'����:=��#�A�� #������t �2V��B! &��� ��������� &��2����", K������ &�", �*����������3 (�2F��3 (7# ���� �� ����8��?�"�,

��������� ,�����-�� 7,�� &���� ����C����*����������������������A(��������(��3�(�1� (8��"����� ;��������������"������"F ���"J1 K;������� ]���

��� ���������G��-��C� �)�����! +&���� ,�"���*�������������"M� ��������A��������������-�� (:���(�������� ����+�M�A����-���8�-=����T 8� 7�#

����C����/& �� ��3�-&����*�LP+��������'��! +&�-�!�C� �� �, ��C� ��A����������;���@��

CreditCard CreditCardID

VISA����))))

MasterCard����4444����

Discover Card����eeee����

American Express ffff����

������������! +&�C� �� �1� ��A����,��#�"�������2���&�CreditCardID������� �(� &��2����d ���������C� �����*�����"F (���"J1 (K;�� (&��'��-(8

��"M� �W���C� �� �, �Orders�Z����C� ���&���CreditCard���������������2(�� &���� � &��2����",�2�� � &� � &��2����d ���CreditCardID��!��

��C� �CreditCard��� � &��2����p��E#��*������% ����d ���C� �������3-E��-8�������������� (� &��2(�����(������+(�M�!��3� :�� � &������= $��

W�C� ����p�E���-E��A�� � &CreditCard � &��2����*Z�

�������;����!�� G&�����+������� ����FOREIGN KEY������"��"�-&��� ,��?���*�

���3�UB�\ , ���3�UB�\ , ���3�UB�\ , ���3�UB�\ ,����

��!��-K&������� �������C�9���&��;����!��/���'�����!���Y�M� �1�3�-&��!��-`�"�������3�UB�\ ,�/� +���&���% ��t ?���&�*�

�2;,�2;,�2;,�2;,@@@@�����������������������������������(;�����(,� (����> (02,����\ (,�A�� �,��#�"���������8��?� ��-�� 7,�� &�/<=���������������d��,��!��\� ��-8�3�-&

�����8�-=*�'�!�� �,��#�"�����"�G�������&SQL Server���8�-=� ��3�-&�\ ,�A�� �8��0&� ���* ����3�������������!��*��F-���&

�"2�������= �� �8��?SQL Server��?��&�l�<0��\ ,��� ��\ ,����� ���"��� ]�����b��-�u� �O�����*�

�����������������������;����2+���SL�����&�% �� �M�#�\ ,�!���,��,�A�PK_Employees_)f6C5AeF� � &��*����������X(��#��(���(���"� (,��(��

SQL Server�A��3�-&��C� ���� �L�Employees�"# F�H��A, &���Accounting���� (]��������/<(=������������%�-�� �M�#�

������"���'PK��������"L9�� �L��3�-&���'Employees����C� ��3�-&�Employees"=� <#�� :��A����:&�������4������"� 2;�� #�����

� ������I#�*���������O2���3�UB�\ ,�d�,�����!�� �,��#�"��", �!�X:=������������ (����� (]����K�-;���p�-H�!����"L9�� �L����� ����%� �*�����!�������-(B�

�p�-HManagement Studio�\ ,� ����� ]���PK_Employees����� 8��?����*�

)����������� 4�Random

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 163: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�����+�,� &�"L�?��LP+�������������������C n������F��&�v� ����"���= ���-J����������3-2���A����;���� ����'��� ����&CHECK��� G&����������(�����

����/<=��������� �, ��\ ,�A�������;�������"��%� O2CK_Customers_44A4wwi�� ���� ]����*��+������!��'����A(������(����(,���"�� �

� ��CHECK�����'���8 ���;����x &��-J�����1�y�8� ��CHECK��,���"�,��+�1�*�

�������� ����� �1���,��#�"���;����/�M���&CHECK�������� &��2����C� ��A������'�� ����-8� �2+,��#�"����\ ,�!��\� ������� �������F��&���-�!�3 8

�-�&� ���&�C� ��A����*�

CK__Customers__44444444AA4wwi4wwi4wwi4wwi

CK__Customers__46ziwif)46ziwif)46ziwif)46ziwif)

CK__Customers__4i{4i{4i{4i{ABA{{{{A

����+�,��2OB��&�\!r��'�����������������������+(&��(��� (���\� ���&�k�&-��\ ,�\� ���;����� ��7=������^��-��������������!��";�� �� &��2����! �,�-B�� �

�����0��*�

�������������������������%� O2�����UB�"��-�mg#����3�����",�2��3 7� ,� ����� �������+��A���� ���d�,�!�����"���-#�!���<0���&����;�*�������(�F��(&

C ((n��' �((��-O&�-(($� ((&���C�<((���A((�� ((�,��2,��((����-& ((�� ((������I((#��((����((� &��2((����3 ((���"((2����((����((;����!�

CKPriceExceedsCost � ((�� ((��������((���"2((���3 ((�&�Q((M ��3���� ((7�OL#�% �((�� ((���"((�����I((#��((��",�2((��3���!�

CKCustomerPhoneNo�%� O2�������*�

�����������������"��%� O2������!��> 2�����������3��1�-8�3�UJ� ,� �, ���'�����������+�,��7��"L�?�"L�?� ����"��3�UJ� ,��� 8��1��,�J1��;����*

�����7�����3��1�@�

� �� &�\ ���& m*

� �� �7O&������ ,��2&�|��-8���� ����3�UB�\ ,�3���,�B��&���*

� ����> 02,��% #�������� �,��#�"�� :1�-8��8�! &�r &�������2=-B�-Y,��� &*

� ��-K&���C����������?�!��@������ ;�����"+��, <2?�� ��c�

� �L������� �L������� �L������� �L����������

����������������;���"# F�H��A, &��2=-B� ��3�-&�b�#���"G�����\ ,f������ �� &�% ������C�� 2�� �L��d�,��*��"L9��3 8 �L�� 7�����'��3 8 (�L�

"� ?��'���N, ��3 8 ��)��,����3 8 �L����4�*/<=�����3�-&�'������� (����"(��C (�F��"# (F�H��A(, &�����3��(������C���3 #���� �

�����"��"�-&�*�

�2;,�2;,�2;,�2;,@@@@���� � ����,���� �L��-8���������a? ��A��Wa? �������/<=����� 8w������"��"�-&Z��� (���"(�,�C (�F��C� ��3����3 ������*

'%����"J1 K;��C �F��3 ���&��,����3 8 �L�� �2+8� 8�%������-��Q#-��3�-&����J� ��%��A��X:=�*�

������������������ � ��&��;������ 2� 8 �&-���|`����������-� ����"# F�H��A, &�"V�-H���"L9����8 O��!��";�� 8 �L���'���2�7��!��";�� 7,����-

,���"��"# �V����7�� �+&��� ���"V�-H�/<=���3! ��C �-,��&����"2����� �,��?�"��> 2������"H���� �2+8�"��8 O��*�

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

)�Alternate 4�Inversion

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 164: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��������������������PRIMARY KEY��������

���������������A, &�������"����������t ?���&�!��"��� �8��%! ����+�1�"L9�� �L�������8��D�$�#��;����!��/��������(E&��"# (F�H��3 (8

��������������8� &��� 8�%�������#�"�����% �������} ��-&�3��X�#-����� ,��% ��� ]����-���*����!��-E(��-(8�3�-(&� 2;���� ���A���2����������!�

����# F�H��A, &�A����C� �����3���E&��"W�����������"� �n2����'���������� ,�"L�?��LP+������ ���Z������3�-$� �+&�*��� (2;��S(� ���A(��

������ ��:2+�� #� 8��"����%! ������������������� (�����G��-��"# F�H��A, &���-J���C� ��A��!��-E��A���&���'������������������(&��(E&��A(�����-& (�&

����"��� ]���C� ��*�

�((2;,�((2;,�((2;,�((2;,@@@@��� ((O#�����3� ((�!�3 ((8X�((��� ((&��((�����((��"��8 ((O��"�� ((��3 ((8mainframeA((, &� ((����"# ((F�H��3 ((8ISAM�

(dBase,FoxPro,Clipper,etc)�����3 8��8����z5�����w5������������*����-8��� 7E���������������������'��2(���� ��-(����(��A(�� (&��(Y�M�

r��G����������������������-B������N��"����2���?�"�����3����C �,���&��������"��! &���C� ��/�������������������2(����! (�,�-(J���C� ��!����"� 8�%��

�����������������������������Q(��-#�"+(��,��(� ,-&�p�-H�!���� 7,������2=-B�"��C� ��!����! �,�����3 8�%����|K�������-��"��! &��, B� ���H��&���C� �

����-��"�*�

�������� �2+8�-E��-8�3�-&� 2;��3 8��� ���"L9��3 8 �L��*� �� &��2���� 2;��� :��A�� � &� 7,�W�� �,��#�"�,����_�8�NULL� �(� &�Z�*

3���E&��"# F�H��A, &��� 7,�����8��/�M���&�' �2+8� 8 ����� 8 �L����8�� ��&����� `�"L9��3 8 �L��*�

�2;,�2;,�2;,�2;,@@@@����������������� &� ���"��a0N����C� ��-E��-8� 2;���H��&������"L9�� �L�GUID��������3��1���-��a0N��3�-&�3-#�"L����&�����W���,

� 8-E��X:=�Z����� �-�J,�% �2��������"�� ���&�� ;����� �!�\ �#�*�A�����"2��GUID�����"(��%� O2(���"L(9�� (�L������F��&��� ,�(�

�����r��G��������"�� &-���F &����������+�,� 7,���&�3! �,������ ��-��C� ��3��2��� &�X:=����"2����*�'�(:�:V�������!��%� O2(����(��"� (�

GUID����������"2������� �O��%����% J� `�X�������������������������"(��%� O2(���"G�!�#�3 7E���� ��-�n;#� &� ��R������"L9�� �L������F��&�������

�����*�

��������� � &��2����"L9�� �L��A�� ,��#�"��-n�� V�C� ��A��*����������E, �8��������������"L(9�� (�L��A(�� �8��?�"�,����"M� ���2�����2OB�

����� ,� �+&���� &��2�������*�

�2;,�2;,�2;,�2;,@@@@��������L��!�����"2��� ,��������������� ,�"L�?�"L�?�\�Y�������"��%� O2����*������������� (&�� (���(&� � &��2�� ,�"L9�� �L��A�����"M� �

����������~� �#�3���E&��%����% J� `���8 O���'�������������%���� �(� &��2(�����(E&��a0N(������A�� &� �������I#� �,��#�"�,����"�G�������&

,��8� &���� �N�� 8��0,�"M�H� ���C� ����������3 8 ,���"�� B! � �*�

��2;,�2;,�2;,�2;,@@@@�������� :E������ ����-E�� �1����"G����������9�� �2+8�� +;���8� &������������&� �������+�,�"�G�������&��LP+������ ����+�,�C��G��-�u�

����! �,�"L9�� �L�, �� �*����������� �� &��2���� �L��d��,��� ]����&�"8 J,� � &� �������������*�������������A(��!��%� O2(��� (&�Q(Lu��� 7�N(�`��������2(�

�!�����"� � ��GUID �2+8�-#����/& ��R������������������"��3! ��%� �`� ���"��%� O2���*��

�����"L9�� �L��A�'�����2������"� 2;��������"� 8��������������������(�F��&� 2;��� :������� ���"�����I#��� �2+8�"L9�� �L��!��"2�+����3���(� ��

������� ��;���/�F�C� ��3 8-E��!��\� ��-8�3�-&�*���"M���������������������c��(���� (]���"L(9�� (�L��A���,�J1������������ �;����E?��8h��&��

��F��������� ������3�-&�%������@�!�H��2���p�-CREATE TABLE��2��� ����ALTER TABLE*��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 165: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�C� ���2? ��\ J�8���"L9�� �L��A��� ]���C� ���2? ��\ J�8���"L9�� �L��A��� ]���C� ���2? ��\ J�8���"L9�� �L��A��� ]���C� ���2? ��\ J�8���"L9�� �L��A��� ]������

����2���!��";���&� �� �&CREAT TABLE,����-��"�-&�/���/<=��������� &��2����"8 J�@�

�CREATE TABLE Customers

(

CustomerNo int IDENTITY NOT NULL,

CustomerName varchar(��) NOT NULL,

Address� varchar(��) NOT NULL,

Address� varchar(��) NOT NULL,

City varchar(��) NOT NULL,

State char(�) NOT NULL,

Zip varchar(��) NOT NULL,

Contact varchar(��) NOT NULL,

Phone char(��) NOT NULL,

FedIDNo varchar(�) NOT NULL,

DateInSystem smalldatetime NOT NULL

)

����2������CREATE�������� �-&�-Y,��&�"�� ��"��������;�����������'���������� (,�-&�����7����+��A����� ����'�����"L(9�� (�L�� (���*��"(�

�����2����8��?CustomerNo�����������[�-G#�"L9�� �L������F��&����*��-1CustomerNo�c����(1��(���-27&�����LP+������ G&�/<=��

��������&������> 02,��"L9�� �L������F��&���3��1���-����8��?�"�-��'������� ����-;=�����&�R���"��������� ����'��������� (&�3-2N(�������,��(#�"�� ��

��A�CustomerNo����� &��2������c �P�E���'-�?����|`�CustomerNo�����������(���3-2N(��A(��"� � ���3�-&�����B���-27&��*���(:�:V���'

�2����"9 ?�-��.#��&�! �,��;������ &� �� �� 7M ��3�-&� ,��#�"��"�2+������1 � &��*�

��2���-��.#�3�-&CREATE TABLE� ���3�������"#�9��&�PRIMARY KEY������ (����&�k�&-��� F�H���+�= �� � &�

",�2���������W���2�� ��"� 8�Z��+���&� � &�"L9�� �L��!��"2�+����8��?�"�����*�������8��?����������@�

�CREATE TABLE Customers

(

CustomerNo int IDENTITY NOT NULL

PRIMARY KEY,

CustomerName varchar(��) NOT NULL,

Address� varchar(��) NOT NULL,

Address� varchar(��) NOT NULL,

City varchar(��) NOT NULL,

State char(�) NOT NULL,

Zip varchar(��) NOT NULL,

Contact varchar(��) NOT NULL,

Phone char(��) NOT NULL,

FedIDNo varchar(�) NOT NULL,

DateInSystem smalldatetime NOT NULL

)

���� ���#� ' ���� �-��� �� ������ �8��0&� -B�� '� �2��� !�� %� O2��� &� �� ������C� �� �� &� �2���� ! �,� � 2&�������;��DROP

TABLE Customers ����TUV��*�������-��.#���X?�A��X:=���� �������#W��&� � ��TUV����-�����3 ��S�8�Z� ��X?�A���

���-���= $����2��A��3�-&�*��A���� &���L����", ��� ���������J&� ���% &���'���-���= $����3 �L����L��A��X:=W�� �+&

>�?�'��L�����' ����"��/�F���9�A���&� ���Z���-��� ]���"L9�� �L��A����*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 166: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�������C� ����"L9�� �L��A��� ]���������C� ����"L9�� �L��A��� ]���������C� ����"L9�� �L��A��� ]���������C� ����"L9�� �L��A��� ]������

��������������������G#������"L9�� �L��A����8��0&������� &��2����"M� ��-B��������������8��\ ],�� � &�3 ���1����c����C� (��3�-(&��� ������ �

Employees��8��"��\ ],���*�

USE Accounting

ALTER TABLE Employees

ADD CONSTRAINT PK_EmployeeID

PRIMARY KEY (EmployeeID)

��2��ALTER��&�SQL Server ��B�"���@�

� �����"���= $��C� ���&���3��1W��_�8�����TUV�C� ��!����3��1���,��#�"����8��0&�-B�� ����*Z

� ���-���= $�����3��1W� ���A�*Z

� � &��1� ���\ ,���8��?�"�W�� G&���� ��:2+�� 8��"��%! ������ &��2����"�-2��� ����&�*Z

� ���d�,W�PRIMARY KEY*Z

� ",�2�W���2�� ��"� 8�Z����"��C �F�� 7,��3�� �����*

��������������������FOREIGN KEY��������

������������������ �2+(8�C�� ����&�3 8��E&��-J, � �,��� ,��"�� ���&�%����"J1 K;��!��� ���H��3�-&�"� ?�3 8 �L��*�������� (�L��A(�� �(��"(2��

������� ����"���= $��C� ��C�� ���&���"� ?��'�"J2+&���A�)��������� ���%�-��[�-G#��������"� ?� �L�����W����% (����d ���C� ��Z���"M� (���

��������&�"� ?� �L������ ,���d ���W��R�-��C� ��Z�� ���%�-��� ]���*���������������d (���C� (�����(��3����-8�'"� ?� �L����-���= $��!�� G&

���2����p�E�������A�� � &�����"���= $��% ���W���2�� ��3 8�Z � &��2����R�-��C� ����R�-��'�����2(��� (:���(;���� �W��� (�

��2��3 8�Z� � &�"� ?� �L�NULL �� &��*��;�� �-&�-Y,��&�% �_�`�"�������'�����"�-&���C n��A�� �� �&����-& �&�*�

�2;,�@������ � &�����B�"�����"2���NULL��������Y�������2���/;��INSERT������*�������3�E, �8���2=-(B�� ���'���"(2��� (8�%���

�[�-G#������"� 8�����B��&��2+&� ,���"������C� ������FOREIGN KEY��-�����G#� �� &��� O2��"��������;��� �*�

�������\ ,��&�-J���"M� �� �8��%! ��orders�����"# F�H��A, &���Accounting������ ]����*��K�-;��������� � &����3��1CREATE��&�

��������������������-��%� O2���"� ?� �L��!���8���"L9�� �L��!���8� ������������� �������#����*� ��-:#�"� ?� �L�����(��"(:�-H�� (�8�!���� (�L���

����"���= $�����-���= $����"L9��'&�����d ���3��1��1��&��������J&� � &��;�����]�*� 2? �FOREIGN KEY��} (��-&����

����-�!���9��&����-���= $����"� ?� �L�����@�

�<column name> <data type> <nullability>

FOREIGN KEY REFERENCES <table name>(<column name>)

[ON DELETE {CASCADE|NO ACTION|SET NULL|SET DEFAULT}]

[ON UPDATE {CASCADE|NO ACTION|SET NULL|SET DEFAULT}]

� ����� �2��� ����� �2��� ����� �2��� ����� �2��@@@@�"� ?� �L�� &�C� ��A��� ]���"� ?� �L�� &�C� ��A��� ]���"� ?� �L�� &�C� ��A��� ]���"� ?� �L�� &�C� ��A��� ]������

)�dependency

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 167: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�G=����+��ON �-�J,�-Y,������*�C� ���K�-;��Orders � &�-�!��K�-;��� �, �� �,��#�"��@��

�USE Accounting

CREATE TABLE Orders

(

OrderID int IDENTITY NOT NULL PRIMARY KEY,

CustomerNo int NOT NULL

FOREIGN KEY REFERENCES Customers(CustomerNo),

OrderDate smalldatetime NOT NULL,

EmployeeID int NOT NULL

)

�A�� � &� ����8��"��d �������&����",�2�� �������#PRIMARY KEY� ���A�� �� � &�UNIQUE� � &�% ��[�-G#����3��

W�����UNIQUE� G&����������8��?�D�$�#�/<=�������*Z�

����

�2;,�2;,�2;,�2;,@@@@�����������������������2�����������2��A���� ,��#�"��"� ?���"L9��3 8 �L������+���� �������#�����&� � &����3��� �� &�*��� �,��#�"�� ��

�C� ������d�$�������!��3���,��,Order Details�"# F�H��A, &���Northwind ����&��*��!��"(���-#�"L9�� �L�� ],�������2(�

8��3ProductID�������OrderID�������'������������������C�� (���(&�Q(�#-#��(&��(�� �2+8���,�"� ?�3 8 �L�� 7����3���-8Products���Orders�

,���d ���*��������8��?�"� ?� �L���8���"L9�� �L���8������2��A��3����������"��� ]���C� ��A��/<=��������*�

� ���"�� ���,�J1� ���"�� ���,�J1� ���"�� ���,�J1� ���"�� ���,�J1cccc����

�������� ��-���-�����:=��� &���/��� �����"2����'sp_help������������������������� (F�H��3 8 (�����+(���(&� (� �� (���A(���(�� (���&�"���� �����-�����

sp_help��% ���= $���*���8��?�"��-B��������������� (�,��#�"(�� (�����= �������&�R���3-2N�&�� F�H�� sp_helpconstraint����� (�����-(������*

����%� ����� 2? ��@�

�EXEC sp_helpconstraint <table name>

sp_helpconstraint������ � ��C� ������Orders������\ ,�x &��"# F�H���� �����-�����'��������������C� (������(������(���S�8���G$����X&��$

� ����"���= ��*����������'�C� �Orders� ���A�� ��FOREIGN KEY� ���A����PRIMARY KEY�����*�

�2;,�2;,�2;,�2;,@@@@�����"2��sp_helpconstraint �����-���C� �������'���L���clustered����+������������PRIMARY KEY�-8 ��

����"��'�����3�����?�a? ��A��������"�G�������&*�/<=��wO��������8��?�D�$�#���� �F�����\�7�*�

�������������% ��%����d ���C� ��";���=�[�-G#���"� ?� �L���'������������C� ��!��-�U` ,�"�� ����+��A����������*������(���(���E, �8����

��/<=)��������D�$�#���'���������b��?�"J1 K;��C�P+��"# F�H��A, &��'�������������������(�� (���"(��C (�F�� (8�%����3����3 (���"� (?� �L�

����a:,���Q�F��� &�"# F�H��A, &�"J1 K;�� 8��"��� ���H��*�

��"L9�� �L��T�?-&��'������������2+�,��� ���C� ��A����"� ?� �L��A��X:=��2�����&�*�������(&���,��#�"�5���� (#�46e��������-(8���"� (?� (�L��

����� &��2����C� ��*������������������d ���"L9�� �L��A���&� ,��#�"��a0N����2��A������+�������� ��� 7�#� � &��2�*����� (�,��#�"(���1-B

������������� �8��"��/�;N#���"� ?� �L��A���8� &���� �� &��2������2���� �1�*��������(���"� (?� �L��A��d ���T 8����l ?���2��A��

WR�-����2��Z � &��2����d ���3� �!�C�� ��!�� ,��#�"��*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 168: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�������C� ��A����"� ?� �L��A����-���= $��������C� ��A����"� ?� �L��A����-���= $��������C� ��A����"� ?� �L��A����-���= $��������C� ��A����"� ?� �L��A����-���= $�����

��"L9��3 8 �L�� �, ���'���-8� �3 ����'��������������������= ($���������������������"M� ���&���"� ?� �L��A����8��?�"����� ���"��^�`�"G����

�����*����"L9�� �L��� ]�������� ������S��-`�*�

����� �2�� ����� �2�� ����� �2�� ����� �2���@�@�@�@�������C� ��A���&�"� ?� �L��A����-���= $��������C� ��A���&�"� ?� �L��A����-���= $��������C� ��A���&�"� ?� �L��A����-���= $��������C� ��A���&�"� ?� �L��A����-���= $�����

��������C� ���&�-J���"� ?� �L��A�� �� �&Orders������� (L�=� #�������= $��EmployeeID��������������C� (����(����(���",� (�� ���(&��� (�����

Employees�� ,��������W���������"�G�������&ID���O�����3 �� ����������� &��2���� ���"��������"� Z�*��������&���������t �2V��' ������3�-&

�������������a0N��R�-��C� ��������A�� 2;���H�*����������E, �8���\����D�$�#���'�������� ������ �,��#�"������� �L��A���&�d ���SL�����&

���� ���A��"L9�UNIQUE����8��\ ],���*�������������'���C� (����/<=�/����������������"L9�� �L��!�Employees������-(��� (]���

�����"���%� O2���@�

�ALTER TABLE Orders

ADD CONSTRAINT FK_EmployeeCreatesOrder

FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)

������sp_helpconstraint�C� ��3����Orders����% ���= $�� � �� ������ ��� �8��?��� �����-����*�

c ���"�� ���,�J1c ���"�� ���,�J1c ���"�� ���,�J1c ���"�� ���,�J1����

�������� ���"��/�F���?�"L��� ��� �, �� �����-?���'�����������������? (&� (,��������C� �������"� 8�%����3�����3��% F ��!��C� ��";���=�[�-G#�-�

����*�����������������������"(�,�%! (��������������= $��3���F���2��A����3���2��%����A������"�,�%! �����������C� (����3-E(�� (8�Orders�

���������b O�����C�P+�����3 �� ����������= $�EmployeeID� � &��2�� ,�3! ]��*�����= ($����3-E(�� (8��0&�3�-=��_, �1

� � &��2�� ,�":E���3 �� ��������� �������-���= $��/�FOrders����"�,��2=-�U`�"J1 K;���OV�/�M���&��*�

�2;,�2;,�2;,�2;,@@@@������������������]�2,�3 72,����X?�A��!��8������"���= $��"� ?� �L�� ��"2��� �������#sp_helpconstraint�����������W�������(B-&��� (�

Message�����B� ����_, �1�Results in Grid� �(� &�%�-��> 02,���Z���� (��B�"(���(�No foreign keys reference this table�

W��L��y�8�������� ,�d ���C� �������&�"� ?� Z��'����� ��B�"�� ���&�\ �`�������M V��������������������(&��(���(����"� (?�3 8 (�L��C� (�������� ���;

������� ,� ,�d ���C� �������&�3-J���C� ��y�8�����d ���-J���C�� ��* ����&����� O#� �8��?�"��-B��'��X(:=sp_helpconstraint���

���C�� ���Customers��� ��Employees�������������C� (���L�����&�C�� ������!��\� ��-8���� ���&�"���� �����-���Orders���% (��%����d (���

,��*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 169: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�d �����?�C� ��A��� ]���d �����?�C� ��A��� ]���d �����?�C� ��A��� ]���d �����?�C� ��A��� ]��))))����

��������!�� �8��?�"�����"M� �����;L&� � �,�3-J���C� ���� �� &��2����d �������&� �8��?�"�����",�2��-B����� (� &��2(����d (����

��� 2=��"��"� O#���1��c������� � &�b��?�R�-��b��?� ,��#�"��"M� �� ����c�L&�������������� (����+(�,�C��G��"L�?���G$��A�������1-B��:�:V��

����"��%� O2���3�������*�

�2;,�2;,�2;,�2;,@@@@��������������3 L�=��&�! �,����d �����?� ���A����8��0&��;����!��/��WNULL�-�U` ,��Z�������"� � �����2���� `�-&������LP+������������ ]����

��������������������� &��2����C� ��������A�� � &�/�� V�"� ?� �L��A����-���= $��!��/�����������7�� �+&�*��������(:�:V��(���!��/;N��c�-1

�����������������������"���= $����> 02,�� ��C �F����"�-&�"� ?� �L���;����!�� G&�"� � ���� :���������"��"� ,��'�������(��"(�G���(����&W����� (&

�;����� �� &��2����C� ����3�����Z����%����d �������&�"�-&�R��������� �� ,�C���-E��3�-&���3� :��*���(�����-J�������B

�������������������� ����C G=�-�u������C���-E����-���= $��!��/��� ��� ����� ]�����"� ?� �L�����������������*�����������(�����-��C G=-�u������

8��?����9�/<=��������-����*�

��>�?� �+&��'�������������d ���"� � �����2��} ��-&�",�2���&��������"M� �������;����/�M���&�'��-(Y,����� �����-���= $��!��/��� � &

������= $��C� ������3-E�� � &@�

��INSERT INTO Employees

(

FirstName,

LastName,

Title,

SSN,

Salary,

PriorSalary,

HireDate,

ManagerEmpID,

Department

)

VALUES

(

'Billy Bob',

'Boson',

'Head Cook & Bottle Washer',

'���-��-��',

������,

����,

'����-��-��',

�,

'Cooking and Bottling'

)

�������-���= $��-E��A�������������= $����"� ?� �L����,��#�"�*��2��������ALTER���"� ?� �L��[�-G#� �, �� ������

����-J��������*������-������2���������,��#�"��������@�

�ALTER TABLE Employees

ADD CONSTRAINT FK_EmployeeHasManager

)�Self-Referencing

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 170: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

FOREIGN KEY (ManagerEmpID) REFERENCES Employees(EmployeeID)

������2��� &��� O#�A�CREATE������������*������������� (�,��#�"(���(���(��������-�����#�"�����3 �W�������� �2+(8��(�]���(;�����(,�Z��� (�F

FOREIGN KEY���+��!��X:=��� �-�J&�% �� ,���REFERENCE�����%� O2����*�C� �� �Employees����������-(��� ]����'

������������8��(0&�-B�� ���������������������(���-(�!���(9��(&�����K�-;(�����(���� (]���� (2&��!��W�����������������2(��3��"� (?� (�L���(&�3��%o(����(��#

ManagerEmpID �� &��2����Z�@�CREATE TABLE Employees

(

EmployeeID int IDENTITY NOT NULL

PRIMARY KEY,

FirstName varchar (��) NOT NULL,

MiddleInitial char (�) NULL,

LastName varchar (��) NOT NULL,

Title varchar (��) NOT NULL,

SSN varchar (��) NOT NULL,

Salary money NOT NULL,

PriorSalary money NOT NULL,

LastRaise AS Salary — PriorSalary,

HireDate smalldatetime NOT NULL,

TerminationDate smalldatetime NULL,

ManagerEmpID int NOT NULL

REFERENCES Employees(EmployeeID),

Department varchar (��) NOT NULL

)

�2;,�2;,�2;,�2;,@@@@��� �������#� � &���'�����C� ����� �8��0&�-B�Employee� ����TUV��Y�M���������W�/��� ��3�-���3�-&�Z� �8��?��= ��� E?�A�

�-��*��������C� ��!��d ���A�����"2���c�-1orders����C� ���&�Employees������ �2+8��JM��A���&� �:��������C� ���������'���-��� ]���j�

������C� �����"�G�������&Employees� �������������"J2+&���\ ,��&�3��1���� ,����������C� ����"� ?� �L�� � &� ��orders������ (#� (����TUV�

�C� �� �� &��2����%! ��Employees� ����TUV���W�n�� ��C� ��CustomersZ�

�2;,�2;,�2;,�2;,@@@@�%��G&��'����������������������C���������� 8��"�,�%! ��� ���&� �������F��&�d �����?�"� ?� �L��� ]��������������(&��(���(����(7������-& �&�'���

��������������� :����8��%! �������"��C �F�����3��"� ?� �L�� ������3-E�NULL��-�UK&���'������������2(����"(M�����(�� (�,��2�����(9�����

�� :����� �� &NULL�� ,���M���-E���&�! �,��� � &��2������2�����3�-&�*�

�8�-���N`�C �F��8�-���N`�C �F��8�-���N`�C �F��8�-���N`�C �F�))))����

�� O#�!��";���L����&��7��3 8 �2+8��27�����"� ?�3 8� �L��d��,��-J�����"L9��3 8 �* 7�#� 7,��-�m #����"�G�������&���� ��

�&� ,!-=�C�� ����-���+�� M���C� ����������-�� :��W& �, ��"�,� 7�#�C�� �� ������ Z� M���C� ��3�� ��"L�F�"2����;L&�

��"��"�-&�% &��� ,!-=�C�� ��3 8-E����8��"��\ ],� ,��*�q-=�^�`�/�F SQL Server���-��� `��� M�����-���� ���

,���d ��� 7,�� �&� ,!-=�C� ��3 8-E���������"� 8-E�*����"2��������TUV� ���2+&��� ����-8���8��?�"��� ����"8 B

�����"��� `���R�-������*����"��C �F���8� 8����", ��!�-&�/�F��� �����8�*"���;��E&��2+&���3 8������8��?�

,���%����d ���% ��", ��!�-&�"B! 2&����3�����&�A�# ��#���E&�*�R�-��-E�� �8��?�"�� ����������3���,��,�-#�� ,�����

)�Cascading

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 171: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��8��-��.#�% ���2? ���X��-��"IG&��&���*����3�-&�'��&����2+&���-E������2������ :����� ������%! ������� ��NULL� ��

�������G#�q-=�^�`�� :�*�

��-��TUV��,�J�������-`�", ��!�-&��� 8�� 8cascading)����"��% �� ,��*��8���-��TUV�3�-&�%o����E&����-`���"�������

"J2+&���!����r� �1���&��� ,��#�����-��� 8�*�W-J��������&���,������������2+&���-J��������&�����A�����"2����2+&���3

�������Z***�

������8�-���N`�C �F����,��#�"���,�J1SQL Server��8��\ ],���c� �L��[�-G#� 2? ����9����8��\ ],�� � &����3 ����8

����"� ?j���+��X:=�ON,��� 2&��������������"���= $����2=-B��% �� ,��-*�

� � ��C� ��A����-���= $�� &� �� ������ �8��%! ���"# F�H��A, &��Accounting�����"�-&�� *�%-�?h�3�-&� ��C� �����

��-,���������"��� ]���b O��-8�\���OrderDetails��� ,�"��@�

�CREATE TABLE OrderDetails

(

OrderID int NOT NULL,

PartNo varchar(��) NOT NULL,

Description varchar(��) NOT NULL,

UnitPrice money NOT NULL,

Qty inT NOT NULL,

CONSTRAINT PKOrderDetails

PRIMARY KEY (OrderID, PartNo),

CONSTRAINT FKOrderContainsDetails

FOREIGN KEY (OrderID)

REFERENCES Orders(OrderID)

ON UPDATE NO ACTION

ON DELETE CASCADE

)

�� �&�|`������3� �!�� ����� �� &�����������+:#���+�� �1��&��� 7,��*�

�2;,�2;,�2;,�2;,@@@@�������������!��-K&� ��������"� ?� �L��� ������&��;����!��/�����'�������������% ��[�-G#��,�J1� ]������"L9�� �L�� �������#�*��[�-G#�3 ]&

������������� ���2���A������F��&��-,���2=-B����<#�' �L��!�� G&��L9 =�&������\��%�-��[�-G#�*����"L(9��3 8 (�L��!��%� O2���/�7+#��F &� �����

",�2((�� ((�1W��((&���������((#�"((�,���((9��((������((��-((��[((�-G#���2((��A((��3�� ((������((�F�Z*��2((���-2N((�&�"� ((,��?���

CREATE|TABLE������"���*��������������(��[�-G#���2��!�� G&��L9 =�&���"� ?� �L���2+,��#�"�����_�8��'���(;��E, �8� (����� (]�������

\����\ ],��'\�-��[�-G#��� 7,���, B� �� ����2���A������F��&�*�����"��% ���d�$��������&�/<=��������*�

� 2&������"L9�� �L��!��"2�+��"� ?� �L����� �������#�*���+�,�C��G��-�u� ,!-=�C�� ������G$�������QLu���������"2�G$�

���"��^�`�X�#-��C�� ��3�-&�W���������"�����9� G&�/<=��������Z*!����]��3 ���-8� �� &��2����-H 0&������-J��� ���

�:2+���� 7,�� ���= $���' �8��"��-��.#� ��TUV*�

|K��' �������#�"� ?� �L��[�-G#��&@�

�FOREIGN KEY���������������������������� (OrderID)

REFERENCES������������������������������������ Orders(OrderID)

)���8�-���N`�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 172: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

������-��[�-G#OrderID������ � &�X�#-��"� ?���2��A���&��*������2(�����������W���������(8�! (&��(�OrderID�������\ (,��Z�����C� (��A(���

��, B� �WOrdersZ�' � &��2���������C� ��� �8����+,��#�"����2�������� ���/<=�3� 2&�����;��E, �8� ��*�

�2;,�2;,�2;,�2;,@@@@�����������������-G#���������"M� ��� �8��&� �����"� ?� �L��� ]���\ J�8������(&� (� &��������������3���LP+�������d �����&�% ��[

�� �������#����*����������C �F��!�� ,� ,�%! ����M V�������"� ?�3 8 �L�Cascade�� ����%� O2����*������������(:LV�� (]���!��3-�B�(L���(8����/�M�

����������-��.#���TUV�3 8�*�����������������&�����������"�-J���-��.#��F &�-��.#�A��3����������"�G�������&�����"(M��� ���"��"G����?��&�,

���� �8��-��.# ,���# ?��:LV�A���F� &��]�2,������"��-�U`�*�

�8�-���N`����2����2+8�% 8 N��3�-&�������'���+���&���������! �, ON��������#�@��

ON���� UPDATE������������ NO ACTION

ON���� DELETE���������������� CASCADE

�-��[�-G#�"F ���"J1 K;��[L20��� �L�F� ����*�����3��1�"F ���"J1 K;��/�F�A�� �,�&�} V� �,��#�"���;��E, �8

�-��.#� M�������-B�����������-�UK&�\ ],��/�F���� ������?��� ��-��[�-G#����"F ���"J1 K;��% F ��"2��� �8��?�"����

�-��� �`W��C� ���Orders�Z� ,!-=�C� ����-��.#�/�F������8��?�"�,� �WOrderDetails�Z����C �F��*�d�$���� ������3�-&

���Cascade\�-��> 02,����-��TUV�3�-&����*�

�2;,�2;,�2;,�2;,@@@@���� �������#�NO Action����3 �2?�� �������-�h�������q-=�^�`��*3 �L����L������������������:�:V �� (#SQL

Server45553 ]&���l�<0�� ��A�������&�% ���F &��� ��"�,�", ��2N`���3 (�L����L��NO ACTION���+(���&��*���! (�,�-(B�

�����!��"��($��(H��(&���($����-&�r &�3�-&��������"����9�#�'����", ��2N`�/���3 8��0+,�!����� �� ,NO ACTION�� (����

����%� O2��*�

�C� ��������A�� �� �&Order Details�����%� O2���@�

�INSERT���� INTO���� OrderDetails

VALUES

()))),�������� 'ffffXf646f646f646f646', ������������'This is a part',���� 46�5546�5546�5546�55, 4444)

����"���= ��� E?�A�� ���� ��% ���= $��%���� &� �,��2&��;����!��/���@�

�Msg 6f{6f{6f{6f{, Level )i)i)i)i, State 5555, Line ))))

The INSERT statement conflicted with the FOREIGN KEY constraint

"FKOrderContainsDetails". The conflict occurred in database "Accounting", table

"Orders", column 'OrderID'.

The statement has been terminated.

���������C� ����!��8���3����y�8� ��c�-1Orders�����-;,������'�C� ����3�������"2������-& �&orders�����"(���(,�J1�� (,���(���

c��� &��2����d ����������A���&���,��#�

�2;,�2;,�2;,�2;,@@@@�������������"�� ����3���E&��"# F�H��A, &� ��3 8-����!��";�� &� ]������������*��"J2+&���3 8�%-�],!��'���������"J2+(&���%-(�],!�A(�

����������������������������(&��E���8�������3-J�����1��&��2+&�����,���?����������3-J�����1��&��2+&������ ����3��1� ����������"��� ]���"E��-�

Q�#-#�*���#�"�,� ��� �� �,������' ��;&����3�-&�3������������ ���"��^�`�"# F�H��A, &� &� �����������3����!������*����d�-��%-�],!�3r &� � &

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 173: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

����� �����= $����! �,������������%�-����-V������� `������&��� ����*�, 20���?�'����� �2+(8� (],��QLu�� ����t �2V�����"� 8���

��� ],�"J2+&���!��DE����� ��A��!���� � 8��"*�

>�?� �+&�'�C� ��������� �-Y,�����-E���;����3�-&OrderDetails���C� (������(��A�� � &������Orders ����(� &��2(�����*

�, O� 2���������C� ����-E��A����-�����Orders������������C� (����-E(��A������������� ��! �,�Customers������(� &��2(����W�*���� (�L�� (��

��� �����"� ?Orders � ]���c ����-H 0&������-���Z�������A��\ ����M����� � &�|`Customers������ ]���@�

������P�E����������!�� #������> 02,�������� �� �&�|`������3-2N��A�� �������*�

�INSERT INTO Customers -- Our Customer.

-- Remember that CustomerNo is

-- an Identity column

VALUES

(

'Billy Bob''s Shoes',

'��� Main St.',

' ',

'Vancouver',

'WA',

'���',

'Billy Bob',

'(���) ���-����',

'��������',

GETDATE()

)

�)))) Customer No����Billy Bob's Shoes����Customer Name����)4e)4e)4e)4e Main Street����Address ))))����

����Address 4444����

Vancouver City����WA����State����wziz6wziz6wziz6wziz6����Zip����Billy Bob����Contact����(ei5ei5ei5ei5) 666666666666jjjj)4ef)4ef)4ef)4ef����Phone����we)4ef6i{we)4ef6i{we)4ef6i{we)4ef6i{����FedIDNo����4555455545554555jjjj5{5{5{5{jjjj)54)@){@55)54)@){@55)54)@){@55)54)@){@55����DateInSystem����

���A�� ������-&� �&CustomerID� :�� &�)������W�� (� &��� (O2�������;��� ���> 02,���&��2+&�� F������2�M��*������� (F��(���!�� (�

��2��INSERT3 G&�W�C� ���Orders�Z�-����8��?�%� O2���*�3�-&�b O��A�� �8��%! ��)�CustomerID������= $���*�

�INSERT INTO Orders

������������������������(CustomerNo, OrderDate, EmployeeID)

VALUES

������������������������������������()))), GETDATE(), )))))

&�����' ����"�� ��"&�0&���1���8*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 174: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�2;,�@����������;����/�M &� �������#� � &�������C� ������M�������A��Employees���������"�,��= ���"� E?��*�������%�-(;,��� (�������_, �1

��;����!��/�����&�! �,�����&SQL Server���-E��A����-���= $��%! ���Orders������= $���������-E��A�� 8 &���W��� (�L�� ��

�"� ?Employeesc ����"��-H 0&����Z�

�����������C� ������-Y,�����-E�� #���2+8�%� ��������OrdersDetails������= $���*��;����3�-&� 7�#CASCADE�������-(�J&�� (��-(27&���

= $��-E�����-E��A��3 ]&�����"���*�

�INSERT INTO OrderDetails

VALUES

������������������������������������()))), 'ffffXf646f646f646f646', 'This is a part', 46�5546�5546�5546�55, 4444)

����INSERT INTO OrderDetails

VALUES

��������������������������������������������()))), '5555R4f554f554f554f55', 'This is another part', 65�5565�5565�5565�55, 4444)

���-& �&�'��2���3�-��� &�������� �� �&SELECT���"�-&���@�

�SELECT OrderID, PartNo FROM OrderDetails

����"��%�����NB-&����������2���� E2,������E, �8� ������ &@�

�OrderID�������������������������������������������������������������������������������� PartNo

---------������������������������������������������������������������������������������������ --------- ))))���������������������������������������������������������������������������������������������������������������������������� 5555R4f554f554f554f55

))))���������������������������������������������������������������������������������������������������������������������������� ffffXf646f646f646f646

����(4444 row(s) affected)

���������������-���= $����2���?�"�����"#�9�� �8��&��� 8�%��������������'��������-(m���(&�"8 (J,� �� �&CASCADE��������2(����� (�� 8�%����3��

��� &�*�C� ��!����C� ��A�� �Orders�3�-&�"� O#���1���������&�"M�������"��TUV�OrderDetails2=�� 8��?�� *�

�USE Accounting

����-- First, let's look at the rows in both tables

SELECT *

FROM Orders

����SELECT *

FROM OrderDetails

����-- Now, let's delete the Order record

DELETE Orders

WHERE OrderID = ))))

����-- Finally, look at both sets of data again

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 175: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

-- and see the CASCADE effect

SELECT *

FROM Orders

����SELECT *

FROM OrderDetails

�����"��%�����NB-&� ���&�"�M ���� 2,����2�������3�-��� &@�

�OrderID�������������������������������������������������������� CustomerNo�������������������������������������������������������� OrderDate���������������������������������������������������������������������������������������������������� EmployeeID

---------�������������������������������������������������������������������� ------------ ��������������������������������������������������������-------------------- ����������������������������������������������������������������������������-------------- )))) ����������������������������������������������������������������������������������������������������������������))))������������������������������������������������������������������������������������������������������������ 4555455545554555jjjj5{5{5{5{jjjj)e)e)e)e 44@)z@5544@)z@5544@)z@5544@)z@55������������������������������������������������ )))) ����()))) row(s) affected)

����OrderID���������������������������������������������������������������� PartNo�������������������������������������������������������������������������������������������� Description������������������������������������������������������������������������������������ UnitPrice�������������������������������������������� Qty

--------- ������������������������������������������������������������������������ ------- ��������������������������������������������������������������������������������������������---------------------�������������������������������������������������������� ------------�������������������������������������������� ---- ))))������������������������������������������������������������������������������������������������������������ 5555R4f554f554f554f55 ��������������������������������������������������������������������������������This is another part������������������������������������������������ 65�555565�555565�555565�5555���������������������������������������������������������������� 4444 ))))������������������������������������������������������������������������������������������������������������ ffffXf646f646f646f646 �������������������������������������������������������������������������������� This is a part ����������������������������������������������������������������������������������������46�555546�555546�555546�5555���������������������������������������������������������������� 4444 ����(4444 row(s) affected)

����()))) row(s) affected)

����OrderID���������������������������������������������������������������� CustomerNo���������������������������������������������������� OrderDate���������������������������������������������������������������������������������������������������� EmployeeID

--------�������������������������������������������������������������������������������� -----------���������������������������������������������������������������������������� ------------ �������������������������������������������������������������������������������������������������������� ----------------����

(5555 row(s) affected)��������

����OrderID�������������������������������������������������������������������� PartNo���������������������������������������������������������������������������������������� Description������������������������������������������������������������������������ UnitPrice������������������������������������������������������������ Qty

---------- ��������������������������������������������������������������������----------- �������������������������������������������������������������������������������� --------------- ����������������������������������������������������������������------------������������������������������������������������ --------����

(5555 row(s) affected)����

�����2���A��"2��� �������#DELETE�C� ��3��X:=���Orders�����-(���-(����'���2(��DELETE�����p(�E���3 (8����3��

��C� �OrderDetails�����UB�"��-�m #��*����C� �����3 8����� ,���"��TUV�*��-B�CASCADE����������[(�-G#��(8���", (��!�-&�� �L�F�

����"��C �F�� ,!-=�C� ��3 8�����3�� ��"��%��������A�������3-��.#�-8�����&�%�-�*�

�2;,�2;,�2;,�2;,@@@@�����������/�F�A�����":�F�3�-&�"2��� ���y�8� �������#�CASCADE������� � &��2���������-�m #� ,��#�"�������� (,���(���*�������(�F��(&

C n������C� ��A��-B��'ShipmentDetails������/�F�A�� &������� &��2����CASCADE��3 8-E(���(&��OrderDetails����2(����d (���

��2���A�� &�X:=���,����3 8-E��|K�� � &DELETE�C� ����Orders ,���"��TUV�*�

��2;,�2;,�2;,�2;,@@@@�C �F�������'����� ,-E?� G����3 72�+��!��";���8�-���N`���(��"(OL20���������8����#�"�,�������2(���!�� (G&��DELETE���

UPDATE����a�0N#��� 8��"����"# F�H��A, &����*\� ,����F��8�-���N`�C �F���&�� �!����-J���/�r����/�M�������&*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 176: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�C �F��-J���C �F��-J���C �F��-J���C �F��-J��CASCADE��������

�C �F��!��������� �CASCADE����3������� ���������D�$�#�������-��.#�����-��TUV�"�G��&���� 7,����"���1�\�-��% ���

,���cSET NULL���DEFAULT�SET c�1��

��&���� �2+8�"� 8�����B� 7���SQL Server 4556� �, ��"L���3 8��0+,� &� �8��?�"��-B���� ,��% ���= $��SQL Server 4555�

����%� �� �+&� 7,���-�� �� ��� ��;,�%� O2��� 7,��!�� �� &��2����3 B! ��@-&�/�F�A��-B���� M���� :����� �8��\ ],��", ��!�

� &� ,!-=�-E��' 8��-��.#�-E��A��3�-&NULL� :�� ���-�B�"��� :����2�����q-=�^�`�*�W� ����;�����&��2+&SET NULL�

� �SET DEFAULT �� &�%�-��> 02,�����Z����%� �� �+&� �����*�

�"� ?�3 8 �L�� &���-J��������"� ?�3 8 �L�� &���-J��������"� ?�3 8 �L�� &���-J��������"� ?�3 8 �L�� &���-J�����������

�����������������-��-;=� 7,���&�R������#�"��"� ?�3 8 �L����&�\ �#��!��/������ ,��������3�����!��8�*������&�% &�����% &���> 2������"H

���?�"�-&�d�$���*8��?�"�� �������-�h� ]���������2;,������@�

� �� &�3 �2?��"IG&���! �,�����-�� :��"IG&�����"���F� &�"L� F��1*

� ��,�J1 � &��=-H���� ,��#�"��"� ?� �L��A�*

�������������c �� &�3 �2?��"IG&���! �,�����-�� :��"IG&�����"���F� &�"L� F��1�������"� ?� �L����?��G��H�!��% O2��� &��'�������-(`�3�-(&��(���B���

���-� 8���2�������������-��[�-G#�"� ?� �L������F��&��� 7,�����"�*�

� � &�Q� �2��3� :�� &�����2��A� ����-`�R�-��C� ����p�E�����2�*

� ��� 7,��� :���� ��;,�[�-G#� 7,��3�-&���� :��A���N��8NULL �8���-��*

�������������� �� &�! �,������N��8���� ����[�-G#�3���,�J&���"� ?� �L�� �,��#�"�� ��W�������������� (���(2OB����3�������!��C�������B��&�����-& �

������ ���ZV�-&��� ��������[�-G#� &�"2NOT NULL �8��\ ],��R�-����2�����*�� :�����"2��NULL����A(���� (,��#�"(�,�

����������-�u�� :��A���&�! �,�"� ?� �L���� � &�! ]����2�NULL � &��2����R�-��C� �� &�p�E����'���������(��-E(��-(8��(�� (�,���"(�

����R�-��C� ����":�E���*-J���� �F��&�'����! �,�R�-�*�

�����%! �������� :�����% ��%����d �����2���&��NULL�����(���B�������-& ���;����!��-�u��&������ 8��?��� 7���! �,�� �8��-�UK&���

������ ��;,����G#���3� :��y�8���� ,�����,�*�3�-&�"� �E,��y�8�-B��"2VNULL���= ($��/�F��8�! &� � &��2�� ,������R�-��C� ����

�&� 8��?�-�U`�� ;�����-��*�

c � &��27����� ,��#�"��"� ?� �L��A���,�J1c � &��27����� ,��#�"��"� ?� �L��A���,�J1c � &��27����� ,��#�"��"� ?� �L��A���,�J1c � &��27����� ,��#�"��"� ?� �L��A���,�J1����

������C �F��"2���QLE�������&CASCADE���������-��% ���"���������"��D�$�#��*�����"2��� ���'������������(���"(��[(�-G#���"� (?�3 8 (�L�'

��2+�,�������-J,�������� ��� 7,��������� ����"��C �F��C� �����-8�3����"� 8�*-&�%��F�����'�������(���(���% (&����C� (��% B (���!�

�����-�����9�R�-���'������������"��[�-G#�"� ?� �L��A��"2����-����!���'���������������(� F���(?� (;&��(�����3�-&���% F ��A�� � &�R�-��C� �

��*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 177: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�2;,�2;,�2;,�2;,@@@@���q-=�^�`��E&���'������������������������ (�� (�8��?�"��-B�� �8��-��.#�R�-��C� ������R�-����2�� �� ����TUV�������A�� �,��#�"�,� ��

A�� �� & �8��-��.#� �� ����TUV��������'�/�F��������� �8��?�t �2V�CASCADE��TUV�3�-&����-��.#� ��' �������G#*�

�� �F� �� �&�����A�� �,��#�"�,� �� �8��-��.#� �� ����TUV���R�-��������"�-&���*�

�������C� ���"� ?� �L�����X:=� �Orders�����-��� ]����*�����2���&� 7,��!��";����EMPLOYEEID����C� ��!��EMPLOYEES���d (���

����*���������� &� �� ��A�� ���������J&��,��,�3�-&� �� �&EMPLOYEEID=)5�������������C (����� ��A��"H�3�-&�b O��3� �!��� G#���������

������������������� �J&�3-J��� ���&����������8��-��.#������ ����������<#��������������2=-B�*�� �r �2V������/� �#��E��������k�&-������������

�������C� ��!���� �� ������&EMPLOYEES�������TUV���'����������� (���"(��� ]�����&�/;N��A������ ����������C� (���3���(�� (&Orders�

���������2��3 8���� 7,���&���������"�������)������B�"���*������C� ����3� �!�3 8����!��8Orders�������!���(���(����EMPLOYEEID�

��% ��)5��� ����"��%� O2���*�������8��%! ���-B�EMPLOYEEID=)5�����C� (��!��EMPLOYEES������(��TU(V���'��������2+(�,�� (��-(J��

����%�-�������� 7,�� �� ��\� ������J&�*Q�#-#������&�'���2��� :�EMPLOYEEID�C� ����Orders��&� 8��?�b!��"&����

�����������8��b-2+B�"�����C n��"�����C n������ �� �&�*������ �� �������� ����q-=�������������� (,�/(�r���(&���8��(?�"�� ���������? ��-��!��8

���% ���\�LG�ID���������8��-��.#��� �� �����*�����-��.#�A��-B�W������2���!��%� O2��� &UPDATE�Z�C� ���Employees�����C �F���'� ��

�����C� ����"�� �2��-��.#Orders��������������8��?���2��3 8����% &���'���;,�C �F����'��������"� 8���������2������EmployeeID�

�C� ���Orders� :��)5�� ,������% ������ &�"�� �2�� �� ���������������*�

�������'�������8��b-2+B��-,���8�! &� �� �&������������ (&� (� ������A��3�-=� �����<#EmployeeID����� (����= ($��%���*���������(����(,���"(�� (�

�����C� ����3� �!�3 8���Orders������� &���� ,������������������ ,�(��"��X�#-���2=-J,��� 7� O����!��\� ;_�8����3 �� �*����-& (�&��� (�

�������8��?�3 �O��-�u�� F�H�*�

��2��3 8����� ��� ]���3 ]&�'SQL Server��������R(�-��C� (������3-(��.#� (��TU(V�%! (���q-(=�^�(`��E&�W������(���(����

Employees�Z������� ���C� �����2+&���3 8������8��;������ &���% �8��dW�������������Orders�Z������������ (����� (�`�-(��.#� (�� ,�(��TU(V

���� 8��0,*�

�2;,�2;,�2;,�2;,@@@@���������������C� ���� �� ������&��2+&���"� 8-E�����"2���'%����"J1 K;��� �M�!��Orders�������������� (�� ��A(����8��(?�"(�,����������

������TUV�*���������������"��3 8�%����b!��C��,��F &� �� ��3-�B�"`�� ;����2�� ,�*!���-J���T-H���'��-��.#ID�� (�� ��A��W��(&����"(L�r�

Q�]F�Z����! ]��3 ��*�C� ������-��.#������,��#�"�� �Orders� (&�-�m #�"��� &�� CASCADE�������8��(?�"(�,�/(������(���

��&�� ����������J&CASCADE�� �L�F����\ J�8���DELETE���UPDATE ����! �,��* ����-;=��, B� ��\� ��-8��&�R���*�

���� ����&� �,��#�"������E, �8��'������������� ��� ��� ,��% ��[�-G#�C� ��A��3��"� ?� �L������������ (,��%�-(��C (�F��C� �����-8�3��"� 8�

W��"��C �F��C� ��A��3������ ������-8�|K��'��&�d �����?�"� ?� �L��-B� Z*�

��������������������UNIQUE4444

����

�� 2�+,�d�,����������%� ���*������UNIQUE� � �������, ?��8��������� :�������9������&� �2+8�"L9��3 8 �L��%��� � &� 7,��������2(��A���

a0N�W�������2�� �1�!��"���-#� ��Z��� � &� 2;��C� ����*������������_�8� ��UNIQUE�����������J� (�� (�L�����(�F��&���e���� �(� ���"(���*

������������ ,���"�,��2=-B�-Y,���A��3 2;���� �������F��&� 7,��"� ���3 7#� O#W����2+,��#�"��-B��"2V�������� (����%� O2���p�-H�����&��� 7,�� ��Z

)�Orphan

4�"� 2;��e��Alternate Key

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 178: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��������� ���A��!��^�&� �,��#�"���;�����UNIQUE�� �� &��2����W�*����������������C� (��-(8���"L9�� �L��A��X:=� �,��#�"�� ������ �� &��2����� �&

�� &��2���*Z�

�����A�� ������"2��UNIQUE��������-�� :����8�' ��-��� ]�� 8���2� �� &� 2;�� � &�% ��%�-�� ,�3�*��-B����(�����3� :�� &���3-E�

�' �8��-��.#� ��%�-���= $��"� 2;�� ���3������2���SQL Server� ,���������%�-�� �M�#� E?�A���-�B�"�,�% ��*�

�2;,�2;,�2;,�2;,@@@@����"L9�� �L��T�?�-&���'� ���A�UNIQUE����������� :��A���2����!���� ���A�# ��#���E&�NULL��� ���"�,�R����*���;���NULL��� (8�

����� ;��������������������B� ���������������&��2+&� �� &��2����NULL������������ �(� &�%�-(��[�-G#��,�J1�C� ��!����2�����3�-&����*����(8h��

� �� &��2�����'�������-���= $��%! ����_, �1NULL��� &�NULL�������� ���� �M�!�� ����+�,�3� +��UNIQUE��������"(��>�+(���3�-(;#� 7,��

,��*�

��������� ,����������������3-J���%! #����W������������-J������� ���"L9��3 8 �L�����Z��+���&��� ����M��� �� �&�|`�*��� (�8��%! (��

�"# F�H��A, &��&�-J���C� ��A�Accounting'������= $���C� ��\ ,� &�����Shippers���&� 8��?�*��

CREATE TABLE Shippers

(

ShipperID int IDENTITY NOT NULL

PRIMARY KEY,

ShipperName varchar(��) NOT NULL,

Address varchar(��) NOT NULL,

City varchar(��) NOT NULL,

State char(�) NOT NULL,

Zip varchar(��) NOT NULL,

PhoneNo varchar(��) NOT NULL

UNIQUE

)

������SP _helpconstraint�C� ��3����Shippers�C� ����� ����&� #� �����-���Shippers��% ��� ]���Q� �������� &���*�

������� ]��������� ]��������� ]��������� ]��UNIQUE������C�� ����������C�� ����������C�� ����������C�� ��������

����������������"��/�F�"� ?���"L9��3 8 �L� �, ���8� �������������% &���*A����� ���A���UNIQUE����C� ��3��Employees��� ]���

�����"�*�����

ALTER TABLE Employees

����������������������������ADD CONSTRAINT AK_EmployeeSSN

����������������������������UNIQUE (SSN)

3�-��� &SP_ helpcostroint� �8��&� �� ������ ���&�"������% ��� ]�����2���?����"#�9�*�

�2;,�2;,�2;,�2;,@@@@�!���������������AK�� ���\ ,��������(�L��[(O0���(��\��-��%� O2�Alternate Key�'�(����� (�, ��PK��FK���(����Key��

Primary��Foreign Key� ,�N�`�!�� �,��#�"��UQ� ��U������\ ,���UNIQUE ����%� O2���*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 179: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��������������������CHECK��������

�����������������QM �����CHECK������������(&� (�,��#�"�� 7,�� ,���"�,��� ���l ?���2��A���&��-,�����������������k�(&-����2(��A(���

�� &�*�����,��#�"�����_�8� 7,�� �� ����������������������2����8� ��-J�����2�� &�����2��A�� �,��#�"�����"�G�������&� ,���k�&-����,�C� ���&���� (8

����"�-&�C� ��A��/?���3�' ����� �`�-��.#� �� ,����= $��-E�������������3-�� :���*�

��������� ������3 F����!��%� O2��� &� �����������+���WHERE������ ,���"��[�-G#� ��-��"��%� O2����*C n�����k-(��!��"� 8��������-(�2G��3 (8�

��CHECK �� �# �F�!@�

T 8T 8T 8T 8 SQL����

���2�Month���Q� ���� F��&���������� �BETWEEN )))) AND )4)4)4)4����

�Q� ���QM �SSN LIKE '[5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]-[5555jjjjwwww][5555jjjjwwww]-[5555jjjjwwww][5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]'����

!��"2+�M��&�� ���� ��3-&�-#�� +�����IN ('UPS', 'Fed Ex', 'USPS')����

� &���n��3� F� � &������UnitPrice >= 5555����

-E��� �8���-J���",�2��d ���ShipDate >= OrderDate����

���� ,��&�3�� �������� 7�#� 7�����' ��-:#������������+���� �,��2&� ������"H-��-8�WHERE������� �8���-���������%� O2(��� (����(��������(#�"(�

� ���*������������������-�����#�����&� � &����"�LE�� ��CHECK�& N��������&���+,�W� 8-J�-#��� F����Z �2+8�-2G�-�� �+&*�

������"# F�H��A, &�� ]����������Accounting��'������������C� (����A(1���-(��.#�A(�� (�� �&Custimers������������ (L�=���! (]���� (#� (#���8 (&�

DateInSystem����"�-&��W�#�"�, � &�% ����3�-&���� ��������"0� #� �,��Z*�

�ALTER TABLE Customers

����������������������������ADD CONSTRAINT CN_CustomerDateInSystem

����������������������������CHECK

����������������������������(DateInSystem <= GETDATE ())

����

���"E0#�A1� ���!����� �����= $������A�� ����"G��������'� ����"���= ��� E?�A���]�2,���

�INSERT INTO Customers

������������������������(CustomerName, Address)))), Address4444, City, State, Zip, Contact,

����������������������������Phone, FedIDNo, DateInSystem)

VALUES

����������������������������('Customer))))', 'Address))))', 'Add4444', 'MyCity', 'NY', '66666666666666666666',

������������������������������������'No Contact', '66e66e66e66ejjjj)4)4)4)4)4)4)4)4', 'we5wzfw6fwe5wzfw6fwe5wzfw6fwe5wzfw6f', ')4)4)4)4jjjje)e)e)e)jjjj45f45f45f45fwwww')

����Msg 6f{6f{6f{6f{, Level )i)i)i)i, State 5555, Line ))))

The INSERT statement conflicted with the CHECK constraint "CN_CustomerDateInSystem".

The conflict occurred in database "Accounting", table "dbo.Customers", column

'DateInSystem'.

The statement has been terminated.

����(;��E&���8��-��.#����� #����"2��DateInSystem��� (���k-(����CHECK �� (���� (9�W������/(��� (��!�-(����� (#Z�'���2(��

INSERT�� 8��?� ��"&�0&��-*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 180: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��������������������DEFAULT��������

�������������q-=�^�`� &� ��3�-&�%����"J1 K;���� O2����&�����!��";��d�,������� 8�*�������������(�� (����(���% (�_�`�"(����, O(� 2�����������!���

��������QLE������ #�����"��%� O2������������ ��3�-&� 7�����-27&*�

q-=�^�`��� F����"2���/<=�����������q-=�^�`�d��,��-J����-����8��?�"�-&��� ,��?��� 8*�

��� ���A�DEFAULT��'�����������C�� ��[�-G#�!��"2�+��-J�������� �, ��*��������� ����3-E��-B����� ���"��[�-G#� ����������� (���= ($��C�

���,�2��3�-&�3� :�������������� ,�% ��[�-G#����3�� ������"*��������\ ],�� � &�3 ���1�������������a0N(�� ��-(9���� (:���(��� (�,��#�"��c�

����W*�n����������������� :��3���2����2��A��3�-&� ����8���-��-O9���q-=�^�`���:V��UNKOWN����������G#��Z��-�� (:��!���;���� �

�, ��"�2+��W�ZGETDATE�����%� O2���*�

� ����2=-B�� ����"L9������DEFAULT �2+8� 7����@�

� q-=�^�`���2����� 8INSERT�' ,���"��%� O2�������2��� 7,�DELETE���UPDATE ,-�B�"��% �� ,���*

� ���3� :��-8�-B�INSERT��&�% ��-�h��'����"�,�%� O2���q-=�^�`*

� ��&�% N,����G#�3� :��y�8�-B��'��8����"��%� O2���q-=�^�`��N*�

q-=�^�`���X:=� 8�����2��INSERT ,���"��%� O2����*�3 2�����-=��3�-&�QLE�����SQL Server��(���% �_�`�"����*���-(,�

�-�J&�-Y,����,�J����' ����"���= $����������M���"2���'SQL Server������(��3��1�����&����2��3�-&�3-J���%����d�,�y�8�

2����INSERT ��-��-�h�W�"F�,�-8�!��Z�� ,�q-=�^�`�-�� :�� ���* ,�N,�-�h� 7����!��\� ��y�8�-B��'SQL Server��� (:��A��

NULL ���"���= $��W��"�G���&��+�1��,���"�,��Z���2��-B���NOT NULL��&�% ��[�-G#��'����"�,��2=-�U`�����*��!�� (G&

������M���'SQL Server�-&�3-�� :��������2�����3�*����"��!�-&��� :�� �8��"��-��.#��-,��"2���*��� (�L�F�!��"������2��-B�

UPDATE���,�'�SQL Server����� 8��0,���2�������&�3 ���*�

�����"�,�%� O2���q-=�^�`�!��-J���'�����8�-=���2��3�-&�� :��A��-B��'����"��%� O2���% ��-�h�� :��!��*�

����3� :��y�8�-B������������"��%� O2���q-=�^�`��N��8���N,�-�h�*�����������������������������2(���?�"(���(_, �1������&��NULL���(&�

����� :��A������F����������8��\ ],�� � &�3 ���1�������2�����*���������������"(��%� O2(���% ��[�-G#�q-=�^�`����;,�-�h���3� :��y�8����-B�

���-���= $��3�-&�3 ���1�|`���NULLc��8��\ ],���

�-&"2V�'� � &NULL��2������ :��A������F��&��8���INSERT��+���&�*�

�2;,�2;,�2;,�2;,@@@@���������������2��� &��E&����% F �������� �n2���A����������#� � &�UPDATE�������������������(��� (���"(�,�%� O2���q-=�^�`�A��!������*

���"2��� �n2������ ��-9���� 8��"�������������������(��%� O2(���q-(=�^�(`�!�� (�8��?�"�� ����\�F���*��������������� (�L���(�L��!��%� O2(��� (&��� (���(�

DEFAULT� :������F��&�3 �8��"��\ ],�� �8��-��.#� �8��?�"�����",�2����*�

� ���A��[�-G#� ���A��[�-G#� ���A��[�-G#� ���A��[�-G#DEFAULT��2�������2�������2�������2�����CREATE TABLE��������

��8��"��\ ],������&�%����\ ],��"L�������� &����3 ���8�����������*3 72,���&�������+�= ��X:=��2��[�-G#� �����= $��*�

��C n������F��&��'��C� �Shippers���������� (����TUV� ��-��� ]���/<=�/�������������*�����������%� (���0+(,�A(��' (&��(���������/� (��C� (��!��-(#

DEFAULT�����"��� ]����������@�

�CREATE TABLE Shippers

(

ShipperID int IDENTITY NOT NULL

PRIMARY KEY,

ShipperName varchar(��) NOT NULL,

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 181: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

DateInSystem smalldatetime NOT NULL

DEFAULT GETDATE ()

)

������K�-;����;����!�� G&CREATE��� ��-��� ]�������'sp_helpconstraint������� �����-���� ���H��3�-&���*�������^�(`��-� (�� �,��#�"��|K�

��^� �!������A����-���= $�� &���q-= ���*��

INSERT INTO Shippers

(ShipperName)

VALUES

('United Parcel Service')

��2���A��|K�SELECT�C� ��3����Shippers �����-����@�

�SELECT * FROM Shippers

���2��3�-&�3� :���;������ &DateInSystem����% ��t�������q-=�^�`�� :����-�J&�-Y,����@�

�ShipperID ShipperName DateInSystem

-------------------------------------- ---------------------------

)))) United Parcel Service 4555455545554555jjjj5{5{5{5{jjjj)e)e)e)e 4e@4i@554e@4i@554e@4i@554e@4i@55

()))) row(s) affected)�����

� ���A����-���= $�� ���A����-���= $�� ���A����-���= $�� ���A����-���= $�DEFAULT�������C� ��A���&��������C� ��A���&��������C� ��A���&��������C� ��A���&�����

�����+���&�3-2N�&� ��"��� � &�����-#�% �_�`�"������������;����/�M &�*��2���!�� �ALTER��� (���/(��� �, ���������"��%� O2���

��ADD�����"���'�-JL�F�!�� &����� ��FOR��&� #������"��%� O2���SQL Server�����J&���� (���A(��!����DEFAULT��%� O2(���

�����"��@�����

ALTER TABLE Customers

ADD CONSTRAINT CN_CustomerDefaultDateInSystem

DEFAULT GETDATE() FOR DateInSystem

����

-J���C n��A����@�

�ALTER TABLE Customers

ADD CONSTRAINT CN_CustomerAddress

DEFAULT 'UNKNOWN' FOR Address))))����

�����&� 8 ���S�8� �, ���PRIMARY KEY������= $��C� ���&���";��!��-2N�&������&���8��?�� ���@�

�2;,�2;,�2;,�2;,@@@@����������� ����Q��-#��8� &���%�-��> 02,����"� 8 ��� �,��#�"��*������ �� &�Q�����X:=���k�-��������� 8 ��� �#��8� &�� �� &��2�� ,�~��*��&

�����FC n��'� ��B�"��";����� �� &���9������&� � �,� 8 ��col)>col4��� (��B�"(��3-J�����col4>col)�*���(1-BSQL Server�

� ��� 8��"����� ;������� � `����-���� �!��3���]�2, ��� �8��0,�*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 182: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��������-��C G=-�u��������-��C G=-�u��������-��C G=-�u��������-��C G=-�u����

���n��� ����"8 B��������������C G=����������8��?�"��"8 #���� ��3�-&��* � ����������������� (�����(���TU(V�����(��� (� &� ������3�-&���� ����-;=�

SQL Server��������� 8��"����� ;�������CHECK� ��FOREIN KEY�����C G=-�u����*�

������������� � �&�-Y,��&�":E��-�u�� 2&�������;���%����"J1 K;����8 O��!��";����-��C G=-�u�*�������������������� (� &��-(1��(���(����(����(���Y��

������C G=-�u��c������������ �� &��2����3 &�3 8�%�����������"E��-��/�M���&����C��G��/�M��*��������������"(����+(:#��2(�������(&�Q(Lu�� 8�%�������

,���@�

� ,��������"# F�H��A, &�� ���� ]���!��/������"� 8�%���*

� �����= $���� 7,�� �8��?�"������% ��� ]��� ���"2������"� 8�%���*

�2;,�2;,�2;,�2;,@@@@������� �,��#�"�,UNIQUE� ��PRIMARY KEY���C G=-�u��� �*�

� �-�J&�% �� ,� ����"��� ]�����3 ���"2����� &�3 8�%���� �-�J&�% �� ,� ����"��� ]�����3 ���"2����� &�3 8�%���� �-�J&�% �� ,� ����"��� ]�����3 ���"2����� &�3 8�%���� �-�J&�% �� ,� ����"��� ]�����3 ���"2����� &�3 8�%�������

����������� ����"��� ]����� ���C� ��� ]���� �!��� 8 2? ������S�8�*�����"��^�`�3����� �������������"(V�-H�!�� (G&���3 (F���� (�8��?�"(����� �

� �����= $��*����������3�����,��,�3�-&������"��q-=�����������������C� (����3-�� (:����(������ (��-��b�(��-=�"# F�H��A, &�"V�-H�\ J�8��

Invoicing��������� ,���3������3�-&���"O���� :��A����� �����*�������������3��(����y�(8��(&��(�� (�������G#�3 F������� �8��0&������;��

������� 8 ,�"# F�H��A, &���� ���= $��x! ���"O����'������&�� N� �-��"L���-�� :�� �8��?�"�� ��� �, �&�"� �*����' ���A����-���= $��3�-&��� (���

�J�����,�'��(��C �F��������3 8�%��������,��S(���B�!��WITHNOCHECK���2(�����ALTER TABLE�� (����%� O2(����*�� (�, �

�����"��"�-&���C n��A���N��8�*�

��C� �Customers���"# F�H��A, &���Accounting�\ ,��&� L�=�A��Phone�����*� L�=Phone���%����d�(,�!�char����/(�M���(&��(���

������OL#�% ���S�8���8��?�"���;���������� �� &��2����", +;��C�H� 8*����������C�H����_�8)6�������������3 (�����(���P(�E�� (#���2=-(B�-Y,���

����������� &��2���� 8-2�� ��3 �&�QM ��3�-&�"= �*��������OL#�% ����;����!��� ���H��3�-&�3 ��y�8��������M�(���/(& ��QM ��3����% �����3 8�"

���� ,�\ ],�� �2+8�*��������� �2���3�-&�'�����"�������+�,� ��C�����������"�M �� &�����A��@�

�INSERT INTO Customers

(

CustomerName,

Address�,

Address�,

City,

State,

Zip,

Contact,

Phone,

FedIDNo,

DateInSystem

)

VALUES

(

'MyCust',

'��� Anywhere',

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 183: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

'',

'Reno',

'NV',

��,

'Joe Bob',

'���-����',

'��������',

GETDATE ()

)

� L�=�3 �&�QM ��C-2���3�-&�3 ��� #� �� �&������Phone������= $���@��

ALTER TABLE Customers

ADD CONSTRAINT CN_CustomerPhoneNo

CHECK

(Phone LIKE '([5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]) [5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]-[5555jjjjwwww][5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]')

������"�������� E?� &������"���-����� ���������"2�@�

��Msg 6f{6f{6f{6f{, Level )i)i)i)i, State )))), Line ))))

ALTER TABLE statement conflicted with COLUMN CHECK constraint 'CN_CustomerPhoneNo'.

The conflict occurred in database 'Accounting', table 'Customers', column 'Phone'.

SQL Server�-��.#��� 8�%���� � &� ��/�F�����3�-&��? �� 8��0,��� ��� ,! +,�%���-&��� ���k-��������3 8�%�������"2��� #�

�S���B�!���;���� ������8�WITHNOCHECK���2����ALTER�����%� O2����*��+�= �� ������3�-&WITHNOCHECK���

������= $��-�!���9��&�@�

�ALTER TABLE Customers

WITH NOCHECK

ADD CONSTRAINT CN_CustomerPhoneNo

CHECK

(Phone LIKE '([5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]) [5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]-[5555jjjjwwww][5555jjjjwwww][5555jjjjwwww][5555jjjjwwww]')

������% &���-B����������2INSERT���������-�����W�&� �� �&�� �������� ���= $��/;���� &� &���-?�����Z��'������� (8�%��������(��"(��C (�F�� (��

����"�,��2=-�U`�@��

�Msg 6f{6f{6f{6f{, Level )i)i)i)i, State 5555, Line ))))

The ALTER TABLE statement conflicted with the CHECK constraint "CN_CustomerPhoneNo".

The conflict occurred in database "Accounting", table "dbo.Customers", column

'Phone'.

��2���-B��������!�INSERT����"���= $��C� ���&�"M��G����9��&��! ��%���-&��� ���k-���;��H��&���8��-��.#����@�

�INSERT INTO Customers

(

CustomerName,

Address�,

Address�,

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 184: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

City,

State,

Zip,

Contact,

Phone,

FedIDNo,

DateInSystem

)

VALUES

(

'MyCust',

'��� Anywhere',

'',

'Reno',

'NV',

��,

'Joe Bob',

'(��)���-����',

'��������',

GETDATE ()

)

�����2���A�������SELECT�����C� ������Customers�� �����-����*��������� ���k-��!��-E�������� ���&�"�CHECK������� (����"(�,�3�-(�`�

����"��3�-�`�-E�����"M�*�

��SELECT CustomerNo, CustomerName, Phone FROM Customers

,��% ���OV�"�� ��3 8�%����' ,���"���� ��� � ��X��-�� &� � ��3 8�%���� ���@�

�CustomerNo ���� ���� CustomerName ���� ���� ���� Phone

------------ ----���� ���� ----------------- ---�������� ���� -----------

)))) ���� ���� ���� Billy Bob's Shoes ���� ���� (ei5ei5ei5ei5) 666666666666jjjj)4ef)4ef)4ef)4ef

4444 ���� ���� ���� Customer)))) ���� ���� ���� 66e66e66e66ejjjj)4)4)4)4)4)4)4)4

eeee ���� ���� ���� MyCust �������� ���� ���� 666666666666jjjj)4)4)4)4)4)4)4)4

6666 ���� ���� ���� MyCust �������� ���� ���� (z55z55z55z55) 666666666666jjjj)4)4)4)4)4)4)4)4����

(4444 row(s) affected)

����

� ���A��"2������-��C G=-�u� ���A��"2������-��C G=-�u� ���A��"2������-��C G=-�u� ���A��"2������-��C G=-�uCHECK��������������������������������

�>�?� �+&��'������������������������(�;,�"�-&���"�� ��3 8�%���������"���= $���� � ����������"2��������t �2V���-1���� � �����9������&��'�� (��

�����������������C G=-�u��������� ���A��"2�����H��&������8��?�"���-1��c���������������%! (��� 7,���&��-1� �2+8� &� 8�%���!��"IG&���2+,���"���;���� &

������������������"# F�H��A, &��&�� ��c � ������"L9��/�M�����S(���B�!��%� O2(���/(�M�� �, ��WITHNOCHECK��(����'��3 (8�%���

"�� ��*�

������������� �2+(�,� ,�(��"(��"# (F�H��A, &��������������"� 8�%����/;���&�"�� ��3 8�%����*����A(, &�!��% (�����3 (8�%���� � (����3 (8

�����&�-J���3 7�2+��� &�"�� ��"# F�H� �� �*�������+�� &�� �_�8��LP+��/�r������S�8� &��'���������� �2+(�,� (F���� &�p�E������ ����"� 8�%���

�����OV��� 7,����� ����t �2V�� ��*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 185: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�P�E�����������������(���TU(V��� (���� 2&������������� 78��!��";����'�����������������������!��%� O2(��� (&��� (���|K(������(����= ($����-(Y,���(��3 (8�%���

WITHNOCHECK�����= $������*���������"2�V!�-`� ������"M����, 20���?��'�����+�,� �������&�"� �2V��*��������!����,��(#�"(�� �����3 ]&

������BNOCHECK�����2�����ALTER��������� ���"��C G=�-�u��� �����������%� O2����*�������������� (����(�� (����"(��% 8 N����3 �� �������

CHECK ���"��C G=�-�u����-��� ]���/�����+�������*�

�ALTER TABLE Customers

������������������������NOCHECK

������������������������CONSTRAINT CN_CustomerPhoneNo

��2���% &�����,��#�"��% &��������INSERT������-������'���,��;���/�F�������&�C G=� ����_, �1*�

�INSERT INTO Customers

(

CustomerName,

Address�,

Address�,

City,

State,

Zip,

Contact,

Phone,

FedIDNo,

DateInSystem

)

VALUES

(

'MyCust',

'��� Anywhere',

'',

'Reno',

'NV',

��,

'Joe Bob',

'���-����',

'��������',

GETDATE()

) � ��

&�3 8�%���������&���8��?�� �� ��-J��� �;�������= $��C� ���&���3 �&�QM ���� *�

�������'�������������������C G=�-�u� ������C G=� ���A�����7O&��,�J1������������ �-&� ����8h��&������;������"M�����'�������(��A����,��#�"�

����% �����2+?� ������ ���C G=�-�u� ������C G=� �����������&� #�C� ��������"LG��*���(,�J����!��3 �+(&� (�, ��X��-(����'SQL

Server��a0N((���� ((�����G(($���((�� ((���"((���8�-((=�C���A((�����((���((���((���"((M��������' ((���"((���((���% ((����-((,���'

SP_helpconstraint�*�C� ��3�����3�-��Customers����%� ���@�

�EXEC sp_helpconstraint Customers

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 186: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

&���8��^� �,��-,��> 2������� �O9�/?����;����3�-&��]�2,����",r�H� �+�*� ���"�� �M�#�C������"�����]�2,��F��]�� ��

�\ ,��&���2��A��/� �status_ enabled�����*� ���"LG=���G$����2�����' ���"��a0N����G=������������� � &Disabled�

� &�*�

�"2V�-&�'����C G=�% &��� ��������2���?� ��"2��CHECK����J� ����NOCHECK��"������@�

�ALTER TABLE Customers

CHECK

CONSTRAINT CN_CustomerPhoneNo

��2���% &���-B�INSERT �����-��� ����-;L�F�3�-&����'���"�������� E?� & �@�

�Msg 6f{6f{6f{6f{, Level )i)i)i)i, State 5555, Line ))))

The INSERT statement conflicted with the CHECK constraint

"CN_CustomerDateInSystem". The conflict occurred in database "Accounting", table

"dbo.Customers", column 'DateInSystem'.

The statement has been terminated.

�% &��SP_ helpconstraint���2��� ���3�-&���status_enabled �����-����*����� :��-B�Enabled � &��*���C (G=�% (&��� � &� ��

� &�% �*

����Rules))))������������Defaults

4444''''�������������3 8�%���, ?��8�����3 8�%���, ?��8�����3 8�%���, ?��8�����3 8�%���, ?��8��������

q-=�^�`��� F����"�� �� 8�������!��-#CHECK��� DEFAULT �2+8��*�3 8��0+,��� 7,���� �SQL Server���(����/�M &�

�� 7,�*�

�������������������2+8�"�� ��"+��,� ������N�`�3 8��0+,�3�-&� 7,����1������8��?�D�$�#�-<20���E&����������� �*��� (&� 7($-=�^�`��� F���

ANSI�� �2+�,� B! ��W������/�M &� ,���"`�����"� ]& ��/� +���;Z�' ����"�,� �������"&�?��&���*! ��/�M &�X:=��= ��-;� ��3 B

����0+,� &{������'%�-���OV��� 7,���������0+,���i�C ����'����������������2N(`�3 G&�3 8��0+,������������ ������ ��;,����#����������&�� �!���"(��", �

��-�?� �� ,���* #������������������������� (���' (�������J� (�� � ������� &���"�� ��3 8 ���� ���� 8���"�� ��"+��,� �����\�-;,�� 7�N�`� ����&�����

����%� O2��� ����"��� ]������3 � �� ��-8�3�-&������!�� � &�*�

��������q-=�^�`��� F�������"� �������������,����8 �� ���"���� O2�������!���� 8�� 7�*��"Bo���!����������� �2+(8�C� ��A��3 8��'�����(&� (7,�

��� ,� ,��������?�3��?��'����q-=�^�`��� F���� ���� �2+8��"��A����?�3��?��&� 8�*�a0N��C� ��[�-G#��� ���A��-J���3���!�

q-=�^�`��� F���� �������"��G#��, B� ���E&� 8�C� ���&�|K���� ,���"��[�-� �:�� ,���"���*�

�� ���"����8 �����q-=�^�`��� F�����, B����������������������%� O2(��� 7,��!��% &������2&�� ]��[�-G#��&�! �,��� &���� 8��"������L& ������ 7,���&� 8

�-��*��:�:V����'����������� ,���"�,��� ���C�� ���&�� �� �:���&� 7$-=�^�`��� F����@��� �,��#�"�����_�8� 7,����������� (�:���(�,� (8�%����d��,���&�

�' ,�����d��,��� ]�����L& �� �8��"��^���=����-& ��% ��[�-G#�3� �� 8�%�*�

)� F����4� 8�q-=�^�`�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 187: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

F��� F��� F��� F�������

��������� ���A�������3��J,���OJ���E&�% F ��A�CHECK������*����������� 7,����&��� O#� 7�#���� F���������������\����D�$�#�����

����X:=��Y�M�-8�������� ���� ����2��A�� &� �,��#�"�*�����������&��, B� ���E&���� +;��% F ��A�� �,��#�"���������' (�����= ($��C� (����2���� �1

��2��3���� ����"��/�F��, B� ���E&���2��-8�3�-&� 7,�� ,� ,�-�m #�-J���3 8�* �, ��% ��[�-G#�% F ��A�W�QtyShipped_

QtyOrdered�Z ���"�,�/�F�% F ��A��3�-&W�����d �����2��A��!��-2N�&��&���1�Z� ��W[5jw][5jw][5jw]) LIKE��� (8��?� (��

��-W�",�2���&�X:=���1����"��C �F��% �� �:������&�����*Z�

�� O#�� 2&�� #������[�-G#�% F ��A�� �8��%! ��� ����&��� 8�*�

�CREATE RULE SalaryRule

����������������������������AS @Salary > 5555

��������������-�.2��A�����-&� ;&��+� :��3�-&����3��1� �������#��'�������:������C �F����2��3��% F �������_, �1�����3 (]&����� @Salary�

����"��%� O2���*�]�2,���'C n��������' �� &��2����-O9�!��-2N�&�3� :�� � &�����C �F�����3��% F �����",�2��-8���2OB*�

�����,�J1� ���% F ����� ����&��� ��-B-&� �8��?�"�� ���-B��'�!�� �,��#�"�SP_ helptext ����%� O2���@�

�EXEC sp_helptext SalaryRule

�� ��� �8��?���p����[�-G#����3�-��� &@�

�Text

------------------------------------

CREATE RULE SalaryRule

������������������������������������������������������������AS @Salary > 5555

����

��������% F ��A���������'���� 8��"�,�\ ],��3 �� ���*��������C� ���&�����A����8��0&�-B�������Employees�����(����= $���*���!�(�8���� (&

��8��\ ],���� ��������,��#�"��"2��� ����,�J_�8�*�

% F ��A����-��C G=��Y����&�'�\ ,��&�%o���% ��%-�?h�C���A��!�� � &SP_ bindrule�����%� O2����*���8��?�"�SalaryRule���

���2���&Salary�C� ����Employees����� �:���*�����-�!���<&���� 2? �@�

�sp_bindrule <'rule'>, <'object_name'>, [<'futureonly_flag'>]

����

����+�rule���������������8����+,��"��A���&��-,����8��?�"���������3��% F ��\ ,��*object_name�������������3��% (F ����������"��\ ,���,�

������"��C �F�W��������-& ��X��#�% ��[�-G#�%����d�,� ����2��Z��-2�� `Futureonly_flay������X:=������Q�]F�"�������% F �����"G������

����������������-& ������"��C �F�-& ��X��#�% ��[�-G#�%����d�,�A��3��*���������C G=�-�u����q-=�^�`�*���� :��-B�True��� ��)���������(&���

�2�-O&��'��������&�X:=�% F ��3! �� �:��|K�� 8���2������(��"��C �F�� ,�����-& ��X��#�% ��[�-G#�d�,����3 � ��3�*���(�8����2(�

8�,����"��-�� �8��?�%� O2���"�� ��%����d�,�� �8�!�� ,���%����d*�

�&�����a0N����C���-2�� `����X:=��+�= ����2��A���&�% F ��A��3! �� �:��3�-&����-&�@�

�sp_bindrule 'SalaryRule', 'Employees.Salary'

����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 188: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�����-2�� `��&�":����% J,object_name���'��!� ��&����3���-8Employees�����Salary��������������A�� &�����*������' ,��% ��� ���8�!����� � &��-1�

��/�M &�c � &��,�J���������������������������(&�% F ����8��?�"�����",�2����C� ��\ ,���-�� �:��\ J�8����� ,��E&��"9 ?�C� ��y�8� &�% F ���;���

�����-�h����� �:�����*���3�U(J� ,� 2? (��!�� ����_, �1Tablename*column���' (��;,�%� O2(���SQL Server���-(Y,����(,�J����

������������� ���%�-&�\ ,���-& ��X��#�% ��[�-G#�%����d�,�A������=-B� 8��?���� ��;,�� �`��-,���_, �1��'���������(;������ �����= ��� E?�\ .�`�A�

� &�% �����B���-��"�������*�

�Msg )6)fz)6)fz)6)fz)6)fz, Level )i)i)i)i, State )))), Procedure sp_bindrule, Line )w5)w5)w5)w5

The data type or table column 'Salary' does not exist or you do not have

permission.

����

�����������C� ���&�������A�� ����"G�����������Employees�����������������!���(�� (�8��-��.#�3�H���3�����;���� �� �����= $��"O���� :�� &�

����"�� �M�#� E?�A�� #� ���"E0#�% F �*�

���2��!����% F ����8��0&��_, �1�!�� � &������TUVSP_unbindrnle�����%� O2����*�

�EXEC sp_unbindrule 'Employees.Salary'

��-2�� `futureonly_flag���������������B�A�� ]�������8�! &���'������% N,�%� O2���l ?�C n�������� ���*������!�� �(��-(B�SP_unbindrule��� (&�

��-2�� `futureonly_flag����������d�,�A��3������� ����%� O2��������������-���-& ��X��#�% ��[�-G#�%��W����������l (?���2(��A(��3 (���(&Z�'

������������������"��\ ],��%����d�,�!��3 G&�3 8�%� O2���3��X:=�3! �� �:��TUV�|K���'��2�������� (�8��?�%� O2(���%����d�,�!�����������3 8

�-�� �8��?�%� O2������!��!��8��-�*�

F����TUV F����TUV F����TUV F����TUV����

�����% F ��A�� �8��0&��_, �1�A, &�!�� ����TUV�"# F�H��'� 2? ��� �8�!�� �,��#�"�DROP�������;&�C�� ���������

���;,�%� O2������-&*�

�DROP RULE <rule name>

q-=�^�`q-=�^�`q-=�^�`q-=�^�`����� 8� 8� 8� 8����

q-=�^�`�b��%���, ?��8� �, �� 8�'�'q-=�^�`� ������* ����"��/�F�� +�8� 7,���:�:V��*��

�2;,�@������������ &� 7$-=�^�`��� O#�� ��7=DEFAULT�����������-=��!��3 �+&�3�-&��*������ (,���\ (,�A(�� (7,���(;����/�M (&� � ��*

���A���_, �1��q-=�^�`������� &��2����d �����'����"���&��8� ����������d ���q-=�^�`W����������"����&����% &����+�����������3��1

�����Z�����q-=�^�`�-�� :���&��8��W����������(�;,�-(�h���3� (:��"2�����������-(=�^�(`�� (:������������(��"(���%� O2(���qZ*�������(&��(_, �1����� (���

DEFAULT��������������������"�����9�"P���-�u�/V�%��A������A������� &��2����d ����*�����������-�U` ,�"�� ������A��"�G���&�/V�%�

��[�-G#C�*�

����% F ������� �+&�q-=�^�`�A��[�-G#��2��� 2? ��*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 189: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

CREATE DEFAULT <default name>

AS <default value>

������!��'�3�-&�-O9�� :�� &�q-=�^�`�A��[�-G#�3�-&Salary�����"��/�F��,�J�����@�

�CREATE DEFAULT SalaryDefault

��������������������������������AS 5555

����

��% &� '���� 8��0,�\ ],��3 ����N,� �:�� #�q-=�^�`�A��*�!�������-�� �:��3�-&SP_bindefault&���� ����%� O2����\ ,��]

�������C���C�SP_bindrulllle����*�

�EXEC sp_bindefault 'SalaryDefault', 'Employees.Salary'

����

�!��C� ��A��!��q-=�^�`��2���-&�3�-&SP_unbindefault�����"��%� O2����@�

�EXEC sp_unbindefault 'Employees.Salary'

���� �� &��2����� �&futurconly_flag2������#�"��C����������8����-��%� O�'�� ,�3�-& �� ]������ ��*�

q-=�^�`�TUVq-=�^�`�TUVq-=�^�`�TUVq-=�^�`�TUV����� 8� 8� 8� 8����

������������ ����TUV�"# F�H��A, &�!��/� ���E&���q-=�^�`�A�� �8��0&��_, �1��'��� 2? ��� �8DROP��������������� F������C�� ��������

����%� O2������-&� ;&�*�

�DROP DEFAULT <default name>

d�,���C� ��\� ���;������-��a0N� ����"��%� O2���a0N��q-=�^�`� ��% F ��A��!��%�����*�

�����q-=�^�`� �� F���� �8��0&��_, �1����������������������!��%����d�(,� (���C� ��\� ����� ����&� �8��0&�� 2&�������;��� �8��-��.#� �� ����TUV��� 8

����"��%� O2��� 7,��*�% &��SQL Server ���"�� ��A����&�"�2+���% ��%-�?h�C���A�� &��*�C������SP_depends����\ ,��*

����-�!���<&���� 2? ��@�

�EXEC sp_depends <object name>

�����

SP_depends��"���8�-=� ���&��2���?������!��"# F�H�� ����������"P����&��2+&���3 ����\ �#�!���+�M�A�� �*�

�2;,�2;,�2;,�2;,@@@@�, O� 2���'SP_depends����"�����2+&���3 ������8���������� (����"(�,�/(�F��P�E�� M�*SQL Server����\ (,��(&�3�(�1�!��

�deferred name resolution�� ���"��%� O2����* � ����deferred name resolution��&���"� �(��� �,��#�"���������"�G�����

�� ����� ]����W����3� ��&�% ��%-�?h�3 7M���Z����� �2+8�3-J���3 �����&��2+&�������'���\����"��/���"2VW����T 8"J2+&��Z� ,���� ]���*���(&

�C n������FSQL Server ������7#�������"J2+&�������&����"M�� ��!��"2+�M��+�,�� ���*���!��-B�'C� (��� (���= $��!�� G&�"2V

SP_depends ��� �8��0,�C� �������&�"J2+&���y�8� ����%� O2���*�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 190: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�%����"J1 K;��3�-&� 8-J�-#�%����"J1 K;��3�-&� 8-J�-#�%����"J1 K;��3�-&� 8-J�-#�%����"J1 K;��3�-&� 8-J�-#����

������-#���������/� ��/<=�A�����������������"n�&�y�8� ���'������8��?�D�$�#� 8-J��'�� F����q-=�^�`���!��"8 (#���"=-G���� &� 8

��&� 8��0,�/� �� 8-J�-#*�

�����%����"J1 K;�� F����3! ��%� �`� 8-J�-#�%� O2�����-#�����!��";��*������������ (]�������� �(�-,� (8-J�-#�/<(=��(&�!�(�8���(1

���������&�X:=���\���"�,�� �����������������������% F �� �� ���A����� �8��"��\ ],��%����"J1 K;��3�-&�3� �!�3 8 �� 8-J�-#��������"��% �+&���

������� �8��\ ],���� ����� �,��#�"�,��B-8�*����������-# ���������!��� ,���"��3� �!� &-���F &� 7,������������� 7,��[G$��E:,W�-# ��� �+&�Z

���� �2+8���?��& N�������!��*�������8 �� 7,�� ,���"MW������� ]�������8� 7,��� �Z������� 8 ����8��;����!�� G&� 7,�� ���'�������"(���-(��� ��\ ],��

2�+,�� ,�� ,���%� O2���% 1���-?������F��&� � &�*�

%� O2���3�-&�3����> 02,�%� O2���3�-&�3����> 02,�%� O2���3�-&�3����> 02,�%� O2���3�-&�3����> 02,�����

���������������� ����%� O2���\� ��!����� ����a0N�� � &��������� ������ 8�����B���8� ]�������c���������!��"IG&�� ������ �2+(8��2+(&���-�u�W�����(��

FOREIGN KEY , PRIMARY��UNIQUE�Z ���"���0���� 7,��!��";��> 02,����� ,���", ��K�8�"����8� &��������:&�*

�������-E�� 8�����B�!��\� ��-8�[G$���� ��% &����"# ;,�\�-��"G��/<=�����"H����*��������-(Y,����(8� (&��� (7,���(�8�-(B�� (��

�����-�J&�V��� ;,�������������;����-#�*�

���� ��� �����Q� G��

������

R�-���'��������2(���(&� (�,��#�"������-(J���3 (8

�� �� &��2����d ����'��������2(����(;����!��/(��

�8��"���������-���'� &� B! �ANSI�*�

�������� ,�(��[(�-G#�% &���C� ��-8�3�-&� � &�'

�����������2(����d (���-(J���C�� ���&� �,��#�"�,

�� &��'"�,������� ,��� �:��%����d��,���&� �,��#�

*�

q-=�^�`��� F����� 8����2+&���-�u�3 �����'������ (]��%� O2(���/(& ��'

������ ,��� �:��%����d��,���&� �,��#�"���'��!��/��

�8��"�����2���3�-���*�

��� �2+(8�-# ���"����'���������(&��� (�,��#�"(�,

��2����� �� &��2����d ��� 8��'���� (�,��#�"(�,

��������d ���-J���C�� ���&�� �(� &��2��'�� (7�#

�����������(���/(���3 8��0+,� &�3 B! ��3�-&

,���*�

8-J�-#�

���� �!� �+&�3-�U`�T EG,���'�������(&� (�,��#�"(�

�� (8���2������������2(����d (���-(J���C�� (����

�� &��'��������!�� (�,��#�"(��"(2V.NET���3�-(&�

�����!��t (?��(��"# (F�H���(&�d ��SQL

Server ����%� O2��� ,����-���*�

����2���3�-���!�� G&���� (�8��"������'�� &-(�

,���3� �!�*�

���������q-=�^�`��� F����!�� �,��#�"�����"G������-27&�������������������� 2�+(,�"(:E���C (��A(��3! (��%� (�`�C V����������", �!� ����%� O2��� 8�

������������� ����"��-& ��X��#�% ��[�-G#�%����d��,��!��3� �!�%� O2����� �2+8�% �_�`�*���,��,��������'������q-(=�^�(`��� (F�������"(�� (8��� (�,��#�

�������������� �� &��2����3� �!� &�-���;������ &� ,�����-� ��"2V�-&��� �� &��2����3� �!�"�� ���'�������������� � (���(�� �-�J&�-Y,��������� � &� ��

,������3 G&��0+, �� &��2���*r �2V�����"��\ ],�� ������%-?r &� �����!�3���&��,��*�

��������� ,���%� O2���", �!� � &�X:=� 8-J�-#�����+�,�����B�A�� ����*������ �, ���'���������������� (� &�C� (��-(8�3�-(&��� ,�(��"���= $��C� ���&� 7,�

�� ,���[�-G#�% &���*��-J���T-H�!���'����������������� �8��\ ],���� �� &��2���� 8�%����"J1 K;��3�-&� �8��?�"�����3�����!�� �+&� �,��#�"�� 7,��*

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 191: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��:�:V����'�������"� ?� �L��C �F��3�-&�"�������F��&� 7,�W������� ,����= $��"� ?�������;����!��/���Z������"��%� O2����'�����������(���(�����

�-����8��?�"�-&�> 2����������*�

�������������� ,���> 02,��%����"J1 K;��3 7LV�%��3�-&� � &���� ,��% , ��"� &����������� 7�#�*������������+(�,�/;N(�� (7,��� (]����� �2+8�R�-�� 7,��*

8��� ��� 7,������+���� 7,��[G$��E:, �2+W�&��]FOREIGN KEY� �(� &��2����d ���3-J���C� ���&� �,��#�"�,��Z��[(�-G#��

����% �����2+?���� &��2��������% ����� ���pE���A�����"2��� 7,��� ]��*�

�2;,�2;,�2;,�2;,@@@@���������� ����"��%� O2���"J1 K;��\��, ;���1�!���;�����u�"LFW� 8 �L���' 8-J�-#��'������' F�����'�q-=�^�`�� (8�Z������(��3�(�1���� (� &

����"���9�?���L��A���� �� &��2�����8h�'C� G#�*�

�������������������%�-�8��&�"= $�� &-�� ����"���= $����?�"# F�H��A, &��&����3 � ����1�-8��'���������A, &��&�-�� :��� ������!��/��� � &����-& �&

����� �����P�E�� 7,�� �2F��!��"# F�H��*�������3! ��%� �`���"J,��=���F &����3�����!������ ����3��� ,���"��"J1 K;��W�����C (n�����(�F��&�'

����������������Y������8��&�"� 8-J�-#��8���"F ���"J1 K;��3�-&�"� ?� �L���8����\��% ���"# F�H��A, &�3� �!��� G#��� ,���Z�*�!��/��

�2V� �����= $�� ���A���;���� �����P�E�����_�8��� �����������8���"� 8 ����1���� ����"�-&��8��?�"����3 ���1��� *�

��9�?��9�?��9�?��9�?����

\��, ;��[L20��d��,�� �2+8�"# F�H��A, &�A����-:=���2�� �, ��/<=����� �� % �� %����D�$�#� %����"J1 K;��3 8� *� � �

�� ����-2N�&RDBMS�% 7F�-&��� ,-&�A��3 ���&�%����"J1 K;����M�P+����� � &����� ,��#�"��%!�-��� 8�RDBMS�����*

��� �&� ���"�G���Query-&� �� ������3�� %o���3 8��/� +�� �&� ����"�� ��"# F�H��A, &� &� ���"� 8� �� ,-&� �� ,��� % 7F

����� �8��0,�3 ��%����"J1 K;��*�

/<=����������^�`����"� 8�'/;��!��"IG&�a? �����������&�k �#��3 8��3 ������&�"8 J,����_�8��� �����8��?��� 8

F����������8��?� ,���"��3! ��%� �`� 8-J�-#�X��#����%����"J1 K;��� *� 8�����B�����> 02,���E1��������&�"�����_�8

���� 8��?��-��-�m #���#���3 8�"V�-H*

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 192: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�������

��������� ������������ ��Query ����

��� ����������� ��� �������� ����!�"�# $�%&'����()�SQL Server����*���+�,-�����.'����/%��������#��$��0�� ��1/����2�������Query��������"� ��

3&��2���4�5�����+����%�����0��3��� ���0������6�,-����7��3��#��$��0���#���8�+����������8�+�39:� 0;���5$���<��� ���=+�1�5>0�?$��������� ������%����666

3����@���:����%������ ���$����� A�B� �����$�5C$�(D0���5>0�?$��2����E���7)� %7+������ ����� ����+���� 0�3�&��57-F6�

0%��G������%&&��(+���H����� C�������0��3�� I+�E��(JK�%�&��� 9���������?�� ���� %�6��0��5L�LM�1�%�� �����%�� ���0���(D0����+ �������(:� A+��N��(M

�%&��3�DL:��?'��� ACD)�����B� ���+ ��(0�� 0��� O������%�P�"��� D+����������0 C:��=+�%�� ��(D0����+ ����Q�9+�R0��N��(M����5$��S�6 A������0E4�

(LT&+� A+ N�U�

��?&0�����%�SQL Server VWWX�%�&�7������YZD+����F�����%�����%�&��(K$����3&��(+���F�:� C�����%&��(+�(� 7�"� ���0���� �E�3�� I+�E���6����%0����ZCT+

�R0� �����B����:�(C�Query�����M��6�������B�%�$�����������G����0�� ��%�D������N��(MQueryDL:��?'��� ����3��R0�[� )����3�� ����� A�B�\>$���%�&

Query%&���/ O������(YF��� �� :�%�&��[���:��N����6�����\>$���%�&��3�DL:��?'��� ACD)����%0 ���B� ��R0��%���M�E��%K����%�&��7������YZD+�����%���\"

%&�����?:�����YZD+�����M�����%�&��[���:� �����.����� ACD)��0���M6�

���5L�LM���������?�� ����%0%������R0�5$���+�� A&�"�] $��4�%�&��� .��(Y�������� ���YM�+� O�����#��$�R0�/�AI+��6�(D0����+ ���� A� �E����� �����()�

��30���(+�!�"�(T^�G��� ��13�&��(+�SQL Server�3�&���?�� ���H�CO+� ��Z:����+�����������30����_ �M���6��:�(+�,M 7+���(� 0��]`��R0�������B�%��

A�2 C���B� 0��A�a�����B%�&����7:��63�&��(+��?���YZD+��M� A+ N��� ������C�� +6%&D��b7T&+�3�� �����.'� ������������ ���0��������6�

R0�[� )������� A����� ����\>$��������3�DL:�5CD)�%&'��������%���$��^�����+������0����3�&?�+�[���:�3�� ��%M����6�(0�� �����(� .����`H���Query�3����^� �

�������c �� A�B�(0�� �� :�����/ O�������+�(0 �� ���'��?&0����56�

����3����^�($������� A�B������0��������(0 ACD)�d�

� �0EQuery��:�����:� ��

� �0EQuery� ����D������e

� b+�#��%�

� CH�E���� I$���.YEXISTS�

� ���?YCH�������&�A�Query�

�0E�E���� I$�� �����.'����%0��3����^Query 70�L:���� ����+�3����:�(+� ����3�&���?C+����%�%�$��(+��f������?C+���g��6����R'������=:�R0��?&0���Query�

����(0�� ��������=:�R0�,H ��%���:�(+����.'�6�

��Correlated

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 193: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�0EQuery�V ;5D�'���

�0E�R0Query�R0�Query�(��CK+�T_SQL�R0��^������5$��Query��������)��.0��6���$��R0�()��SELECT� ����3�� &7+����&H�������%�� �������

����(h��� 0� �������E��(CD)Query�E������"�E���� I$�� ��������� ?���.0��Query��0E�R0�E��5L�LM����%� ���%���%��(YF��Query������ I$��%0���6�

�0EQuery����(+��� I$�� +� �E ������������B��� ���������T�� ���d�

� ������3�DL:Query�(LT&+� A+ N� �$�R0���� ��

� �5CD)�i%�����5D���R0������3����WHEREE���� I$�� ��5$���[IN|EXISTS|ANY|ALL]

� ���������� �����OD��5D���R0������3����Query%����

�0E�E��(JK�Query������T����(N%�P�"����(.D�����1�%&D���%�P�"�� �D���.0��(JK�� +��1%&D���� $�� �D�������� O0����������?�� ���� ��Query�(������S

�0EQuery�U��Query�(������SQuery�%�����U�����6�

�0E�E�� � �D�����5�������:�%0 �Query� ���S� A�B��C�����U�� I$�� ��%&���:�(+�R0�E��JOIN%����������6�R0�E��%�D���:�(+����(0 ����JOIN�1%�&���� I$��

JOIN5$���M������0�A��6�

�?��d�(�c�h�� �D�� Aj-���+�S�%0 �VW� 0�kW���0c��1 A� j+� ��(?����?���5D"�666�E���%&'�(h�U��� D+��� ����� ?C��R0� �JOIN�0E��� ��Query3����� ���6�

&$�bT&+�E����C�����%0�N�(+�(JOIN�3&��(+�������B��+� +��%�&���� I$�� ��S�(&$�bT&+�������O:����%����?&0���� �������%0��%����^�� ���0��E���TL��%&'���

3&��(+�57-F�%� ���J+�%���:�(+�(&$��?I:����.'�6U�0E�R0��������%�LH��0���+�� ?C�Query��� �C��� ��$�,H ��%���:�(+�%&��(+��������4�3��N�3�C�:��+�

3&��� -+�����B���6�

�0E�R0� ��Z:���T�������&��Query�0E�2�����%�0 ���3�^ &�����Query3�&��($����# j+�%&'�[� )������ ���6�

�0E�R0��^ $Query�:���:���

�0E�R0Query%&��(+�5��M�i�h�R0����lL���:���:�4������ I$�� ���������%L+�R0�Query��.YCH� ����� �0� L+�E���+ ��5D���R0�%0 �� 0��.0��IN��� I$��

%����N�������%����(+�6 -0�F�%����9���P� &'���.YCH�E���m��R0�E��%�&���� I$��Query%����N�(+��������%L+�R0��������%����^��� I$��4�R0�E����$�R0�������

M��1�%�����N������5D���R0�%����^�(+��N���T$��.YCH�E��%0����_ �IN����Query%�&���� I$��(�����6�

�� ^ $�1����F��0�:�(0�%�����Query����%���^��0E����F����E��(?0���� C���d�

�SELECT <SELECT list>

FROM <SomeTable>

WHERE <SomeColumn> = (

��subQuery

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 194: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�������������������������SELECT <single column>

������������������������� FROM <SomeTable>

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

WHERE <condition that results in only one row returned>)�

0�SELECT <SELECT list>

FROM <SomeTable>

WHERE <SomeColumn> IN (

�����������������������SELECT <single column>

�����������������������FROM <SomeTable>

�����������������������[WHERE <condition>)]

� ����%���^��� I+�b�)�� � ^ $� 1�@���� ��T�� 6�5D����� I:� �h 9��lL����SELECT�������%��%&'�n -��� E��5$���?C+� C���?&0�� �h 9���?Y��#��%��/ �� 0��

Query�(����� 0�(������ ���S������� 0�U�%�&���� I$��6�

Query:���:� �������$��E���� I$�� ���SELECT����%L+�R:���30��.��� 0�# j+�R0� ������B�#�F��%�����E ���6�3����^�(+�%�&��o���# j+� ���ProductID�3D�$�E��(���-+�������(����E�������%���^����30B���� ��

�3���%�����%����%�� ��%0�^�6�

������3D�$����G� I$�R0����(����E����P� &'�5����3����9��(Y?+��.0��1�%���%������%��6Query�5$���0E����F�����d�

�SELECT DISTINCT o.OrderDate, od.ProductID

FROM Orders o

JOIN [Order Details] od

ON o.OrderID = od.OrderID

WHERE OrderDate = ‘�pqperrs’ --This is first OrderDate in the system

��0�Query������("��������0E�t0 ���d�OrderDate ProductID

------------------------ -----------

errs4W�4Wq WWdWWdWWuWWW ee

errs4W�4Wq WWdWWdWWuWWW qV

errs4W�4Wq WWdWWdWWuWWW �V

(k row(s) affected)

�3�&��v�T+�R�: +�:��G���N�R0�E��(9�����&H�������#�w$��0��E�&����3�&��(+�a "�3D�$�E�����(0 �������3f&+���h����3�&��o��� +�6�

�R0�3����:�(C��1�5$��R�: +�:��G���N��?&0���������QueryD�$�(0�%���x0� :����3�&������������������B�($�����F������������%�"����3Query�%&���� ����� 0B�

�5$���0�������3M���h����;�3����/ O������� ���0��3����:�(+�d��3����:�(+�1��Y����6����$��R0�lL���������+��0���C���������)� ����d�SELECT DISTINCT o.OrderDate, od.ProductID

FROM Orders o

JOIN [Order Details] od

ON o.OrderID = od.OrderID

WHERE o.OrderDate = (SELECT MIN(OrderDate) FROM Orders)

�5$��� $B����y0�$�� �D���M������0��6Query�(Y^���( SELECT MIN…)������ I$�� ���� �����%L+�R0�Query�%&��(+�(� 0E ��(�� ^��6�E���?&0�����%�

�� I$�� � D+�5+`H�1�30����Query�%�&��(+�5� 0��� T^�R0������� +E�������F��0����g����%����NE ���T$�R0�E�������$�R0�lL��%0 ��(Y^����6�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 195: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

Query�0E�E������:���:� ��Query�%&&��(+��� I$��(N�����%L+�%&'� �� ���

��0E��0�:���� ��"�%0 �Query��&+���5D���R0����%&D��(0 A�B�� A�� ��������Query�%&����N�(+���(�������6�

�(: H`h��R� ��E��%�0 ���%K��# j+� ���Pubs������������B����X�3�&���� I$��%0%0���6����������5$��(0 A� .������C���%����N���3����/ O���3����^�(+���� � �

�%�����z�I9:�6�/ �����(��%����� A� .����Stores�%��������)��63�� AI�I9:�/ �����(��%�����discounts�6��

�R0Query�3�D0���(+��0E����F�����d�USE PUBS

SELECT stor_id AS “Store ID”, stor_name AS “Store Name”

FROM Stores

WHERE stor_id IN (SELECT stor_id FROM Discounts)

�%����N�(+��� +��������T$�R0�lL������(+���������()���[� �� +�������������5$�� ������� C���0�����5$�X�(�����n -��� ��k�30���B�5$%���d�Store ID Store Name

---------- ---------------

{WqV Bookbeat

(e row(s) affected)

Query�5$���B�E����7)��0��E��(0 ��Query0 ���R0� O���� $�(�����n -���R0�l$�:���� A�B����:�(+����%&D��(SELECT�5�����:���:��6�1�# j+����&H���

�0E�|O���3����:�(+Query I$�� ������7)��30��B�5$%���� $�n -���R0�E����d�

��SELECT s.stor_id AS “Store ID”, stor_name AS “Store Name”

FROM Stores s

JOIN Discounts d

ON s.stor_id = d.stor_id

�E���� I$�� ����(F ^�������N����?YCH���(0�� ���������SELECT�%� �� C��o���!�"��M�����n -������%����9��5$���?C+�%�� �����%���:���:� ��������+��0�

�3�&��(+�($�������� A���������6�

��?��dSQL Server&C��������+����.&0������%&��(+��CH����%�6�����+�E�� � �D����SQL Server��0E�Query� A) -��� �������(M�h�� C�� ������:���:� ��

�%&��(+��M�%&��(+��� I$��6�%���%���� I:�3�� ��(Y�^� A�B����5$���0��5L�LM�1��0��� &��6�R0� ����� AM�h����5$��(K)��+�����?+Query������%� ���� I+�

)��+��0������� 9���o���!�"��M��������&H����5$���A���O������1�5$�� �A��|&0�N�n -���y�6�

�E���� I$�SELECT�3�0� �������������%�"� �����:���:� ���

��E��2����0�SELECT��.YCH��?&0���O��1�%&D���7)�# j+���7��� �D���:���:� ��NOT�3�&��(+��� �������6� A�B� C�����()��&��(+��0%7:�n -���� ^ $������%�1�

�5$��(������n -���#� K+�(�����n -��� ����� A�B�6�

��Inner Join

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 196: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��0��� ^ $��?&0��E���7)SELECT����� A� j+�E��(?0�%�����E ���1�3�&��($�������X�3�&��($������ ��������6��0����Query����(0 A� .������C��30����(K$�1�

�(: H`h��R� �������Pubs�3�&��Q9+����%&��%��(I�I9:��������d�USE Pubs

SELECT s.Stor_Name AS “Store Name”

FROM Discounts d

RIGHT OUTER JOIN Stores s

ON d.Stor_ID = s.Stor_ID

WHERE d.Stor_ID IS NULL

��0�Query�%����N�(+����T$�t&"��d�Store Name

-----------------------------------------

Eric the Read Books

Barnum’s

News & Brews

Doc-U-Mat: Quality Laundry and Books

Fricative Bookshop

(X row(s) affected)

�3�&���M�b0�h��B�E���������+����.&0�����5$��(�����0��6c�CK+����5$��(�����0��5IN����:�(C����M� ���������(+�� ���������+��0��6c�CK+�n -�����?�����_ �M��

���������0��� &��1�%����� ���SELECT�30��B�(+����:���:� ���6�

��0��� :��^�%����:�(+�%�&�7�SELECT�%�D0�&������:���:��������������B����(���-����?��R0����3&��(+�(0 C&������� C�� +���6��������B����()�� ����%0��N���%�

�%�&���D0 L+��0E��O��d�

��SELECT stor_id AS “Store ID”, stor_name AS “Store Name”

FROM Stores

WHERE stor_id NOT IN

(SELECT stor_id FROM Discounts WHERE stor_id IS NOT NULL)

��0�Query L�)����� C��X�%����N�(+�������������6(+�]%M�*���E��%�&�����������B�%�$��^���� � ��������3�E�NOT NULL����Query����?���� I$��(Y^���

�%�� ��6�

�*������%�� �������_ �M���?&0�NOT NULL�#�%�� 0B����5$���0������D��%�&����}�3�����NULL L�)���?&0����%&��(+�#�7)������%����^�(+����(O0 ���'��6

� ����0�� 1� ���+� 1� 30����(C�� ��}� ���*����0�� �N�� S�5$�� �� ��h� ��� �7��� U� %� �� ���%��z�I9:� ���5D���(� .�����~��� ���30����(+� �?�� ���.&0�� S��?�� M� ��

�%����������(0 A� .�����U��D0 L+�(.��.'��h 9��3���0�������1NULL�5$�� �����0� L+�� ?+�����()��NULL�5D������IN�%� ������������`+ ��%0 ���

�%�� ��[)��+�6�

��0EQuery��D7C�� ��q�

� CM�5CD)��0������%�&�����:��<�%�&���%�� � H�/��+�E�������^�%����:�(+�%0��.��� 0�����B�($�������N�����5$�� ����+�E��(?0��0��6�5D����0�����N�� 0�E���+���f&+

%L'�%���%���?Y��1�%&��(+�� �����.'��B�%���%�����%� ��3A+�%���:�(+��6�

��Correlated Subqueries

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 197: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�0EQuery�%&&��(+��?C+���� A&?C+���g�����D7C�� ���6�%&���(+�!0��������(0�� ��(A��:��� )�����+������%&&��(+�l^�R0�����0%7:����%��l^��0%&'�[Yg�� A�B

�6�%&D��(:� I+��?I:�G���%&+E ��� A�B����5D&0�� A�B� ��� ���?+�6�0EQuery��D7C�� ����� $�3�� I+�E��(?0SQL Server�%���N�� 0����()����%&D��

�%����G�+����5H�$����5$���?C+�%&D���� I+� C���?I:�(.�C��#���� ���?&0�����%��6�(?0�%�� ���������}�����&0�N�R0����&H����lL������B����%����^�(+��N�

%&0B�(+�� &���?+��0�� ��(9$�������%�D�� ������E��6��

�0EQuery�%&&��(+�� �����.'��D7C�� ����0E���� ���+Query�0E� ������D7C�� ��Query�%&&��(+�5��M�5A��������5A��R0� ������ H`h�����5$���0��%&��(+��� I+��:���:� ���6���Query�

�1��:���:� �Query�����O�����%����(+������� 7?0�lL��(Y^���Query$���(�����������(+��� �6�

�0E� �Query�1��D7C�� ��Query�E���%+B�5$%��� H`h�� ��(Y^���Query�\?K� ����%&��(+�� ��(�� ^��6� +��1�%0 ����f������%�P�"�(C��5$���?C+����+��0�

�����(+�/ O��� ���YM�+��$�GE���"�R0���������T��d�

� Query��������B������B�(+�5$%����� ������(�� ^�Query�%&��(+�# $���(Y^���6

� Query�����(+������(� 0����0� L+�] $����(Y^����6

� Query��������O����0� L+�(Y^���Query�%&��(+��# $���GE���"�/ C:����f&+����(�� ^��6

�0EQuery�5CD)�����D7C�� ��WHERE��j+�R0� ������B�%�����E ���\"�1�5$���%�P�"�(C��5CD)��0�����3����(+�3�&��($����# �6�

�(: H`h��R� ������� ���Northwind����(� .����30��N�(+���Query����5$���%��57��3D�$����G� I$�R0����(����E���������(: �� I$�3�$��^�(+��B�������

�30��B�5$%��6�3�������=:�����YZD+�����F�(C��3����^�(+�� ���0��1��'�N�6� +OrderIDS� ��U��OrderDate�(+� �+���� ����3D�$�������G� I$�������

�3����^�6��$ &���������57�����G� I$�R0� �+�R0���� E���������5L�LM���(ID)�3����^�(+����� �� I$��B����*���+��6�5CD)����5CD)�����B�%�����E ��

�3�&��($����6�

�1��%��OrderDate�1�OrderID���CustomerID(0 A���O����������3����^�(+��6�#�%��������:�(+����� H`h���0��|C�Orders�] $�����0 "��0��� &��1�5� 0�

Query� +��S��B�E��5CD)�R0��)�%M� 0�U�����%���^�#�%���0��6�

�30��B�5$%�� �+���� �������x0� :�������%0 �� +�1�\>$�6�5$��5CD)��0��%�&�����:��B����5)�����%0 �����(CD)�6��()��0E� ������ ���0���Query��:���:� ��

�30����x0� :�������# 7�������0 ��/ C:����1�30����/ O����30����_ �M����I&+� �+�R0� �������x0� :��0����&����6�

���� ������ ���0��3����9���N�Query����%���9��(7� ��� ��� 0E�3����/ O����� N�%��4O0��5)�+�#�%��R0�3�D����+��b0�h�E��\>$���3�&��� JOIN����+�t0 �����

3�$����f�6�

��?��d�%&��(+�� ��%$��(+��f����������T� C��()�+�#�%��R0� )�+����(��%��������(+����E���$��"���C?:�E��%K��������(+�� O0������%L+��'�#�%���0���?&0��

�5$�������0��,-��E��_� ^�����=+�5����%���^������(� +E6�����3����^�($����� ���0��|+��������������()�+�#��%���6�

�%� ���0E����F����5$���?C+�%&&��(+��� I$��()�+�#�%��E�����(YM�����d�USE Northwind

-- Get a list of customers and the date of their first order

SELECT CustomerID, MIN((OrderDate)) AS OrderDate

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 198: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

INTO #MinOrderDates

FROM Orders

GROUP BY CustomerID

ORDER BY CustomerID

-- Do something additional with that information

SELECT o.CustomerID, o.OrderID, o.OrderDate

FROM Orders o

JOIN #MinOrderDates t

ON o.CustomerID = t.CustomerID

AND o.OrderDate = t.OrderDate

ORDER BY o.CustomerID

DROP TABLE #MinOrderDates

{r�����(+������5N����T$��d�({r row(s) affected)

CustomerID OrderID OrderDate

------------- ---------------- ---------------------------------

ALFKI eWsqk err�4W{4VX WWdWWdWWuWWW

ANATR eWkW{ errs4Wr4e{ WWdWWdWWuWWW

ANTON eWksX errs4ee4V� WWdWWdWWuWWW

AROUT eWkXX errs4ee4eX WWdWWdWWuWWW

BERGS eWV�{ errs4W{4eV WWdWWdWWuWWW

...

...

...

WHITC eWVsr errs4W�4ke WWdWWdWWuWWW

WILMK eWseX err�4W�4kW WWdWWdWWuWWW

WOLZA eWk�q errs4eV4WX WWdWWdWWuWWW

({r row(s) affected)

��?��d`7)���� ��T� C���%0������.�������� I+� C��t0 ���N��/������ ���������(: H`h��R� �� ������ C�����5$���B����%���� I:��0��Northwind��������

%0����������=:��+�E���C�� 0�6��

����%����:�(+������T� C�����5$���0��5L�LMrow(s) affected�30������ N�%���O����H�CO+����5IN�%0 ��1�%�&�7���O�������� I+��6�� ���0�S���C�������[Yg��U

������(0�� �� ������(I&+�����:�6�����3����^�($����3�^ &����� ���� ���&0�N����(� +E�������+��0��6N��M����� A&:�%���:�(+��M���������0��E���� I$��� )���(�

� C��� ?+�E���� I$����%���� D+X�%� ���6�

�R0�l$�:����� ���0��3����9���N���0��� &��1���^�� �D�Query�%&���OD��������+���� :�3�&���%�"�(����5����3����^�_ �M��1�3����/ O����6� ������ ���0��3����:�(+

$��R0�E���� IQuery�] $���� ���(0�OD�����(Y^���CustomerID����Query�3����/ O���%���(+�/ O���(�� ^��6���� �����%L+�R0����%0 ��\>$Query�

�%&��b7T&+��������+�G� I$�x0� :��������0 "����%����� :�3�����N���(������6�

��0�Query�%� ���0E����F����%���:�(+��d�SELECT oe.CustomerID, oe.OrderID, oe.OrderDate

FROM Orders oe

WHERE oe.OrderDate = (SELECT Min(oV.OrderDate)

FROM Orders oV

��Cursor

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 199: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

WHERE oV.CustomerID = oe.CustomerID)

ORDER BY CustomerID

� ���0�Query�����{r�3�&��(+�5� 0�������T$��d�CustomerID OrderID OrderDate

------------- ------------- ---------------------------------

ALFKI eWsqk err�4W{4VX WWdWWdWWuWWW

ANATR eWkW{ errs4Wr4e{ WWdWWdWWuWWW

ANTON eWksX errs4ee4V� WWdWWdWWuWWW

AROUT eWkXX errs4ee4eX WWdWWdWWuWWW

BERGS eWV�{ errs4W{4eV WWdWWdWWuWWW

...

...

...

WHITC eWVsr errs4W�4ke WWdWWdWWuWWW

WILMK eWseX err�4W�4kW WWdWWdWWuWWW

WOLZA eWk�q errs4eV4WX WWdWWdWWuWWW

({r row(s) affected)

��0�����%0 �����5$�� %�Y�����+�%&'Query�%�&�����:� A�B�����d�

� �l^�R0�lL�row(s) affected�3�&���(+���R0�lL�����%���(+� +������^�x��$�R0����Query�����(+������6

� Query�(�� ^��S�# j+��0�����U�0E�R0���7��� �D�Query�5$���:���:��6��'�NQuery����@0�F�2 ����R0�1�(Y^���Query������(�� ^��S����%�&�����:

�� KD+�/ ��E��We���%���� I$��6�U

� ����������� KD+� A+ �Query�%����%���� I$�������%$��(+��f�����(M�Query�%� �������_ �M��� KD+�/ �����%0 7�����(�� ^������������0������ A�B

�E����$�R0����@0�F���h����%�����E ��Query�%&� �������2 �����.0���S�\?K� ���������2 ����(�� ^�E��(��$����(Y^��6�U

��?��d�%� ���%�P�"�(C��5$���?C+������ KD+� A+ �����E ������+��������^B�|?��6� N���%0����_ �M�� A�B����� )���(� N����5$���0��5L�LM�%0��%��_ �M��� )���(�6

�0E�������3��%���0 C:��+��'�NQuery�0E� ���T������� +��1��3&���� I$��� KD+�/ ��E��30%0������ �%����������:���:� ��Query�/ ����'��C������D7C�� ��

�/����� KD+�6�

��?��d�#��%���C�����%0 �����5$���0��y0�$���(Y���%H )�S�� A��$�������B�����D���U��.0����Query�%��%��� KD+�/ ��%�����2 �����B���� ���6�5$���0��� ���?+

���Query������%�P�"�5H�$����5$���?C+��6�%��%��� KD+�/ ����'��C��������5$���0��� ��G����/�%�������#�%��/�%��E�����%0����ZCT+�����(+�,H �����

Query��B�(+�5$%������ H`h���%06�

�� 7?0�lL�� +{r row(s) affected�� 7?0�lL���?&0�����%��3�&���(+����{r�%&��N���)�����:�5-:��T$��6��0������E�]%M����:�(+�����+��0��] $����lL�Query�

c CM����.0��|9D�����E��Query�����(+�������6�����N��0��5�K)������5$6�%K���������+��0���� �������^�($���������3��6�

��0�� ��Query� 1�� ^�Query���� � 7?0�lL��(������Query�5CD)����(Y^���WHERE� �����2 ������E�� �%��5$��^���� H`h��5D���:�(+��B���&PC��

Query������ ?��� 9���5D��������� A�B���%&��5� 0���(Y^����6�

c�CK+��1�3�&���� I$��� KD+�/ ��E�����5$ +��%AH�����0���0E� +�Query�%�����E ��� A�B����1��D7C�� ���6��0�Query��������5$����^�� �D������+�E��(?0�� ^�

� ��'��?&0�Query�%���(+�� �����%&D��#�%��R0�|0 "����(�� ^���(Y^��� ���6��������?&0�����%�Query���%��1�%���N�(+��.0%?0�E�� ���E ������+�� H`h��

A�B�� KD+� A+ ��;�%����^�(+����#�%�� �������E��%&CAI�����.'� �

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 200: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�0EQuery�5D�������$��"� ��SELECT��

��0EQuery�t0 ����������E���� I+�2���R0������3�������f&+����%&���:�(+���&PC�� ��SELECT�%����� ?���6�������%���(+����(� +E�[Yg��5�K���2����0�

� I+����%�D��(: H`h�� �OD�� �������|�L��E���Query�%&D���S��C��%����^�(C�� +��1�%0�7��� ?��%Y���R0� ������(KC��y� :�R0�%����^�(+�1�# j+����&H���

�%� �����������:��.0��(N��� �%Y��� ����B�E��(N����0� L+�6�U�

�E���9D��R0�%�0 ���1����+��0�������� -+�� ���Query=:�(C������7)�5CD)��3�&����������5$���� 0�����6��������� �+�/ ��3�D�� A�B� �OD�������� ����+

�����%���^�5$�������G� I$���� ��'����(90� :�6%� �� ��'�E���:�59$�5$���?C+����=:��0��%$��(+��f�����#���|Y���������6���3����^�(+�������� �+�/ ����&��

�#�%��%0 �����5$ &K+��0%���0�Customer�3&�� E ������� ����6�3�&���� ������(h���2���~������30��%��E ����.0��1���`H�����x0� :����������3���%��3����^�(+

� �+����G� I$�S�50��%-+���%��U�5$�������(� +E��'�6�

��0�Query�E���:��� $�(C��Query�%� ���0E����F����%���:�(+���5$���^B��d�SELECT cu.CompanyName,

(SELECT Min(OrderDate)

FROM Orders o

WHERE o.CustomerID = cu.CustomerID)

AS “Order Date”

FROM Customers cu

��0�Query�%����N�(+E ���0E����F�������(0 ��������d�CompanyName� � � � Order Date

-----------------------------------� � � -------------------------------

Alfreds Futterkiste� � � � err�4W{4VX WWdWWdWWuWWW

Ana Trujillo Emparedados y helados� � errs4Wr4e{ WWdWWdWWuWWW

Antonio Moreno Taquería� � � errs4ee4V� WWdWWdWWuWWW

Around the Horn� � � � errs4ee4eX WWdWWdWWuWWW

Berglunds snabbköp�� � � errs4W{4eV WWdWWdWWuWWW

Blauer See Delikatessen� � � err�4Wq4Wr WWdWWdWWuWWW

...

...

...

White Clover Markets� � � errs4W�4ke WWdWWdWWuWWW

Wilman Kala� � � � err�4W�4kW WWdWWdWWuWWW

Wolski Zajazd� � � � errs4eV4WX WWdWWdWWuWWW

(re row(s) affected)

���$�������%�����������T$��0%&'�1�%�&��($������� ��������0��|C���N�Order Date���%L+�NULL�%�����6�5D&0���B������;�%�&��(+�@0�:�������+��0�����.'

�#�%����� ������~�����Orders�#�%��(YK�������� ��������%�������Customer�S�Query�(�� ^� ���U�%� ��b7T&+�6�

�%&��(+�i�TK+�5$��%�I+�����+��0��������y� :�R0������� +����:�2���+��0���ISNULL( )��

� ������� ��� �NULL4�y� :�ISNULL��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 201: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� ���������(F ^���h�������%����������(C��y���:NULL�&��(+�($���� O&0��������(K���:��B�E��(?0� +��1�%&&��� ���y� :�3ISNULL�5$���6ISNULL( )�

���=+�R0�S�������� +���ee�3�&��(+�,-���B��� �����U���%L+� �������B�����0�"�(+������ 7H�R0� 0NULL�%&��(+�($�����6 K)�����%L+��N���NULL�\>$�1�����

�%����N�(+�������%��Q9+��7)�E���0� L+�E��(JK��y� :�6�(YF����%L+��N�NULL+�1���7������N�(+E ����������%L�6�5$���0E����F�����B�� ^ $�d�

�ISNULL(<expression to test>, <replacement value if null>)

�# j+����&H����d�

�� 7H�(N�����%L+�ISNULL(NULL, �) � ISNULL(�, ��) � ISNULL(MyColumnName, ) where MyColumnName IS NULL ISNULL(MyColumnName, ) where MyColumnName = � � ISNULL(MyColumnName, ) where MyColumnName =’Fred Farmer’ Fred Farmer

�������y� :��0��%�0 �����&��Query�3�&���� I$���7)��d�SELECT cu.CompanyName,

ISNULL(CAST ((SELECT MIN(o.OrderDate)

FROM Orders o

WHERE o.CustomerID = cu.CustomerID)AS varchar), ‘ NEVER ORDERED’)

AS “Order Date”

FROM Customers cu

�3������?+� A�B� ����� �T$������d�...

FISSA Fabrica Inter. Salchichas S.A. NULL

...

Paris spécialités NULL

...

�3����(+����=:� �A�����F����d

�...

FISSA Fabrica Inter. Salchichas S.A. NEVER ORDERED

...

Paris spécialités NEVER ORDERED

...

��?��d�y� :�E�� O&0��������%�&�����:CAST( )�/������ I$�������6�5$��(&C���0%7:�� ���0�������6������2�����%����N�(+�������7K+���%L+�R0��T$��������?&0���������

���$Order Date�2���E��DateTime�5$��� 6�E���� I$���������������0��E�ISNULL( )���?&0���������NEVER ORDERED������2������%���:�(C��

DateTime�3�&��(+�5� 0��� T^�R0������0%7:��6CAST( )�%�� ���������}���������%&0B�(+�!�"��0��%&� +�(?'����`?+���� ����+����%���:�(+�y� :��0��

�%&��RC�� C�����6�3�&��(+�($��������B������0��|+�������6�

��#��%��(� &$��%0 �� C�����%&0B�(+�!�"�(K)��+� ��R0�t0 �Query�1�%�&��� ����0E�2����� ��t0 ���0�� +�Query%&0B�(C��5$%��%�������@���:���&�� :����(0 ���6�E��(� j+����&H���

�0E�����O����0%&'�5$���?C+�1�l0�����0�Query� +��1�%�� �������Q9+�#�%��R0�����T$���� ����� C���.YCH����(YCH�E���:��%�P�"�(YCH�# 7�����IN�/ O���

�%�� ��1�%���(+�6 $ $������3&��(+�57-F�(T0������ ����%������E�B��.YCH�E��%�D���:�(+�JOIN�0E����Query�%�&���� I$����^��6�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 202: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

������� ����+�E��(?0�������5D�B�� +E���&��SQL�30E���>��5$���%���^ &���C������_ &$��#�%s�R0�E���O����H�CO+�R0��� A��$��� ��T$�E��_ &$��#�%��

Query�5$���%����?:��S�6�;�3�&��(C���� I$�� O&0�����(��CK+�#��%��E����'�\"�%��������g��������2�����1���$�1��T$� � H�#��%��%&� +���� A�B�U�

�(� 0�+�/ C:�E��(D���%�&�����:��f-��R0� ����%����^�(+�%��������G� I$����� ^�#��-+�R0���� �������`?���6�

�5D���(Y?+�~���<Query�%� ���0E����F����5$���?C+��d�SELECT c.CompanyName

FROM Customers AS c

JOIN Orders AS o

ON c.CustomerID = o.CustomerID

JOIN [Order Details] AS od

ON o.OrderID = od.OrderID

JOIN Products AS p

ON od.ProductID = p.ProductID

WHERE p.ProductName = ‘Chocolade’

������ $B�� �D��� ���0��1���^� �D��6�3������=:�����YZD+����F�(C��3���^�(+��+���&��� +���5D��� C�����3�&��o���%�0 ����+� A&:�������%����^�(+����(� 0

��?Y���`?� �7$�� ����%��������G� I$�3�����6�%&� ���%0�^�3�� ��������������/����o����+����%�&�����:��%0�����?+�R0���&����6������� %���%���5$���?C+

�%�D0�&���0E����F��d�WHERE p.ProductName = ‘Chocolade’ AND p.ProductName = ‘Vegie-spread’

����`?�� ������%���:�(+����.'��0��� &��1�5$��#��-+�R0� �����T$��� �7$�� ���5L�LM����;�%� �������� +E�R0����/ ��R0����&H������Query���&'�c ��

�%���(C��/ O��� � ��S�����(C�������5N��� �T$�~���1�����(+���������()��6�U�

K)������ ��'�3����^�(+��R0�t0 ��n -���Query�R0���%&��(+�Q9+�����`?������%0�^����Query����%0�^�����.0��� �7$�� ���5$��%&��(+�Q9+���

�6�_ &$��#�%��E���� I$��b0�h�E��%�� �������� f���5$���?C+������T� C��;�����/ g���3�� �����t0 �����:�(+����.'�6�

����_ &$��#�%��� O0�� ����30����E ������+����d�

� ��������)Query�����"����%&��(+�� O0������O����H�CO+�R0����

� �t0 ������ KD+�/ ������Query�

�%� ���0E����F����5$���?C+��B�� ^ $�1��0��� &���d SELECT <select list>

FROM (<query that returns a regular resultset>) AS <alias name>

JOIN <some other base or derived table>

�3�&���� I$���?+��M� ����� ^ $��0��E��%�0 �����&���6�3�����`?��3�����5$��(0 A����/ C:�/ ��3����^�(+���� ��'��� ���Vegie Spread�������G� I$���

�%���6�1��0��� &�Query%� �����F��0�����%0 �� +��d�SELECT DISTINCT c.CompanyName

FROM Customers AS c

JOIN

���(SELECT CustomerID

FROM Orders o

JOIN [Order Details] od

�������������ON o.OrderID = od.OrderID

JOIN Products p

����������������ON od.ProductID = p.ProductID

�Derived table

��Vegie-spread

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 203: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

WHERE p.ProductName = ‘Chocolade’) AS spen

��ON c.CustomerID = spen.CustomerID

JOIN

����(SELECT CustomerID

FROM Orders o

JOIN [Order Details] od

���������������ON o.OrderID = od.OrderID

JOIN Products p

�������������ON od.ProductID = p.ProductID

WHERE ProductName = ‘Vegie-spread’) AS spap

��ON c.CustomerID = spap.CustomerID

�3�&��(+�5� 0����T$�R0�lL��%�&���(+������T� C��

����CompanyName

----------------------------------------

Ernst Handel

(e row(s) affected)

�%����:�(+�%�&��($��������O����0��%����^�(+��P� &'Query0 L+����t0 ����������� N�%�����(� &$��#�%�����*���+� ��%�&���D�6�

����

��?��d��0�� ���Query� %�Y���CY��E�����3�����E ���1�� ^�DISTINCT�3&���� I$���6� �+���� �����T$��0%&'���L� ����T��/��%�C��/ O������� ���0���N�

/����(+�5� 0��4�1�# j+����&H����Ernst Handel�� ����Vegie spread���� �����0��� &��1�5$�������G� I$����3�����������R0�/�%���6�/�����%�$�"�lL���+

%��������G� I$���%L+��'��?&0�����1�%��������G� I$���������� A0�+�/�%�6�

�%�&���(+������T� C�Query 7D��(M���3�&���?C+����%�$��(+��f������?C+���g��%��������������������(��^�(0�� ��6�

#��%�����%�� ���������}����%&D�����'��C���M�����(� &$���6 70�L:��O����H�CO+��N��# j+����&H�����%�� ��������%��/ g��� ������� � 0E���%K:���5$�������

�%�&���� I$��Q^ ��R0� �����C��5)�+�#�%��R0�E��%����9��5$���?C+S�%���%��(�^ ��~���(� &$��#��%��U6���^�������9+�l0����(�K)�+���� +������� ��

�%0����� �^������.0��������R0� C����&���6�

��.YCHEXISTS����+EXISTS����(� M���3���N��f������.YCH�R0����Books Online�5$�����N��f����� %�Y���CY��R0����B�6� %�Y���CY��%&� +��.YCH�R0��BIN� +��1�5$��

�%&&��(+�� .���� I+�(C������+����6�

�E��()�EXISTS�%�����N�(C������� �������y)������1�%�&��(+��� I$����R0� C���B� �����TRUE/FALSE����*���R0����(0 ������������] $��������� $�

��^��Query��� 7H����EXISTS�%�&��(+�5� 0���%&D�������%&��(+��CH��B�����6+��0��%�&�7��%������ :�3�&��($�������# j+�R0�%�����E ���(+��CH����.'����

�%&��6�R0������ O&0����� +�i%�Query�%&� ����������G� I$�R0��)�%M����(� 0�+�E��(D������5$���S�5D����f����+���%K:�U%����N������d�

�SELECT CustomerID, CompanyName

FROM Customers cu

WHERE EXISTS

(SELECT OrderID

FROM Orders o

WHERE o.CustomerID = cu.CustomerID)

��0�Query�� C������{r�%����N�(+���30%0����� A�B������0��(h���� �������d�CustomerID CompanyName

----------------- ------------------------------------------

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 204: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

ALFKI Alfreds Futterkiste

ANATR Ana Trujillo Emparedados y helados

ANTON Antonio Moreno Taquería

AROUT Around the Horn

BERGS Berglunds snabbköp

BLAUS Blauer See Delikatessen

...

...

...

WHITC White Clover Markets

WILMK Wilman Kala

WOLZA Wolski Zajazd

({r row(s) affected)

�3����/ O���n -���R0� ��(N� $�������� ���0��3�D���:�(+�d�SELECT DISTINCT cu.CustomerID, cu.CompanyName

FROM Customers cu

JOIN Orders o

ON cu.CustomerID = o.CustomerID

L�)������n -���] $����� ^ $��0��# j+����&H�����%����N������t0 ��� C���S�%� �������(:� I+�[�:�:�5$���?C+�6�U�;�30����E ���%0%��� ^ $�R0������'�1��0��� &�

�(0�� ���(N� $��������3A���� )��6�

� %�Y���CY��E�����()�EXISTS��� I$���1�%�&��(+SQL Server�%���(C��/ O�������T$����T$�n -���R0��6�1��B� ����SQL Server��OD�� ����������

�����(+�z)�+� O�B������%&���%�"����b7T&+������������� :�%&��(+�6�1��������n 7T���R0����(� +EEXISTS���%L+�True�!�"��������5D���/Ec��0��� &�������

�30����6�

�3�� �������l7:�+��� D+����(� C���(� .�����%�0 �����N��������F��0�����Query����;�%��(+��'�%������%��G� I$���� ��'�~������5$��^�(+����(� 0�+� +�

�����������() -���G��X�3�$����������� :�3�&��# CH�����($ $�������=:�(JK�����30������7O+�1�30����($��������B�6�30������ I$��(�� ^�n -���R0�E��1��%����6

�E�� ������~��� 0B����3�&�7�� :�3����(+�/ O����D0 L+��CH�R0�\>$Orders���%L+�NULL�������6�

��BQuery������0E����F�����d�USE Northwind

SELECT c.CustomerID, CompanyName

FROM Customers c

LEFT OUTER JOIN Orders o

ON c.CustomerID = o.CustomerID

WHERE o.CustomerID IS NULL

�%����N�(+�������������B���6�

�G�����������=:�� C��# CH�� ���EXISTS�30�����CY��R0����E ���lL����NOT�d��SELECT CustomerID, CompanyName

FROM Customers cu

WHERE NOT EXISTS

(SELECT OrderID

FROM Orders o

WHERE o.CustomerID = cu.CustomerID)

L�)�����3�&��(+�5� 0�������T$�����d�CustomerID CompanyName

----------------- ------------------------------------------------

FISSA FISSA Fabrica Inter. Salchichas S.A.

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 205: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

PARIS Paris specialties

(V row(s) affected)

�5$���:�]�D-+�(�����n -������(0�� ������� I:�6SQL Server7T&+�(C��lL����� 7H�������]�?K+�bEXISTS�%&��(+�# CH���6�E�� +�������+��0����NOT�

�1�30������ I$�SQL�%&��z)�+�����OD�������%�"����b7T&+�������R0����()��%���:�(+��6� O�����5D&0���� I:� A&:TRUE���%L+�FALSE��O������&H����

�����(+��%����N����OD��6�����+���L��(0�� ���O�� ���T������Query�5$��� D?0��6�

�E���� I$�EXISTS��.0��n�h�����

�#�CK+� ���� I$��E��(?0EXISTS���$��R0� �����E���7)�#�%��R0������($����create�5$���6����%����9��5$���?C+�%� ������������#�%��R0��P� &'

���$��|Y�$�����lL�� 0�%�&��i�M�����BALTER0������$�� 0��%������=:��������+�#�%���.�6� C�����(��CK+�����+�E��(?0EXISTS����%���:�(+�%�&���(+����

�%� ���0E����F�d�IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N’[dbo].[Shippers]’)

AND OBJECTPROPERTY(id, N’IsUserTable’) = e)

DROP TABLE [dbo].[Shippers]

GO

CREATE TABLE [dbo].[Shippers] (

[ShipperID] [int] IDENTITY (e, e) NOT NULL ,

[CompanyName] [nvarchar] (qW) NOT NULL ,

[Phone] [nvarchar] (Vq) NULL

)

GO

��?&0�����%�EXISTS�E����g���� ��'�TRUE� 0�FALSE���� 7H�R0����&H�����B����5IN����:�(+�1�%����N�(C�����%&��(+�� ��(��^����(h��6�lL���7)�# j+

�%������#�%�����(:��F���DROP TABLE�����(+����������6���$����������N�(C���f��������5CD)��B�����&0����g���CREATE�����(+��6�,H ��� ���0�

�����(+�5>0�?$�� �����/ .&����� T^����E��(?0�E����E�� ��N�Y��6?&0�����%��1��?&0��#�����$��%���:�(C��5$������+�E�&������CREATE�%&����������S�6��0���N�

c CM��%&� ���D����#��%���0�����(���%����%�&�������(>0�?$��������5CD)������(+� �.0���`?+�� O0��,H ���U�(C��5��%�������#�%���?&0�����%��1��?&0��/��

�i�M����#�%��3�D���:�SDROP�U��3�&��S��%� ���%&&��3N���$�%&��(+�[������ C��#��-+���� ���� ����5$���?C+����%&��(+�� O0�� T^�/ =�"�R0�U�6�� C�

�%0����!��"�������+�����0���6�

�%���:�(+����(: H`h��R� �����R0�� O0�� ����� :���5>0�?$��R0�1��B� ����Northwind�3�D0���(+�%� ���6�����B�� &�Ch�� ���Northwindcreate�(+�

�3�+ ��6���$�� O���?&0�����%��3�D0���(+�(� :����� 7H���&PC�CREATE����EXISTS�3����(+�5�C����d�USE master

GO

IF NOT EXISTS (SELECT ‘True’ FROM sys.databases WHERE name = ‘NorthwindCreate’)

BEGIN

CREATE DATABASE NorthwindCreate

END

ELSE

BEGIN

PRINT ‘Database already exists. Skipping CREATE DATABASE Statement’

END

GO

�/ �����(: H`h��R� ��~���1�%�&��(+���������%���0����� � �������Northwindcreate�1����%��������S`7)��P� &'��7����%�� ���^ D��3$���0�����(: H`h��R� ���U

0��0��� &��3�&��(+�5� 0����0E����F����/ �"�R�d�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 206: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

Command(s) completed successfully.

`F��/ �"��0���7��� L�)�����3���%�� :�5D����%&&��RC����5$���%��/ O���%�$��^�(+���� � �����%�����(+��)�%M� +��1�5$���� ���() I:���'��6�

���3�&��(+���������5>0�?$��/���� �� ������&���%0��%����^�������=:�R0� C��d�Database already exists. Skipping CREATE DATABASE Statement

�3�����R'���5>0�?$��R0�(0�� ���~�����%��������5M��� C��#��-+�� N%&&��[��� ��������+�(JK������(+�,H ��6�

0 A���5L�LM����������5IN�%0 ��EXISTS�����5$�� %�Y���CY��R0��E��(JK���������(+�,H ����%&��(+�� $B�� �D������ Query�,H ����%����������K0�$� ��

���������5��A$Query�����(+� A>0�?$���� ���6�

��?��d�3�%��� T^�� C�����%0 �� O&0������%I���/������ C��(&$��?I:����%��5$���?C+����5$��(0 � ��E��(?0� O&0���6��?&0�EXISTS�����B�E�����:�(+����(0 � ��

�%� ��(Y���%H )�R0���C��%0 7���0�� +������� ���� 0��+� ���&0�N�E�� � 0E�%F������57D�������� I$��6����1�# j+����&H���Query�(� &$��#�%��E�� +����

��.YCH��0%&'�E��3�D���:�(+�30������ I$�EXISTS�3�&���� I$���S�#��-+���� ����(?0�U�����(+�������B�E���K0�$����������(� &$��#�%�� +��1�6��O������0��

�5D���(Y���%H )�R0�6EXISTS�5D����D0 L+��� )�(� &$��#�%��R0� ��(0�� �� ���T���������%����(+��L��%H��)�(� N����%�� �������� 0�����6�

� �������2�����[���:�dCAST���CONVERT�����%0��%����^�CAST���CONVERT�%��%&���^��� I$���� &+���h�����6�30����� �� A�B� ����9+���h�������� �%������6���h�������5$��(7$ &+�� +E���&��

�3�&��($������� A�B��:�b�)��6�

CAST���CONVERT�%&&��(+��0%7:��.0%?0���� ��������2������ 6���(+�/ O��� ����CH�R0� A�B�y)��+����� �������� I:��0�� ��%&CONVERT�%���:�(+�

�y� :����%���/ O������(90� :��`0%7:CAST�%���/ O������� ���0��%���:�(C���6�

��?��d K0�$�5$���?C+����(��w$�����5$���0��%$�����}�����d��N�CONVERT����(0 �� ���C��CAST��������x0� :��`0%7:���&PC����%���/ O���%���:�(+�

�/ O���E����'�\"�%��CAST�/�����B� ������ $������R0��+�;�3�&��(+��� I$���d� �� � NE $ANSI�6�CAST� ��ANSI�(���5$��� NE $�CONVERT�5D����6�

�3�&��(+�($�������/�%������ ^ $���&���d�CAST (expression AS data_type)

CONVERT(data_type, expression[, style])

I:�(�%��� ����� %&��[� )� ����(� ����&0�N�R0���&PC��1�� ^ $������ CONVERT�S��� +�N�B������style�U� $ $�� A�B��%������ ^ $�R0��6�

CAST���CONVERT�()�����%&���/ O������ �������2������`0%7:�E�� � �D��%&���:�(+�SQL Server��� A�B����%���(+�/ O���(&C����h�������� ���0���E

�5����%����9��6�5$��#�CK+�� �D������R0�����%H�R0��0%7:�1�# j+����&H����6����C�����&H����d�SELECT ‘The Customer has an Order numbered ‘ + OrderID

FROM Orders

WHERE CustomerID = ‘ALFKI’

���������C����� T^�R0�����d�Msg VqX, Level es, State e, Line e

Conversion failed when converting the varchar value ‘The Customer has an Order

numbered ‘ to data type int.

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 207: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

������0%7:��%H� :�3����(+����=:����%�����()�� +��d�SELECT ‘The Customer has an Order numbered ‘ + CAST(OrderID AS varchar)

FROM Orders

WHERE CustomerID = ‘ALFKI’

�%0��%����^��� I+��O���R0���d�-----------------------------------------------------------

The Customer has an Order numbered eWsqk

The Customer has an Order numbered eWsrV

The Customer has an Order numbered eW�WV

The Customer has an Order numbered eW{kX

The Customer has an Order numbered eWrXV

The Customer has an Order numbered eeWee

(s row(s) affected)

�%&� �� ��A���C��5$���?C+��`0%7:�6���$�R0�%����9��%�&��o���1�# j+����&H���timestamp�%�&���0%7:�@�-F��%H�R0��������6timestamp��%H�R0�

&0 ��5D���($���� ���0%7:��0��� &��1�5$�� ��d�CREATE TABLE ConvertTest

(

ColID int IDENTITY,

ColTS timestamp

)

INSERT INTO ConvertTest

DEFAULT VALUES

SELECT ColTS AS “Uncoverted”, CAST(ColTS AS int) AS “Converted” FROM ConvertTest

�5����%���^�("��������0E�|O������S�5$���� I+�(K)����%H�U�(e row(s) affected)

Uncoverted Converted

----------------- -------------

WxWWWWWWWWWWWWWWCr VWe

(e row(s) affected)

�%�&���0%7:��������x0� :�%����:�(+���&PC��d�SELECT OrderDate, CAST(OrderDate AS varchar) AS “Converted”

FROM Orders

WHERE OrderID = eeWXW

���������������0E����F����(O0 ����$���0��S�%&�����=:� C��3D�$� %&��?�"�����D��5$���?C+��B�[� )�U�OrderDate Converted

------------------------- ----------------------------

err{4Wq4V� WWdWWdWWuWWW Apr V� err{ eVdWWAM

(e row(s) affected)

����%�&�����:CAST�i`^��� +��1�%&���0%7:����x0� :�%���:�(+�3��CONVERT�5����%����9���B� ���(��&���6�# j+����&H����d�SELECT OrderDate, CONVERT(varchar(eV), OrderDate, eee) AS “Converted”

FROM Orders

WHERE OrderID = eeWXW

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 208: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�����("��������0E��O�����$���0��d�OrderDate Converted

------------------------- ---------------

err{4Wq4V� WWdWWdWWuWWW err{pWqpV�

(e row(s) affected)

�|O��� ����CAST�5$���� I+��6��������0%7:�3����:�(+� +�5L�LM���kq)��3����/ O���(C)��� A'���(C)�����# $� ��[� �d�SELECT OrderDate, CONVERT(varchar(eV), OrderDate, X) AS “Converted”

FROM Orders

WHERE OrderID = eeWXW

�%����N�(+�������0E�|O���%���0��d�OrderDate Converted

------------------------ -------------

err{4Wq4V� WWdWWdWWuWWW V�4Wq4r{

(e row(s) affected)

��'��C� �y� :� A���������%��R0����5$���0��%0����_ �M�����CONVERT�%�������)��Seee�# $� ��(&"������%� $�� +�����7)�# j+����q���(C)��X����%� $��

�%����N�(+���(C)�����# $� ��(0 �� 0��U+����%����^�(+���� %&��[� )����%&��(+�Q9�6�E�����eWW�# $� ��2���q�E���C����(C)�eWW� �� &j$��(C����%K:� ��2���

�# $V�(C)���6����%&���:�(+����[� )� ���=+Books Online�5CD)����CAST���CONVERT�%�� ����6�

��?��d��?+��M����%�������=:�E��(JK�����%�� ���������}���YVK�{�%����%��� O0���60����%�&���� I$���TL��5+`H�R0�E��%����:�(+����5D&0�������=:��0��E��(?

SQL Server��%H�(C)����# $� �%������%0 ���?&0�������Q9+� �����B�E��VW� 0�%�&���� ������er�%&��(+��� I$���6��%&&��%��|TL���0��o���!�"XWpqr�5$��

�6�

�(0�� ��� fM`+�� AY���#`^������&�� :�30������ ����� D+��M� �����M������0�A�����6�%&D���� $B�(N%�E��������+���L��%&� +��������+��0�� +��6�v�T+� O&0�����3���^�(+���� ����+

����(0�� �����*���+��� D+�3&�Query�5$�� ���6�%������ :�3&��50�%�� �����N������� C���������3���^�(K$Query5$���y)�+��������%�&���� I$���6�

��?��d������&��5�5$���+���� L���E���.0��(?0��6��� I$���+���f&+�� ���0�(Y�������)�E��(Y�5$��6

c�CK+����5$��(�������+����3�&��(+�,-���B��� ����5CD)��0�������� ��'��%&&��(+�� �� ���'��6���������)�E��(C����%K:SQL Server�C�����%������������

eWW�%&D��5$���%F����6SQL Server�5$�� � &j$���Y)�_�����������(0�� �����+����,-��/ .&��SQL Server����������� � 0E� � &j$���6�

��?��d�R0�(0�� ��5�C�������+����5����%����^�_ �M��1���9+���h���Query�%�����R-+�����6���%H��)��0��5$��(: �M�� �D��(0�� ���N��%0��.�� %��(Y�^������

�%�&��� -+��1�(&��� -+��1�%�&��� -+��\>$���%�&���� I$��2�����TL�����&H������� A�B�o�H�<<<�

JOIN�0E���������� ��Query� �����?C+� C����� ��T� C����30����(+�57-F�3��� ?C��E��(?0� �����/����@���:����� �%���������5$�� ���&�+E�5CD)��0��%�� �������� f���5$�� +�E��/�%����

30��?�+�(N� D0��� +�f���TL�� ���6�

���# $��?+VWWW�S���%�����N��f�����3)�����1�3)��� A'� �����������N�(+�3D�$�x0� :����*���+����5H $�����eV�[���C���ke��7+ $��errr��%H�rr����WW�����(+��0%7:�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 209: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�E��5$���A�����5$���0��(&$����f���TL��E��(?0JOIN�0E� ����� ��Query�%�&���� I$�� ���`+ ���f���0��%����:�(+��N����5$��5$��������� )���(� N�

$���D������� �� � 0E���%K:�����B�5�K)���5�6�%&��(+�Q9+����� D?0��� D+��������(.D�� A�B����(0�� ������+����%���(+�v������ ����+��0E�#�%��6�

� A� 7���5�K���

������ E���7)Query�\>$���3�&��(+�z0�K:� �����=+� 1�

���� %���(+� �E ��� ��� 3����(+� ���)� ��=+��B� ��� ��� �0� L+

�0EQueryC�� ����������?&0�� ������#�%����� ��������

����������� 7?0�lL��(�� ^�6�

�0E� R0� E�� (N��� ��%L+Query���� ��T$� |C�� ���

Query�%&D��� D?0�(�� ^��6�

�0EQuery� ��� 6�������+��0�� +��3����(C�� ���b�)��5YH��+

�/�������� -+��� ���0%&'�6�� ��$� A�B����3�E�(+�]%M��+

����57D�� �C�JOIN�%������6�

� 7D��#�%��������%&D��R'����SeWWWW�C�� 0��������U�

�0EQuery� ��6�������R0��� 0���� �C��� ��$�3��� 7&0�

����57D�JOIN���������C�����#�%������

�(+�����%L+�R0�lL��l0����|C�����N��f����E��%K��1�n 7T��

�%����N�

�0EQuery� ���6c�CK+��K���+��0%&'� 0��K���+�R0�$��� ��

�R0����57D�� �C�JOIN������3�����6�

�n 7T���6 7D��l0����|C�����N��f����E��%K��������%L+�%&'�

���%��������OD��#�%�����(�^ ��~�����%����N�(+���6�

�0EQuery�1�����/ O����� )��P� &'��:���:� ��JOIN� ��

�0E� \>$� �Query� �D7C�� ��� 6�0E� �Query� ��

�lL���K���+ 7D��������(+�/ O���� 7?0������ �C��� ��$��6

�0E� �Query�%����^� �K���+� � 0E� ��%K:� �D7C�� ��

�5�����1����+��0�����JOIN�����%���^� �A��|&0�N��6�

7D���K���+�#�%���5$��������0 "�#�%�� +��5$��R'����

JOIN� 6��0E� (�� (����� � -�� E�Query�R0� �D7C��

� ��� �LYM�5�K���(� ��� � ��$�(C��,H �� ���%&��(+� � O0�

� ����(+� 6�0E�R0Query $ $���D7C���� E��cursor� ��

�%&D���.0������+� ���&0�N�E���:%&�� +��%&D���K0�$�

�0EQuery�����������D7C�� ��JOIN��

H���(� &$��#��%����0��� &��1�%�������^����C��� ��$�(C��

��� �� A�B� ��* �M�� ��%�&�6�%�&�����:� A�B����%0 ����� ���+

��f� M� ���\>$� �� %���� (+� ����� � 7?0� A�B� ��� 5$�� �0�

���%L+���������� O0���h 9��� ��$������0��� &��%���N�(+���)

�����%���^������ ���H�CO+���� A�^ ���h 9��3��(C��6

� %&� �� %&�� 0� y0�$� %&���:�(+� A�B��(.D�� ����+� ��� ���

����%��6�%�&���?����^� A�B������E���7)�6�

��.0�� ���&0�N��� L+����(� &$��#�%��

EXISTS�6����EXISTS��K���+��0%&'����5D���/Ec�

� 3�� �� ����� n 7T��� R0� �������%L+� R0� �B� ��� ()��

���� ��� 5$�� ��EB� 1� ���� �%�"�� ^� �T$�R0� ���� b7T&+

������ %K���K���+�)���h����� ���0���� ��$� ���fM`+���

�%&��(+�3����6�

EXISTS��.0�� ���&0�N��� L+�����

�%�����3A+�����+�lL�� A&0��6�5$��� 0E�� �D���� I+���(� ���l0����# CM��6�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 210: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?��d�%&D��3A+�� �D������+��0��%0��:�/ .&��������3&��%���:�%0 �� O&0�����6�:�3A+�(0�� ��%0��%�� %0��:����()��5$���YZD+��0�� AYM������YZD+��M� ����

�%�&��� -+�����(LT&+���%+B� ��6�����+� � �D�����S���C����� +��U�%&&��(+�� ����^�y+ ��%H��)�6�����M������0�A���������%����^��ZCT+�!0 +EB��0%&'�/ O��� �

�%0�������� 9���6�

��F`^��zY9+�����+Query�#����������k���q�:��E��!���%�%�������@��{W����+���� ��� AYM�����E��%F���Query� +�� 1�%���N�(+������ ��VW�5$���?C+���L��%F���

�%&� ��E $�$����6�R0�%����:�(+� 0B����5D&0���YZD+�� )���(� NQuery�%�%�� C����������������%�D0�&���6�R0����5D&0���YZD+�3���� )���(� NQuery� 0�� ^�

�^}�#�������%��(��7)��� )�(0�� ���%�����6�3�� ����+���Query��� ��JOIN�%&� $��(C������������� +�(��CK+� ���6���� ��������+����5����%����^�_ �M�� C�

�%&���(+����)� C��� �^��������y)��+��B� ���� �.0�� AYM�����%�%�������@���:������0�������� ����+���%���%��6�

0�C: A&�e4 �R0Query���%&+� ���C��� �����2����x0� :����%�D0�&��Northwind�[� )�������MM/DD/YY�%����N����6�

V4 �R0Query�E���� I$�� ���.0��JOIN�0E�1�Query�\>$���EXISTS�%����N���%������?��57�����(�� I$�~������(� 0�+�/ C:����%�D0�&���6

k4 XA�B� ���� �+�R0���� %0%��G� I$�� VXWWW�����c��Northwind�%����� �����5$�������5^���"��6

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 211: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

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

��� ��!� "�#$%&�'�� "���� ������(����)����*�����+%�����,���� ,��"��)���-���)��'("�)��&�'���&����.�����/$0���1��2��3��)���"��)����%��4�5"�-���6�

��5���7�� ��� 7�8("� &���0����OLTP��("�!��95����.� :����2&��9&�����+%�-��6�;� "�!�<5 ����(:�OLTP��5���7��=�=>&�?��� 7��(%���@�!�����A�'B���1��)�

�����'B��A�C �.�� ������� ���&�DE�����2:���F������� ��(�2�G)�H�����*�I���"�������2��3�� 5J��)��.�C ��I���D�������*���2��3��G)�H�-�KB��

����&�DE���I�����(��J���LE&���� ��; ��-��������&�DE���I���I�������� ���)���� 5J��)���"��(%��-�������).�

��� ��; ���I�����B�!�����"�M����(%��-����@��"�'�������B��!��*��6��$(���)������������'�B��A�N�O�&�����-���)��P��*�G)�H����)�;�29��-���Q�M��,�

�R�6��ST(��#��U�������� ��)��6�!�ED���� "�'B� ��������G)�H����V�������)��2�@����5��:�)�������� �'��S&��)� :&�W��)��&�DE���I����"������� 7

��("�������<&��� ��G)���X��&�DE�����2:���G��H��A���G��YJ�OLTP���OLAP�� "�'�B��A���) ��)��.T�)�)����������2��3��-�(ZKB����:(������

E<U��"�����U�����,����� ���������!���7�MK�U�-���)������,�'������.�

�5:���[�K5�������-���E<U��"���)������� �������B��A�)�� ����������:���)����� ����!)� ���2�@�������-���)���"��K�B�9������+%��)���\U�(&�'���!����A

��5A�� 7��2�@���4�5"��������� �����!� �! �A]���2���)����B �� &��(�����.�;�=%���&�DE���I������ ��)���2�@�8S���:(�������<U��2�@����K2��6� ����^ ����

�M���)�� ���� .�

��5:�����("�!)����)�����-���������A�/����)��%������:(�������%��������Y����"��)�����-�����5��'("������"�&.�

���*��

�M����&�DE���I���_/*�-� &��=H���)���-���.�S�U����*�I���"�'�(�<�����������Q�M��,�

���259H��"�M������B�!�������K���������D�K$����*�I�`���)����" 5J���=H���.�����!� ��B��������2��5�����B T��)���B�!�������K��-���.�I��������*�I�

��2*� )�� �B� !���� ��� �D�K$��� �� PU���� W�� ���� �59V�M���*��� �2�@� ��#=R�� �"� X� �T�)� �������*� )�� ����G�DE��� �� �a� � �� �5 ���� .��:��� V��:

�b=5Y����25���*���W���*�X��2�@���B��T�)���W�'B����2�@�)�"������,�X�M���*���;� V�������(D�����T�)�c��� ����!��������;� V�������ER�.���B�V���G�U��

�;� V���ER�6�ERD�� �����59V�/����.�

���("���$�����*�����B�!����#�" &�����)�� �������*��5U���G)����"������B��A�)��U�6��2�@�b=5Y����B��T�)���*��(,���������&���=���W�)���)��)����-��

����a���c'������.�XI��)��de��f<& ����25���*�������D�K$��I���� ������(<B� V��&�DE���I���.�

��)��2����� ��G)����)���A���B�!����

��Online Transaction-Processing ��Online Analytical Processing ��attribute ��relationship ��Entity _Relationship Diagram

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 212: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��&�DE���I������ ����(�g(��������� �OLTP�M����)����.� �C T������T�)�!����!����7�;�29����)��-������������ ��.�f��&��)�����-������� B

E.F.Codd�W�IBM�X�����)�0hih� �C T��.Codd��������(����)��&�DE���I� "�b� %&��������D�K$��j� ������)��2�@����5����"�#�& &��������*���

���� ��k&��(��� ��� ��)����*��"�������)� �R��KD��

�����(&)�<D��T�)�-���)���)�����+%��

� � ��'2�����<��#�& &.

� B���������)� �R�?�)�I��j� ������( ��)��U��������*��( ���5 ���l�<&)��'�W�6�MS�S��)�codd�������T�)��)����*����X

� ��("���$������*���B������� "�!�)�@ ��� ����$����*�I�������B��A�)��U�6����7����*�-����� "�f<& ���.

� �M�������T�)��&�DE���I������ ����B��A� �����:��������� ��.

��5:���������� ��;�29��M���!��59����*���A������������� �)�������)���� )�"�)�����"�M����K�B�9������:���.���M���!��K2���)��@��"��("���� :���� �� B

��B�����;�$����)�M����5� V�����I����"@��: ����"����B)�"�.�M����&�DE���I������ ����25K�U�����:��PU���)��������� ��.�G�U����B�V��"���)�������

���("��� ���)���A���B�!������KD��"���)���m��5���G�U����B�V���������(:���� ���)���A���B�!�����.��:�(:&�n�>������)������2B�)�6�������� ����� 7�)���5�

��)�����*���� ���&�DE���I���I��������)��� �.�

��5:�������)���A� o���TS�������$(���)��M����)�p&�I��������� ���"�M�(����@���'("���.������("������!���7��)��� ���q&� 5���I���� �V����'�K�&��5U�

�M����&�DE���I���I����)����K ��"��/�,�6� �A����("�4�Y5������ ���� ���5����&�����"�M����B�)�-� 52����)�������)��������.��2�5"��(�����)���A�W�(����

�4�5"�-���X���B��;�$����(��V�����2�@��"��)��)�"� B��"����B��;�$����)���5�B��@��A����"��5�%O���)���)���)�)�"�-� 52��.��KB�6�4�5"�-���!�(��������(D��

�M��K ���'�B�9��?���@�'B��;�$���'���&�����"��)�"�K ��� ��)��2�@�'����&��K��� ����!�(�����r�B������-������'�("������!���7���.�'�B�9��-��������������

���("�4�Y5������!�)�-� 52�������)�)�o(�����)��)���-� 52.�

��"�'�("���R@��)���-�������B��!��*�i�'�)����� ��; ���.E<U��"���� ����� �)�@�#$%&�M���-:K����D�-����( ��!� "�)�"�������� �����&�DE�����2:������

�� ��.[�K5���E��"��&�DE���I���I���"�����( ���M���!� �������� ���: �-��������� ����)��Q�'� ���5 ����� ��; ���������d7�G)�H�-���)��

�������'�B��A�N�O�&���)�����*��M�%U���)���"��� ��; �������KB���9��)�����4�5"�-���)���"�M9V������$(��`)� ����; �����) �!�&�"�)����G)�H����

�� "�'�B��A�.�

E<U��'�5A��@��)��<��T����*�)���@����!��95�����[�����=H����="�I����$��������,��)���)��s�'�B��A�m��5���6�'�("�)�"� T��I�����"�'�B��Y��Z��(,��

�'�("�tYJ���)� T���@�� ���� �5Y��)������&�M ���.��������� ��;�29��M���f<& ��)�����@���f<& ����2��5�����=H����="�b� %&��.��"���)��������:�

���(5��������� ���)���)��M���-:K���M���-����� ��!��( ����

���="���� �R���/�,�r�B�����="��J�KB�6���="�.�

�� "����O���@������&�����"�#��*�MK�U�I����

R���/�,�r�B�����="��J�KB�6���="�6���="���� �Codd�-"�':K"��u�

��B�����C ��)�;���; ���&�������� ���HEA��=�A�)�����-���.���="�I����fS���2��5���KB������������5��"��5U��W� 5K"������ 5J�����X��(5�B��5���6�; ��

���5�B��)����)��� ��;���.�

�(�<���'�("���) ��)��� ��b=5Y����2� ���������(5�B��)����)��&��H��A��,��2�@����;��"� B�'�.�

�F� �����<U���� ��� o��)���)���)������)�@)���� ��; ��-��������)���A���B�!�����:(�������<U�M �����B��A�m��5���.�M���*���I�����(D����)���*������5��:(�������<U����

��� o�)������T�)��&�DE���I���)��M�)���� ��� o�)���)��)���������I���� ���

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 213: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� ��B��C ��)�M���*���I��fS����fS��������*�W��(:����*����#�" &��)��)����X

� �K5�����( ���5:�������B T���KB��'� ���5 ����)��=H����="�I������

� �� ��'2�����<���2��5�����B T��#�& &

�)����"��5�)����25���*�������F� ��� �'�("�tYJ��'�.E��"��2�@�����+%�� �A� �����+%�����6��(5�B�NO����.����)�: @���������� 7�����2�@�����)���

���� �.���("�tYJ���)�)�: @���25���*����U����.�

��5:����� V�v ����������� ��� V�0� ����)��M���*���NT��-� &[���(�����)��2�@������&����6��� ���( @���� ��� o�)��v�.�

�'�("� :��!�������I���)���)���������?� ������.����'�B��Y��M ���'�B��A����2��5���,�����:(����5�����b=5Y����25�%O���� ������F� ��� ������

����'�B��A�'5����������7���25���*����� "�tYJ���� ���

���("� :����� 7�-� &��=H��!)�)��6���5��.�!�����"���������)��U��)�����"�M���� ���� �>(������� B��� �M���*���I����$���'�B��;�$���'�B��A�����"��)�"

�'�("�! �A]���� 7�)���)���A� o���)�����B�.�����B��A�����(������ 7�de�����B�����?)�9���(�)�"�I������M� V��B��A�w�K&������@��B��A�� 5J��I��.�

-�����)��'�� �M���*���I����M���-:K���@���!�������G� )�9��

��5:������("�tYJ���)�M���*���-��(,�M���-:K�����!����)��6���� � ><5��������� ��)���"��5U��.���Q�'�� "�tYJ���)��)���I��-���fS�������("�����

���� ����tYJ���25���*��� ����������� ����� 7�����"�����'�B��A�.�

���("�tYJ���)��=H����="��$�@��������������2��5��de��6���� �/" K5���2�@������,����25���*�����)���B��A������("�x ��.���="�I���"��� ���5 ��������

��("����'B� �� T�� B��� ��)��5:�����( �I���=H��.�

������"���B��="�de����'�("�)� ���)��2��5��M����'����&���1)��'�("�tYJ����.������&����!�S���)������"�� �����2��5���KB���� ����������"���B��="�M���

����)�)�"����K �M���*���)�� T�� B�� ���� �>(��y��( ��� �.��)������*���=H����="��� "�tYJ���� ��5Y�����P� ��!�D�U�r�B�W�-��(,�����:��-��

�2&��9&����&�����"�M����=�[������6���)�������:�����7�G�DE����"���� ���)���&�DE�����2:������ ��)���)����.�X��5���"������B��Y��)��U�6�PU�����+%�)�

��������:���&�M �����B��A�m��5���������������"���="�I��W���2��5�Identity���rowguid( )�Q���)����������)��X�

���*�I����Orders`)���)����*�I��z��)�)���������!���7����B�����������3�����(D�������6�'�� "���$����<U�����Orders�'� ���5 ������

Orders

OrderNo�CustomerNo�CustomerName�CustomerAddress�CustomerCity�CustomerState�CustomerZip�OrderDate�ItemsDate�Total�

-����"����$�@����-��M���?)�9��I��^ %��?)�9��!)�K ���M���G� )�9����l� ����*�OrderNo�'5� V� o�)���=H����="����(D����)��.�

��Object-Oriented ��Key Candidates

���G� )�9�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 214: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�'�)������7�M���*���I���$(���)��6�4�A)����.�� ��'2���2��5��#�& &��� ��K��{D��M���*���-���)����)���r�B�-�(ZKB�W�.�����(����� D�n�>��������*

���������6��M��������5���=H����="��"��� �����B����)������*��)�"�-����� ����/��r�B��:�(:&�n�>������.��B T��#�& &�����'2���� �'B���)���r�B

��)������*��.��B�����C ��)�M���*���I��� B�|�n�>�����'B���*�.�'�("�F� ��)�������� ����� 7��"�'�5�B�!���@�6��HEA�)�����.�

�� ��; ��-�������� ��; ��-�����W0NF�X�� �}7�����/$&�-�K+&���!������2B� V�)� :&�^}���)���)�0�W���(5�B��5���� �R�����������B�!����X��("����{>�.�6�NT��-� &[��)�

��=H����="�I����$����=�������@�W�'�)����:���"�X� �)��)� :&�!������2B� V�de��6��("����)�"��@�)�����*���B��="����("�����S5(�����*���*�I���

�������������#�& &�-�KB���G��=KD��������������*�.�'��S&��B�!�������MK�U� B��� ����V��*���B T����� "����#�" &��)��B�!�����"����5�� B�6�!�ED��

�'�("����.�

��K%��)�����B�!����)� :&�6��5(����B���� ��)������M ���)� U���5��I��)��G�DE������MK�U�-��(,��"�����(�����M ����7�)���&E:J���)���-������

� ������ V��2*�&���U�)����������! �A]���+��6�������@�)��.�M����+��-5�)�)�B��(%����!������ "�! �A]�)��-��(,�.��B�!���������! �A]��B�%

��6�-�� �(�M ���� 5K"�MK�U���<��~)/��<U��(�����=p���-��.

� ����%&������ ��$�*������ 5J����B�!�����"�M����(%��-������)� :&���B�!���I/O��� ���� 5J��� .���������)�"�8B�"�{D����A��=p���-��

�j� �����!���������������2"�=����$�*data bus��� �����:< �����.

� :&���B T�� )����*�����B�!�������!������,)�e:��8B�"���M��2�� )�� �� �B� !����-�� ��+&�{D�� �)���-����"��(5 ����MS�T��'B� ���B�V��)�

����$��.

� �I�����!��95�������B��Y� V�Query�I����l� ���B�!����Query���B�!�����&���)�@�M����B�)�������5����)�@�M����)�M���#" ��!������)����"�

@�)����*����("���/$&��)���W�M����("�)����)�"�-���X

�2��5��6���("���)�����*�������*�)����������.�I�����!��95�����G� )�9���)���)���)��/�,� B�'5����&����-���"�M���-�����(B�4�A��)��Query�M���

�;)�@�.�

����B������*���B�!�����������%&���������6��)���-�����) ��� �'� ���5�.�-����A����)��@�'���5��&�;� :�� "]��$(���)���)��2��5���������%&�-���"���("��*�&

�'B��8��K���>9H��

�Order No

Order Date

Customer No

Customer Name

CustomerF Address

Items����Ordered

0�� 0�0�hh cacac

ACME Co

01`a 0st St.

0Aac`i, Flange, �lbs, ��c;

a-OR1a��, Injector, .clbs, �0��;

a-OR1a�`, Injector, .clbs, �00i;

0saIca`i, Head, i`lbs, ��c� 0�0 0�0�hh

01���

Sneed Corp.

ccc Main Ave.

0s`Xhci�, Pump, clbs, �i1�c�

0�1

0�0�hh

iiic0

ZZZ & Co.

a1a1 SW 1nd

�s�Gh1��; Fan, `lbs, ��a;

0s�Gca`�, Fan, `lbs, �0c;

0s`Hi1c�, Control, clbs, �`1

0�`

0�1�hh

cacac

ACME Co

01`a 0st St.

a�s�Gh1��, Fan, `lbs, �a��;

0s1Pcc1`, Housing, 0lbs, �0ic;

0s`Xhci�, Pump, clbs, �a1

��Atomicity

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 215: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��)���)� U������)�8�7��=p���-��(,���*�-����� "��� ���� �.��)�"��=H����="�I�����5�W�M����5 �����*������T�)���B�'5��������<U��=�A��)���-���6��=

�X�M ���'�B��A��� �����; ���=H��y(������� B����&E:J��6�.�

� �;)����)� :&�!������2B� V�-��W�� 5J��G�DE���X�6�'B��)� U� ������*�I��)���)��2�@��"�;)���m��5���.

� ���5�ItemOrdered�5�B����"�M�������B�!������5>�����( �����J����/$&��.

�'�("�m)�A��)���*���5��-��(,���'����&�����

ItemsOrdered

�CustomerNo

�OrderDate

�OrderNo

(PK)

0Aac`i, Flange, �lbs, ��c;

a-OR1a��, Injector, .clbs, �0��;

a-OR1a�`, Injector, .clbs, �00i;

0saIca`i, Head, i`lbs, ��c�

cacac

0�0�0hhh

0���

0s`Xhci�, Pump, clbs, �i1�c��01����0�0�0hhh�0�0�

�s�Gh1��; Fan, `lbs, ��a;

0s�Gca`�, Fan, `lbs, �0c;

0s`Hi1c�, Control, clbs, �`1

iiic0

0�0�0hhh

0�1

a�s�Gh1��, Fan, `lbs, �a��;

0s1Pcc1`, Housing, 0lbs, �0ic;

0s`Xhci�, Pump, clbs, �a1

cacac

0�1�0hhh

0�`

�'�B��)� U��� ��A���*��)��2�@����CustomerAddress

�CustomerName

�CustomerNo

(PK)�

01`a 0st St.

ACME Co��

cacac

�ccc Main Ave.

Sneed Corp.

�01���

�a1a1 SW 1nd

ZZZ & Co.

�iiic0

��)�����*���K��U������*����*��)�)���)���-��(,���

� ����*��� ��=H����="�I��M��� �5:���@� T�� B� �"�'� ��-pKT�� �&�'�)��� ������=H�� .���*��� Customer� 6�1� �)��� ��*���=H�� ��="���

CustomerNo���CustomerName� .�CustomerNo�� ���ST(���(�/V���)���� o������� ���$���^�B�-����� ��������*��'B��%�

E��"�;���I����� 5J���M���)��&���U��W�.D���M" ��B�H�6��3�����(AA AutoGlass��)�����*���:� �@�)��.�X

� ���*�����)����B�!�����"������-����Orders����*���*�)���B�!������F�*)��I���"�M ���'�B��A�m��5���6��'�� "�m)�A�Customer�'� ���5 ���

�.���5���"�M��������-�KB��CustomerNo�W���=H����="�X���*�)���)Orders���(������.���="�I��6�'�5A����)� o��)���F�*)���5U��de�

�MA���'�B��A�� ���5 ��� <5%����(�)�"�!)�K �I������?)�9�� B��"�'�("���K>&��:(����� ��)��*)�A�.

� ���l� ��G�DE���������K��I��'����&���ACMECo�'�("�^}���)��.��"�M������B�!�������$�*������)�"�-�����)���)� U��)� :&���2B� V�)���

�'�("�! �A]�)�<:��fS���)��@��:(����� �.��� ���� ���S��x)�%&����� �V�=*��������! �A]�)�����*��� H�{D��)�"�-���.

� �'�("�����$�*��)��B�!�����)� :&���2B� V�fS��.)� :&�!� V�)���@�����6�'�(�����)��-��(,��)���)�&�#�& &���KB���(B�� �V��K��)� U����fS���2�@�

���)������*����m)�A�����5����r�B��"��(5�B�!��������5K�U�.

� '�� � ����� �� �� ��� ; �� ��� �=� �� -����� �"� '�5�B� !���@� ��("�� �� '�� "� )�"� �)� :&� ��B� !���� �� -�� �(�� � �}7��� ��/$&�� .���5�� �� �Z��(,

ItemsOrdered������B��A���("�!�������)���)� U��$�@�)���B�!�������b=5Y��MK�U�-��(,��"����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 216: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� �� 9(���%TU�!)�K ��(,��&�I����

� ��B��%TU��@����;��"� B�?�)���)���)���&�DE��

�;��"� B�MK�U�������6��%TU�!)�K �W���� ��)��2���'B��� V��X����I��)���2�@��� "�#�" &�����6��(5�B�!������� �}7�����/$&�MK�U�I���2�@��� ����{D���

����J� �}7���/$&�.�

�'�(: ���� 5:,�"���25K�U����)��B/�,���M�)�'�B��A�8�7�������MK�U��: ���G�DE���������*�MK�U�I��6�'�B�����;�$����)�)�"�-����"��5U�����WUnit

Price�X���: �)���"�'�("�������O�0s��M���!� �!������J���.�5U���"�M���-����:J���)��B T���5:��)����� �����=H����="�'�(: �����)�G�DE���-���

��("��K��tYJ���M������@)�"��=H����="�����6��(5�B��5:����(B��2��5���.�

���: 0s��

��: ��(������K���*����)�[�"�b��)�!)�K �I���:J��-�������� �6���("�1s��'�("�������O���.�'����&����!)����-�� �(�tYJ���)���K��B T���5:��)����

�'�("�.�

���: 1s��

��5:������5���"�'�5����&����'�("����O�� ������5��I���:(�����$PartNo�'�("�4�Y5����=H����="�����5K�U����(D����)��.��K���"�M�(���)�"�-����� ��

�'� ���5 ���?)�9��I��)��)������)����:���%TU�!)�K �I��'����&�.�����5��I�����8����(<�� ��"����B��="��HEA�)���W�#" ����B��="�X�)���)��(5�B

�����'�B��A�N�O�&��%�����.�

�'�� "���) ��)��� ��; ��-������� ��)� O��)����6�MK�U�-���)��.��(5�B� �}7�����/$&��2��5���KB����)������*���B�!����������!� �)� :&�!� V�r�B�.������

� ��'�5A�� 7��2�@��� 5K"�����'������)���5��I��)��!��� )� :&���B�!������l�.�

��� ��;���; ���M����� ��;���; ����-5�)�������� ���=� ��-�����W1NF�.�X���)�!��� )� :&���B�!������ ���/����� ��;���; ��W���/�������2B� V��X��B�����8B�"�.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 217: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

!�D�U������ ��;���; ���)������

� �� ���5 ����)��� �����; ����l� ���D��U�������*�W�M����=� �����=� ��y�� 7�I��������� ��������I����� ������:(�������<U������&��K�

���� �;���y=� ������ ��!� "�)�<D�X

� �� ���5�������"���="�I����������5�� B�.

�M ����:J��I������3���S�)����:J�����MS����*��� �����; ����������!)��-���)��Orders�'� ���5 ����B�����W��: 1s������="����2��5���KB���@�

�Q��( ����="�����5K�U�� ��m��5����"���)�����*�����2��5����@�Q��(5�B��5�������"�

� M��� �=� �� �A� #�& &� �� 4��*� .� �� fS�� �"� ��)��� ��*�� ��5�� ��� ��5�OrderNo� �(5�B� �5������ ��5��LineItem �A�� .�{>� �)��� ��2��5�

OrderDate���CustomerNo��(5�B�.��(5�B����:��'� ���5 ���� )�9��;EU�����%&��,��:(�������)���?)�9���"��� ��2�@����� B�.�������2�@���)�"���

��'�("��� %���)� ������*�I���"�M�.������ ��$(���)����*�I��;�29����)��-�Header���*�I����Detail'�(:����� A �.��

�� �'��S&� ����M���*�������$�5��)������*�������"�M��������M���*���I��G�U����B�V�.Header��&�DE���������"�M���f<& ����*����������(����

��� �! �A]�)�<:��fS��M���m��5����"�M���.DE����"������)�����*�)����*���G�Detail�( ����*������K��-��(,�)��M���-:K���.Header���*�;���#=R��

���*����)����)��=H�Detail[�K%������*�;������"�M����������)��Header��@��"��("�tYJ���&��� �������O���@���� �����K="����� ����F� �

���*Detail�M����

�W��3�����(D��OrderDetails�X��)���)�")� B��� Header[�K%��6���)���)�")��(,����I�� Detail�M �����B��A��.�M������B��T�)�����:��-���W����I�

��(,�X�'���� 7�����@����%�MK�U�)���"�.�

�'�("���) ���K���*��� "�'��S&����)��)����-�����������("��.���*Detail,�'�("������) ���5���)���)���� 5J����2��5�����%&����.��@�6� o���TS��-�����

���*��)OrderDetails�'��������.�

��

Wt�Total Price

Unit Price

�Qty�Description�

PartNo

LineItem (PK)

OrderNo (PK)

i��c�0c�c�Flange�0Aac`i�0�0���.c�0���1��a�Injector�OR1a���1�0���.c�00i�1h�a�Injector�OR1a�`�`�0���

`��c���c��0�Head�aIca`i�a�0���

c�i1�c��i1�c��0�Pump�`Xhci��0�0�0�

`��a�01���Fan��Gh1���0�0�1�

`�0c�0c�0�Fan��Gca`��1�0�1�

c�`1�`1�0�Control�`Hi1c��`�0�1�

`�a���01�a��Fan��Gh1���0�0�`�

0�0ic�0ic�0�Housing�1Pcc1`�1�0�`�

c�a1�a1�0�Pump�`Xhci��`�0�`�

�<� S&���*��"�'�("������) ��)���*�de���8S���"�M�������*�Header�;������("�����9����)�Orders��)������

�CustomerNo�OrderDate�OrderNo

(PK)�cacac�0�0�0hhh�0���

01����0�0�0hhh�0�0�

iiic0�0�0�0hhh�0�1�

cacac�0�1�0hhh�0�`�

�'�5�B��)����)��� ��;���; ��6���("�.��(5�B����"���="����5�����2��5��yKB��.��K��!�����$�B�������)�����*���:J������:����(B��"������� V��'5�B�-pKT�

���� �.��%��'�("������) ��)��2�@��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 218: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��� ��; ��-������<� S&��$(����M���!�)�����7��.6��)�����*��-�������%�������� ��b=5Y��C�T���:�(:&�n�>������K���H�A��*�&�I����"@��T������m)�A��2�@����;��"�r�B�������

��� �.�'�("�;�K&��)��=H��)�"��"���B��!��*����5������6�� "�'�B��A���) � �5Y���=�A�)�T��%���25K�U�)���)��2�@�.�

�'�)����&E:J����(B��"�'59V��� ��;���; ��MK�U�)���=K*�-� A@�)�s��;���; ������(B��'���� ���� W`NF�.�X��2��5���KB��"�M�������(����� ��;���; �

��( �<���5������="���� �R��/�,���.�M���!�D�U������)����� ��; ����

� �� ���5������="� �R���5����������*

� �� ���5 ������*��� "�m�5(5����)��2�@����5��"����B�!���

�;���; ��)���"�'����������("��'�("���) ��)� ����!�D�U����������-�� �(�6�'�)���)� U��� ��.�

��5<��� 6��=�Q��( ���5������="���� �R��/�,����"�'�)������2��5����@� 6� ��5�� .1����(5�B��5������*��=H����="����"�!��������KB����"���)�����*����5��

PartNo��(5�B��5�����.Weight���DescriptionE��"�����5�����5����PartNo��(5�B���'�("�'��S&���*�������)���*��@��"�'�)��������!)�����.�

��5:������B��Y�M���-:K�UnitPrice�M���M�)��'B��<���)������"���("��)�����(��5���-���)��'B��)��.���*Products�� "�'�B��A���$����)��@��"�

���5��I�����UnitPrice�� ���5 �����M���G��95���@�M�B��������.��)��@�;���M��� 52�MS�S�)�ListPrice�����"�M����5K�U��@��:(����������'�)�}��

�'�� "�-��%&���>���� �.�����5���@UnitPrice���*�)��OrderDetails��)���G��9&�����.� o�)�� �)��9�9Y&�?� ��;��(B�)��M���-:K���:(�����

����B����� ��k&��)�MK�U��"�'� �.��)�")�)����*���MK�U��"�M��(%��-���-��OrderDetails���*�)��!� ��5� V� o�)��MK�U���M���-:K��Products�

�� ��G��95��.�k&�{D��!�(�@�G� ��k&�����6��("� ��k&�;)�&��(�����=���D� ��Y���������M���-:K��!� ��5� V� o�)��MK�U��:(���;��E<U��"�?)�9��MK�U� ���

� ��B��Y��!� �M<��.�("� ��k&�����5����"�M�����)��������:��MK�U��"�)�T.��

�^ ��I����PartNo���*�)���=H����="��� ����^ ��I�������OrderDetails�M����5�����W� ����G)�<D��

OrderID���LineItem.�X��

� ���*� ��*� I�� '�)��� ����� ��5�� W� ;��� �Products� X�'�("� ��$��� G�DE��� ��� �5K�U� -5 ��� ���� �� � .�)�� ��*��� G�DE��� ���*� ��*� -��

OrderDetails���$��"��)�OrderID����ListItem��� 5J��PartNo��("�����)��2����)��(5�B��5�����.�

�Wt�Description�PartNo

(PK)�i�Flange�0Aac`i�

.c�Injector�OR1a���

.c�Injector�OR1a�`�

`�Head�aIca`i�

�Wt�Description�PartNo

(PK) c�Pump�`Xhci��

`�Fan��Gh1���

`�Fan��Gca`��

c�Control�`Hi1c��

`�Fan��Gh1���

0�Housing�1Pcc1`�

c�Pump�`Xhci��

���*�����)��*)�A���="���� �R����)�����KB�'����&���OrderDetails�'�("�m)�A����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 219: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�Total Price�

Unit Price�

Qty�PartNo�LineItem (PK)�

OrderNo (PK)�

�c�0c�c�0Aac`i�0�0���

0���1��a�OR1a���1�0���

00i�1h�a�OR1a�`�`�0���

�c���c��0�aIca`i�a�0���

i1�c��i1�c��0�`Xhci��0�0�0�

�a�01����Gh1���0�0�1�

0c�0c�0��Gca`��1�0�1�

`1�`1�0�`Hi1c��`�0�1�

a���01�a���Gh1���0�0�`�

0ic�0ic�0�1Pcc1`�1�0�`�

a1�a1�0�`Xhci��`�0�`�

�����:J��W��2��5��P��S5����5����X�'�� :���*�5(5�����B�!�������T�)�)���)�"�����'�� "�����)�.�;�������5��I�TotalPrice�!������� ��"�'�)���

�4 O��=��������&�����"�M������BQTY�)��UnitPrice��@�M����.�

�5:���������B��A��"�M�����)��������:���*�5(5�����B�!������B�!�������#=R��-������� �� �R��'("����!��95����.�MD �������Q� ,�u�I�Query��"�

�l WHERE TotalPrice > c0������ 5%� ���)���Queryl ������WHERE Qty * UnitPrice > c� — particularly if we are able to

index our computed TotalPrice.

��� ����� *��.�

�5:����������'("����!��95����&�<��>����5��I������:(����=K*����'B�����;�$����)�� ������B)�"�G�U����B�V�6� ����^ �SQL Server�'B�����!��*��

��("��)��2������<��>���)� ������5�����F�K$���"W��3��M���-:K�PreviousSalary���*����Employees��&�DE���I���)��Accounting�

����)��c��� ���5 ��� ��Y��)��.��� ���5 ���'2����5��I��� :=KD������)�"�n�>������Z��(,�WE3��� ���S��w���� ��"���B��A�����)����2��5�� ���S��

��� ���� 5=�����5��-���.�X��("����O�����*��&�<��>����5����tA� �I����B��Y�M���-:K�.�tA� ��"�M���-���)��F�O���-���M�KB�����B�!�����

�JY����jS>&�!� ��<��>�.��5���"� �(%��-���QM������(%���,���-��SQL Server�("��<��>�� �)��&�<��>����5��)�� B��"�M����)�<$��s�)��

E<U��"����5�����d7��@�������� �����<��>��)�<:���� ����! �A]�tA� �)�� T���"��5U��6�x�D��("����!��95���M���!� ��<��>�.�����@�MS�S��)��

�����)��� �@������� ��P� ��)��������&h'�("������) ��.�

���5���"�M����"�6��� ��;���; ��������)��� �6�-�� �(TotalPrice��^}���)��'�("��<��>��� �@����m��5����"��5U��.�

� ������ ����2� ���

��(D���� �����������2� ��I����"@�n�>������U������� ��"���� �����5� V� o��)��������� ���������5K�U����

� Boyce-Codd�W��M����� ��;���; �����������V�MS�S��)����X�fS���"��( ���5 ������ �eKB������"���="�-��(,��"��)����*�&��%U�������)���-��

�B���)�����&���� ���PU����)��

a��#" ����B��="������"���B��="��KB���( ���W�(B����:J&��)���="���5��I�����8��6��"��(%��-�����X�

b��'� ���5 ��������"���="�I�����8��.�

c�s� ���5 �����*�� ���������"���="�)���"�� ���5 �����5��I���U���������"���="� B��.�

�<� S&��"��(5�B���)�����2(������"@����)�p&���23>����m)�A����ST(��)�T�(�@��K����*��I��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 220: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

� ��� �� ;)�2,�; �� ��("� )�"� !)��S���(,���5������l� �������� �� �("�����%��; ��-��� .������5��r�B� 6� T��I���� � �"�M����5�%U���-��

� ���5�������"��=H����="������ �<���5�����=H����="���� �R��� ������2��5��.�M�����A�M�%O��I��-����,� V��=H����="�)����5��I���"

�� ���5�����=H����="� ������2��5�������V��*�)�T�����5�.[�K%����M��)����)�����25�%O��-������)�@��K����*���)��H�A��:J��.��2�@�MS�S��)�

'�("��K���*�&��2�@����$(���)���������� �����5� V�!�������&�DE�����2:���������)��.

� $(7�; ���� ��'����)���)�"�� ���JB�"� �R����JB�"���B���/$&���.��������ST(��)�T��"���("���/$&��)��T�)�I�������&�����"���)�����*����)����

����� V����������; ����� �@������&��K��.���)���)��2�@�����)�����*���)�p&�G)���fS�����(5�B�)�����)�����@��"�M9V�����!)����'�("��K����) ��$(�.

��KD�-����'�5 ����2�@���P� ���=�A�!����I��fS������5<����;����;�$����)�)�"�-����.���"� V���&��� ���5 ����2�@��)���)���&�DE����K ��"�M�(����@��=H������

�� �<��G�DE�������� "�M<>H��2�@��)���)��.�

f��)0�

�5U���"�;��( ��2K��A����#=R��'������T�)����(("����� &��)�L�&���2�@���@�����u'B���M�������)�'��V�(���A�����K���^ ��-�����;)��������,� V.�

�'5 ����A� ���U�fS��-����("���� :���K ��"�����)����������.�d"� B����������)�^ �����8S���K ��"�M���-���f��)�M�S������="��(��V��������Y5�

� �������������)��)���)� U��@�)���"�����T�)��D��U�����A��.'("���) ��)��&�DE���I���f��)��)���)��'B��A����MS�S��)���� ���f��)�!)��)��M<>H���-��.�

��� ����'��S&��="��5���������B��T�)���

� �I����I�1

� ��(,���I�`

� ��(,����(,a

��I���:(������)����-������;��"� B��T�)����^NULL�M ����(B��A���5��6��������(5�B� �}7��.�-:K��I����I���T�)�I����*���6��3�����(D��

��� ���5 ���I����I����� 9H��T�)�I��M���.�

�I����I���S�U���)���-������)���� o�����"�M���)�T��KB�.��*�I��)���)�")�I���"�M���G)�H�-���I����I���T�)�I��S�U������*�)��j<T(���)�")�I�

��)��� ����.�

�'� ���5 ����<U���2��3����25K�U��+%����B����������6�I����I���T�)��� �- �)��� .���)����(�)�"�I����("�)��&���<U��3���(�����.����x �

'�5�B�~)/�M" �I������<% �I��'�("�.��(�)�"���B)�"� ���7��B��A�����=H��M" ���� �� ���5 ����)��(�)�"� B���2 � ���KB�F�K$����.�����)��

�M����5 ���?� ������<% ��,�j� ������(�)�"��:(���.�

��(("�)�"���A���l� ���&�DE�����2:�����b=5Y��#% ��"���)����)�M�/��-���6�(("�� *���=H��M" �)��)� ��I����)��)���A����� �#% ��KB� V��.��:�

)����� "�� ���7��)��(�)�"�G�DE����@������&�����"����2 ��W��%��("���� &�!����� �@��� "�#�" &�X�'�("���$����/" ���&�DE���I���I���"�M���-��

� ���=H��M" ���j=%5���"�." ����(�)�"���l� ����*����"�6��("�����)��2����)���A����(�)�"���l� ����*��<% � B�de��I���T�)��=H��M

��� ���5 ���I����.���("���$����=H��M" ���l� ���Y���)��'B��)�")�I���"���)���������<% ���l� ����*�)��� 5J���)�")�I����$����.�

��Relationships ��One- to -One ��One – to - many ��Many to - many

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 221: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

� �����3��I�����(5���"����3��������<U�SQL Server��Y�����M����5 �����*������"��)�����*���T�� �G�U����B�V����5��Z�@���� 5J���&�DE����

�'�)���6�� "�! �A]� T��I��)��.��� � T�� B�/�����(�J���"���)�������

SQL Server�6���i�� �R���B�!������ �M���BLOB�M����.����V�-�����'�("���$������V��*���*�����"�M���-����:J��-�������� �?�)�I�

"�'��S&���*�-���-���)��B T��'�(�.�'�("�b� %&��2�@�-���)�I����I���T�)�I��'����&����de�.�/����������������*����)��j<T(����B T��#�" &

�("����P9& ���)� T��I���� ������.�

�5:���SQL Server��)����I����I���T�)�I��M�)���KD���� ��=H���5��r�B��.���*��"���("�x �������&���A�)�")�I�������*�)�� |�(5��B�

���*��@��� "����O��;��(B�)������6��)�������B���*�)�� |�(5���)�")�I������A��� ��*����\U�(&�I������� ���5 ���s������)��)�")�������*�;��"�

�)���)��T�)�������V�-�����)���������Z��(,�Q� ���5 ��SQL Server �� �!�)�-� 52�6���("��KD������ �)��� "����O���KD��;�K&��"�M���-���)�"�-���

'�B��;�$���!� �! �A]���)�I��j� ��.�����B �� &�������*)�A���="����6�(B��;�$����)��� "����O���KD���*���� B�)������&����!� �! �A]���)�I�

�(("�M� �����)��T�)������A�F���-����(���&�.�

�I����I����� 9H�SQL Server�("�M� �����)�I����I����� 9H���B��T�)�����&�����.�������T�)�F���-����^ ��I���"�G��9&�-�����M���I����I���T�)�I���(��KB

�� ���5 �������� ���5 ����)�")�I������&�����T�)����.�

�&���("���$����T�)�I����B��N�* &�M���-:K��6�'�� V ��B��<% ���M" ��3�����)�")�I���B��<% �)���)�")� B��� �� ���5 ���m��5����=H��M" �

�� ���5 ��� |�(5�� .�( �� <A� ���=H��M" �G�DE�������"�( ���5 ����m��5��� �B��<% � ���� .��"�� ���5 ������B��<% � 6���5����&���� 6��3�����(D��

�( ���5 ����&��95��)������2� 5J��

� W��25" ��(����-B@� !�)� �����K5A���� .X[�K5��� ���� 6����(J��(B�����;�$��� �)��)�"��,��:(��� ����)��� �)� �2� 5J���KB��B��A�����=H��M" ��M"

�M ����B��Y���(B@�!�)���2� 5J�����2*�&����K5A���.��K5A���� 5J���)�")�I����� 9H��=H��M" �)��� 5J���)�")�I���������6�)�������V�-���)���

�M �����B��A�.�

�)���(���&����I����I����� 9H�f��)SQL Server��� ��KD�� ���L �������

� ���5:����U�����=H����="�I��#�" &0��*)�A���="���U���.���*�I��)���)�")�I�������U�����"��("���K>&�����&�����*)�A���="���U�I��W���

�����3��)���=H��M" �X6�� ���5 �����*���)�����*���:��fS���"��� �-pKT������&��K���@������W�� ���5 �����*���)�" :�����8��M���-:K�

�.�X� ��B��A��)�")�I������ ����>�������(�K���{D�����5:����U�����=H����="�I�����!��95���.

� ��( ���5 �����*��������*���� B�)���B �� &��"��� ���5 ����*�&�6��B �� &.

�5:�� ���:(�������SQL Server �A� �)�I����I���T�)�I������ 6�("�M� ���� �)�I����I����� 9H��T�)�I������&�����6��:J�� ��Y���������I����"

�( ���M���6�.� |�(5���)�")��:(��������'�B��;�$�����*�I��)���)��� "����O���KD������&��K��6�I����I��M�)���T�)�I��)���"��)������*�� ������*�)�

M���\U�(&�-���.�)�-������T�)�I������B��;�$����)��� "����O���KD�������)�����*�)����5�������&����6�I����I����� 9H��W�I����X���"��&)�H�)��de���6

���B��Y�)���)��5A����*�W�I����� 9H�X��B��;�$����)�)�"�-���.�f��)��� ��:J��-������(,���I�����I����I�������(,����I��6� 9H���I����L��H��

����B��A.�

��(,���I�����I����I��M����*)�A���="���l� ���T�)�F����T�)� ���; ��-��� .[�K%����T�)�G)�H���F���-��� 6Header/Detail��� ����M����� .��T�)�-��� )��4�A��3��I�

���*�M�%O�Orders)���"�M�����: �`s��M���!� �!������J���.OrderDetails�W���T�)��(,����I��^ ��X��:(������Orders�� �<��f<& ���@���

�����B��Y���(%���������W"�������������� ���5 ���?)�9��I���K ��"�����B��A�4�A�-�����@����j=%5���

��Unique Constraint

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 222: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

�Q�M��"�X������'� ���5 ���?)�9��I�� V��6�G)�H�-�KB���S�U���:(������B��Y���)����U������M���!� �!����?)�9���/�,��,�'������W�6��3�����(D��

��M" Gee,look,ACME�M���!�����?)�9���/�,��� ����X��

���: `s��

���������I����"��"�������KB�'B�������)����)�'�5 ���I����I��f��)����"�����(��:J����KB�'B��)���-����"�M�(����@����"������!���7�!�)��2(&�Q��(

�'�B��;�$���!� �! �A]���2���)�j� ������)����O����^}���KD��;�K&�.�

��(,���I��6�I����I��6� 9H���I��M����*)�A���="��T�)���� &�z��)���� ��T�)�F���-��.�!� �!����F�*)���=����"�M�(����@������!���7�)���=H��G��9&��2(&�W���*)�A���="���U��"�����*�)����=��

��)���X��"��)���!��*�NULL�� ���.�)���)�")�I���5U���"��(%��-������I����K5���"�M����;�[��� ���5 �����*���F�*)����*�)��� |�(5����B�)�")�

�'� ���5 ���!� �!����.�

��&�DE���I���)������&����f��)�-���������K��I�Northwind�-��Suppliers���Orders��� �M�����.���*Orders�������;��"��:(���� ���7��� �

��� ����!��95����("�����S�����K���)�?)�9���)���� � &��� � &�������I�� V��Q��)�� ��$��KB��)�!� �!����?)�9���)���� 5J�� V���5�������U�9&���,�����

�M��������"�'�B��A����6�M �����*���: �)���"��� ��K��!��95���� � &�����������"��)�����*��'B���)��������6�'�("�!��95���'�)����"�� � &�G�����as��

�M���!� �!������J��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 223: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: as��

� �&�DE��� I��� )�� ���&� ��� �)� �T�)� -��� )�� ���� �3�� I�AdventureWorks� -��Purchasing.PurchaseOrderHeader���

Purchasing.ShipMethod� ������B�*������M" ��������(("�����K�����M" ����)��B[�"�� � &�G�������"�I,�"�G��9&�-����������.�

��5:���[�K%���T�)�����(�����(�����T�)�I��0�����������)��.�����@����5������*��"�M��� ���S��������>��M����I���(����I�S��M�����@������)� o��)��� ���

��(("�4�Y5������� ��K���5� V� o�)����$��)��S��I��M�������m)�A��)����yKB��.[�K%���(("������$����)��(����M�����"��)������B T���"�����*���(����;�����

��%*� ����*���1��� ����!�������.�<� S&���U����� "���B��A���$����K ��"��&�DE�����2:����KB�[�K5�����I�������(B��A��(������*�-��(,���)����.���*

Shippers�M����(������*�I������l� ��M������ "����>���:=�M����� � &�G������-9=&�!)�K ���;�����l� ��G�DE����)��2���fS���@�^�B�

���*�)��� � &�G�����Orders�M����.�

�)�SQL Server(���'����&�������6���)��T�)�������?�)����'�("��KD�����

� ��*)�A���="���U�.�^ �����(D����"�����*���)��)��*)�A���="���U�I���V��������(,�������*�������5��������("����b� %&��)���8S���T�)�)��

�^ ���"��I������B�����F�*)��M����T�)��W���U�I�������5�B�)�<$���5U�Unique=H����="������*)�A���="��=������!� �!����F�*)����5����)��

�� "���B��A�-�K+&�!� �!����F�*)����*�)���)��)�")�I��fS����("�!��95���X

� ��B �� &�������5����B��Y����� SQL Server�����D�*)����,)�e:���� ��(�/V��2(&�-���6��.�M �����B��A�m��5��� �� &������� B��� ��:��

�)�^ ���T�.�^ ��8S���"�����*��� �� &�I����(,���)��S��I��!� �!���� ��k&�������O�� T�� B��"��("���) ��&���("����O���("�����9����)��T�)�

��5������*�)��� |�(5��W�^ ��I����T�)��X� �A�����)���.���("����O�� ������*�������)�� � �� &�I����^}�� �� &�I��6�de��-���� �� &�

���� ����^}���"����B�)�")�W���� ����!���� ��k&����X��("�� �V�=*�!� �!������*�)��F�*)��������B�)�")���$�������&��("������) �.

�'�����N�O�&��)��B��(�/V�-������;��"� B�� :=KD���B����7����U���l� ������)��. 5%� ���"�)������*)�A���="���U����!��95���M�����H��Y�����"�������

��B������)��TY&�I��.��� �� *�� �� &�� ������[������B��Y��K ��"��(5�B� 52��%U����)���B �� &�W����U���� &� �����B/�,�X�

��(,����(,���( �� |�(5���)�")�-��(,���)���M���-:K���T�)�MK����� B�6��T�)����F���-���)��.����(�������3��I��M���G� )�9����G[��>��-���T�)�6�f��)��.�I�

�� ����>��-��(,���� �M���-:K��tYJ��?)�9��.��� �!����?)�9��)��-��(,�M���-:K����YJ����>�� B�6�G)�H�-�KB���.�M���-:K����(B

�'�("�f<& ��'B�������(����)����*��"�'�B��Y�.�9��I���:(�����) ��� �6��3�����(D���M����&[��>���,���� �?)�.�

��Domain Relationship � Lookup Table�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 224: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

SQL Server�� "�'�B��A�!��95����T�)��B���������� ���������*�I��������-�� �(��)�����(,����(,��T�)���$����� ��B�)��:�/���)������.�����+%

����� 7������ ��MK�U�I���U�9&��)������(("������$����)�����(,����(,��T�)��"������*��(5�B�������� ����$����T�)�F���-�����$����� ��2(&��"�/�����S�

���� ����.���� ����!���������R�����*�G�U����B�V����f������*�6������7���*��=K*����� ������2���������������*�����(���.�

��$��� ����� �� �� ���K%�� ���)� ��� �"� �(,� �� �(,� �T�)� �� ������ ��5�� '� �� �5 ��� �B���� �� � ���� .���*� )�� ���&� ��� �)� �B� �T�)� -��� )�� �3��I�

OrderDetails��&�DE���I���)��Northwind��: �)���"�)�T��KB��"�M�������&����cs�����*�-���(,����(,��T�)�I��!� �!������J��Orders���

Products�M���!� ���$����.�

���: cs��

������!��95�����)�5AJOIN� ����^ ��������6�� "�f<& ��M��2�@���j=%5���"�� )�9��-��(,����)���>��I��'����&����6�'�5� V������)��@�)�2,�����)���"�

�'�����f<& ��?)�9��)����*���G[��>���KB���?)�9��I��'�5����&����.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 225: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

�'�� �;����3���� ������("��������.�f������*�I���:�)�����'�("������$����(,����(,��T�)�I��-5 ���)�o(������5������)�.��� )�"�I�����T�)�)�����3�

�'�("������) �� ���5 ���'5����)������&���� )�"��"��&�)��5A���.�

�'� ���5 ��� ���G)�H����B��$���������*�M���-:K����

�Description PermissionID Read � Insert � Update �

Delete �

�'�("�������O�� ���G)�H����� )�"���*�I��de����

�Active Password Full Name UserID � Jfz ..nm� John Doe JohnD � klk �)md Sam Spade SamS

���� ���� B�|�GE:J����("��� �Q���)������B��$���,���� )�"��,��"�'�("�b� %&�'����&��������,������5��I���� "����O��'�B��;�$����"��)�"�-�������

�;��Permissions���*���Users�� �����

�Active Permissions Password����Full Name�UserID�� �����Jfz ..nm� John Doe JohnD � � klk �)md Sam Spade SamS

����I���$(���)��������)���� o����4�A��o>���(,��� ��)���-�����)����-B]�����Q�� "������,��( ���5 �����$��I�����8���� )�"��Z��(,��

� &��<U�6NT�����2=���������)�6���(����6����������)� U���5��I��)���)��B��$���KB����-:K����

�Active Permissions Password����Full Name�UserID�� ����� Jfz ..nm� John Doe JohnD � �������� klk �)md Sam Spade SamS

��( �� �}7�����/$&�������5��I��)����*��� ���S�����V�����"��("�����TY&��� �����; ������)���I��.�������)�)���������� �������B��A��("�)����!�ED��

���("���/$&��)��=���A��� ���S�����;��"� B�.�

����*�-��MS�S�)�Users���Permissions�M����(,����(,��T�)�I�����("���$����&�DE���I���)���)��T�)��@��"�'�)���������B�)���.�)�"�-�����

��: �)���"�)�T��KBis��'�("����!��95���f������*�I�����!)�����.�l�<&)��fS���:=��("��K�����O���&�DE���I���������*�!����r�B��"�M�������*�-��

��-���("����)� U ��)� ������*����)���B T�.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 226: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

���: is��

����*���*��� "����O���W��)��@UserPermissions�'���������X�'�B��M<����� )�"����)��B��$��'����&������("��.�

�M������:���D�*)����,)�e:�������!���7��2��3�����I�� B��� ��"���("��*�&����7����*����;��"� B��W���(,��T�)�����)�����������)��=H����B�!�����"������*

���)����(,���X���)����(,���I���T�)�f������*���.��� �;�$����*)�A���="���U���� �� &�I��j� ���������&�����)���-���-�(ZKB�.�

�;� V������$����M���*����T�)���2�� V���Entity Relationship Diagrams�W�ERD���B�X�M����&�DE���I���4�A���� ��I��)���B)�/��-� 5K2������:��.���2:��

�K�S5�������$���Me� :����(,�j� ������V�������(���&�����&�DE����� "������!���7��)��2�@����&�����/�,�'�� &������.��&�DE���I����@��� � 5V)/��

�%� ��)�H������&��K������ ���������:J������;�$����)��B)�"��KB�'�S5���G�.ERD�f��)����25���*���MD ���"��(B�����!��*���K ����:(�����������B�

��(("��������)�������)����GE:J����K29��)��2�@�����J:� ���&����)��2�@�.�

�6����5Y< �ASQL Server� ��@���������&�����K ��"��)�������5��)����)�/��I���'�� &�F� ��ERD���("�!��95�������5����B��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 227: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

�5:����;� "� :��)����'B��N�O�&�� �@�����,��:(����)���)��6�'����(��)�MK�U�-����:(�������<U�.����"�;� V����'�� &�6�^ ��I����ER[�K%�����"��)�/���; ���

�;� V����'�� &�)�/��I�����(D�����A�)�TER�$���!� ���� ����� ����;�W��K�KO�)����C�'�("����{>��2�@��������%&�!)�)���.�X�<� S&�)�/��-��������J�KB

��(("�������<�5J7�;� V����'�� &��)����5���?�)��(,��U����.�;�D�;� V������� ����B)�/���5����(����Visio���������5��-��(,����ERD��(("����!��95����.

SQL Server�)�/��I��ERD��)�����*���&E:J���@�)�������)����=A����.���j=%5����B)�/�SQL Server 1��c��"����2�����5���)�/���D�K$�� o�����

�(5�B�G��95��!� "�!��95����2�@���� �A������(,���B)�/���������%&�)��M���� :����.���B�)����5����KB�����2�@��"�M��$(����:J�ERD�����B�*�)��-���"�� �

�(("��K�����<�5J7�;����.'B��N�O�&��)��=A���)�/���"�'5� V�'�K�&�! A[��.���B)�/���"�'B�������2(J�7��,� VERD��2�@��"���)�����&���("���>5����)���*���

���(�<��)��(B��������)���&�DE���I����� "�!������ �.�

��=A���)�/�������&���SQL Server�!��95������)��! V���Diagrams���(�<���("���$���;� V����I���@��� ���B��A�����"��&�DE���I���)���W�.�)� ��! V���5�

���("�����)��&�DE���I���de����.�X�����(B��A��( @������ �����'�B��A��"���)��������+%������)���"��(5�B����B�! $(7��(�����B�! $(7�����+%�c�;��(B�

��$��'��������*�.�

�;� V������� ��)�/�SQL Server��(B���K��)� U��K �)��5A��)���)���������B��(�/V��.�5<����)��2�@��"�������B��A�-�� �(��� �V��������P� ��.��� V��MS�S��)�

��T�)� �J�� ��0�)�Access���B�)�/��6��� ���( @�SQL Server���)��(B��A� o�����( @�)����.�

���("���>5����;� V����'�� &��

'�("�F� �;� V����-���������������! V���)�I�="�M��)����)���A����*�;� V���������&���Diagrams��&�DE���I����A� � ���)��Northwind�4�Y5�����

��(�/VNew Database Diagram�������.�

�5:��������)���"�)�T��KBc�M���-:K��6�'������W���("���$���;� V����I����B��A�����"��)��-�����)�X�����+%��"��B��)��JB��K ������� � B�|�! $(7�I�

��("���$����)��2�@���B��A������@��"��� 7�����������)������*���&�DE���I���)����)��������;� V����'�� &����<�5J7��� ��"����� �s�yes���("�4�Y5����)��

SQL Server�! $(7���Add Table�W���: �s��X�E<U��)��@��"��("����F� ������)��c�'�������M������*�M����)���2�@�G��9&��2(&��.�

���: �s��

��: �)���"�)�T��KB�s���)����*��KB�!� �!������J���W���="�������*�I�����8��4�Y5����� ��"��� ���5 ��� ��YCtrl�)�������-���7��)����X���*�/$

sysdiagrams���("�4�Y5����W��)�����*��;� V����'�� &����<�5J7��� �fS���"�M����K5������*�I���@��"��� ���5 ���������M���-:K��X�

��Relationship Editor

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 228: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: �s��

���="���)���("�Add���("�I�="��.�!�&�"��9U��I������%SQL Server("����'�� &��)���� "�4�Y5����"������*��KB���.���)���("�Close���("�I�="��.

SQL Server�8��K���>9H�C�O����/������5������6��("�������O��;� V�������)����*�0[�K5������A������K(V)/�-���)���)��2�@��KB��"�����B��A�MY��

���(�<�;� V����.���B�� ��k&�)�/��)����)���)����K(V)/�6� 5J�����*�������� �./�'B�����(�<��)�� 5J�����*����%&������5�'B��"���B�� ��k&��)����)����K(V)

������Y��)��2�@���B��5 ��������5�.��: �)���:�)�T��KB�6��)���-���)�hs����)��)����K(V)/�!� �!������J��������/KB��)����*�yKB�'���5��&�;� "�'�o(&��H)��

�'(�<�.�

��Resolution

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 229: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

���: hs��

�"�����,��("����)��)��������)���)�;� V����I���"������)������ 5J���)�����"���(�����c��)�����*���$(���)��'������.SQL Server�'�("����O���)��2�@�'�5���A�����"���*� B�

5���@������(5�B���*��A����"��� ������� ��-�(ZKB��("���� "]��)��@����5������� ����!� "���) ��)������J���)��*)�A����=H����B��="��(�����)��(=�

��B��.�

��@�)����*��(,���'�("�!��95����("����)�"�����,�;� V����'�� &�)�/���:(���N�O�&��� �F� ��TS��I�����(D���;� V����-������������'�� "�F� ��"���("�

�'�����.�

����*���)��� �)�?��A������Y��! $(7���*� B���B��M" �� �)��@������&�����:�)�T� .���5��;����,�MK��)����="�I,�"�M�ED����=H����="�W���5���(���

CustomerID��: �)��0�s��X��M���!� �tYJ��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 230: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 0�s��

�������(���c�M�����*�8��K���� ��O ��8�7���K��-���6��.�����!��*���"���("�4�Y5����)�� ������B�K�������&������("�8�� ����)���*�)�5A����"��(B�.

���("�I�="�M��)���� "����O���"�����*���)�6���*�I��8��K����l� ����B��(�/V�������� �.�M����2��5��;���fS��x ��8�7�Wcolumn names�X��6

�����)���"�)�T��KB����c��(�/V�����'�����Custom���("�4�Y5��� �)�� .��(�/V�����(�/V�-����standard����A��������*�8�� ����� ��"��(5�B���)����

���� �4�Y5�������;� V����.�

���*����O����^}�����("����O��j� ��������;� V�������)���*�I�������&����-�(ZKB���

�M�����*����&�DE���I���)���"���)�������*� V��W�M������*���;� V����)������XB��A������("����6���="���)�M����"���("����O��;� V�������)��@�����add

table�����("�I�="�;� V����'�)�! $(7����)�/��)����)���.��("�������7�8��K���(5�B��&�DE���I���)���"������*�;�K&�����5�������B��A�����"�����*�fS��

T��)��KB���!� KB���*��@�de������("�4�Y5����)���("����O���("�������7�8��K��;� V����)�����*� ������8�.�

E��"���*�I����B��Y� V�����="���)�6���("����O�����*���new table�������("�I�="�M��)�;� V������)����!� "�I�="�;� V����'�� &�! $(7����)�/��)����)��

��(�/V�de���New Table…�����("�4�Y5����)��.�� 7����*���*�;����� ����!��.���K��)����*��Column Properties����� �������O��;� V����)��

�.����B�!����F�����6�2��5��;��������&�����V������...�M �����B��A��&�DE���I���)�����*���*�I��de������("�8�� ����)�

��5:����;� � "}5����� 7�-���)���)��5:������"���B��!��*����

(�����5����("����O����5���*����=H����="�I����(:��?��� ���:�.SQL Server��("��K���)�@�����K ����5�����B���K��;�$����)�)�"�-���I�&���&��)������W

����Access��B�����;�$����)�)�"�-����.�X�!� "�4�Y5����)�� ����="���B��A�����"��)����5�������=H����="�I���� "����O���� ���!� "�I�="�M��)��@���)�6

�de���Set Primary Key�����("�4�Y5����)��.�

��5:������ ��K�����O���&�DE���I���)����(:��! �A]��)����*���*��"��������&��"��� ��#U� ���:(���;������B�����;�$����"����2J�� ���;�K&��� ��)���-���

�M���L��H�/���.�

���("���>5����"����O��;� V�����A��������*��� ���("����)�"�����,�'�(�<��&�'�("����O���&�DE���I������)���*�I��������.�

���="���)�I�="��New Table���("�F� �;� V����'�� &�! $(7����)�/��)����)���.�;���� ��5���A���*�;����"��5U�CustomerNotes���("����&��)��W��:

00s��(�<��)����.�X���("�!�B�J���)��("����!��95����)����5�����K������"����*�! $(7�I������de��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 231: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 00s��

�'�� "����O���=H����="�I��!� KB�����5��-��(,��"���("��*�&�W�M��)��@���)�de����4�Y5����)�� ���=H����="���B��A�����"����5���� ���5 ��������

��(�/V���!� "�I�="Set Primary Key���("�4�Y5����)��.�X�'�("���) ��)���)����������6���("�! �A]��)��@��:(�������<U��Management Studio�����)�

�I������("Query���("�� *�����*���*��� � ���G)�H����)����SELECT * FROM CustomerNotes

���� �����*�����TA�I�����@��� *������Msg 1��, Level 0i, State 0, Line 0

Invalid object name ‘CustomerNotes’.

�M�����*���;� V����)��!� �8�� ���'5�@�I�����(D���fS����*��"�M��������-������TA�-�����K�����O��'� ��!� :��! �A]��)�G� ��k&��"��5U���&�MS�S�)��

��� �.�

��5:������*�����("���Z��(,CustomerNotes�M�ED�I������6��� ���5 ����B����;� V����! $(7�)�������(�<��@�;���M��)�MK��)��.�-���M�ED�-��

���)�����*�)���)����!�J��! �A]�G� ��k&��"�M��(%��.�

�����("�Management Studio���� V����.��)�����*�������! �A]��� ��(�/V������

� Save����)�G� ��k&��(�/V�-����("����! �A]�;� V����)��'B����&�DE���I���)��'B��W�M���I����I,�"���:�@�I��)�/��)������)��@�y��J��.

� Save Change Script�����%��&��("����! �A]�Me� :���I��)���)�G� ��k&��(�/V�-������("�� *���)��@������5��W���(��)�������&�����)��(�/V�-��

Table Designer���7����="����!��95���G)�H�)�������("�SaveE<U��"����(�/V�� ��59V���Save To Text�����("�4�Y5����)��.�X

��(�/VSave��� ���� B�|�����&�! $(7�I��de������("�4�Y5����)��W���*���5JV �)�"�-���;�$�������%�����5�B��&�DE���I��� ��k&��7�)���"���K+��-����

�M ����B��Y�X����

���KB�de������("�����&��)�G� ��k&Query���*���)��)�CustomerNotes���("�� *���.�M���!� ���$�����*�� �����("�M���)�����TA����<����("��W�r�B

������� ��K��!����MJV �� T�Query��� ����� *���.�X�

��("����)�"�����,�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 232: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

�6���("������$����)�;� V���I���"��5U�SQL Server�����)���"�M����5e� :�����< �������)������"��("������$���Me� :���I���(>H�MJ7�)��i�;��(B�

�'�� "���$���G� ��k&��� �Me� :�����$���.E��"�'� ��!� :��! �A]��)�;� V�����"��5U���&�Me� :���-����, V���� ��K��� *������$����.�

���*���("��6�4�A)���CustomerNotes�'�)����:J��I���$(���)������6�'�)����&�DE���I���)�������fS��'�� "�b� %&��)��=H����="��"�� �)� ��Y�

�'� ���5 ���� 5J�� B��� �?)�9��I��'����&�.�'�)����������� 5J�� B��� ��)�?)�9��-��(,�PU���� 5J��)��.� ��k&��)��=H����="������"�M��(%��-���-��

���'�B���)���)� U������)�8�7��(�/V������K��B��������5����

� ��=H����="�����JY����(D�����)�&������)� U����� ��:J����$���{D��M���-:K�� o���TS���������(�/V�-���.����I����"�'�("����� ���7��:(�����

��("����M���)���)�?)�9�����(�)�"��(�)�"���� V����5����B��A��U�9&���,���:J��-���'����&����Q��(("����O���)��2 )�9�������I��)���(B��Y�b=5Y��

��� "����O��y=������!�S���)������)EmployeeID�'�("�^ � ��=H����="����.��B��Y��M���-:K���(�)�"�I���5���"��� ��� o�)���:(���;��

��("��)�����)�I��)���)����V��*���2 )�9��;�K&�W�6�4�A)�����=���I����,�6�M���M�)�datetime��=���I��)���)� T������(���&��K���2�@�6�'�)���

��(("��)������������ ��!��SD�'B��$(���)��-�����K ������.��X��5���$(���)�EmployeeID�� "��B��Y���:K"�������.

� ���("����O����="�)�5A�����IK"��� ��)� ������5��I��.�"�-���'����&����� 5J����2 )�9�����;��"� B��� �� )�K ���5��I���� "����O�����)�)

�'�B��;�$��� .B�)����(D����'�("�!��95��������( ���5��I��������5:�������(�K����� �fS��'����&����6� �������=H����="��"�M��(%��-���-���

�%U����A�!�)�I���J�KB�!�)�-�������M�����5����/�,�r�B����M����4�W�'�("����O�����O��tA� �I�������"�n�>��-������X�5<����B�����!��*���"��

�'� ���5 ���� 5J�� B��� �?)�9���5��2(�����%&�.

�;�������5��I���@�j<���"�'("�!��95���� �)����'B��A�����Sequence������O����*����)����'�(:�.��5(��n�>�����W������I��-����5<����������� �����M���

��(("��K���KD�����(���'B�.�X[�K%���=H����="��M��K ���*���5��-������.[�K5���'�B��;�$���Me� :���y=�����������A��)�)�"�-����"�'�B��Y� V������fS��

�)�5���I�ALTER TABLE�'�("����!��95�����5��I���� "����O���� ��5��������*���5��)�"�-�������� �������O���2��5��M������2�.�'�B��Y� V�

�^}���)��K��U���*�6�'�("�^}���)���*���l� ��f��)��KB�6�'�("��e"� ������*�I��)���)��=%����*���B�!�����KB�����'�("�� �V�=*�)�"�-�������"

��$���'�B��A�����"��<�& &����5<����)��2��5����KB��"����*���*�I��6�'�("�'�B��)� U���*�-���)��!)�����)��B�!������'�("���$���!)�����)�f��)�6�'�("��W�I�

�!�(("��5�A�����[���)�"�.�X�6�;� V����'�� &���B)�/���SQL Server��("�����V���)��B)�"�-����KB����.�

E��"�� T����)�fS���"�M����"� o���)����>��)�����*� T��I���� "����O���� �M��)�'�("����O���$�@�)���)��@�'B��A����-���"�� T������%��=H��

�'("�I�="�.��: �)���"�)�T��KB01s���&���)����-���7���/�,��KB���(�����I���� �������*� T���� "����O���� ��*��.��

���: 01s��

��: ��(�����)��=H����="���'("����O���)����*���5��'���&����-��de�0`s��'�("�-��%&�!)�����W�.�����("�I�="�M��)��2�@���)�6���("�4�Y5����)� T����� B

�de�Set Primary Key���("�4�Y5����)��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 233: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 0`s��

��� ���5 ���!��Y�����2��5��#�& &�����*�I���&���("�! �A]��)�G� ��k&�fS����("��.����6��@���) ��� �fS�sp_help���("�!��95������EXEC sp_help CustomerNotes

�M �����B��A��)� o���)�����2��5��#�& &��"���(������ ....

CustomerID

Sequence

NoteDate

EmployeeID

Note

....

��5:������B)�/���������%&����-�ERD���� "�-�K+&��)�;� V�������&�DE���I���-���2��5��#�& &� ��k&�����KB��2�@���!��95���������&�����=p���-���PU���)��

�� ���5 ����5<3�����9(��l�S��W��� ��#U� ��)������("����)�"��%U�����B�!�������5U�� ����G)�<D���X��&� ��k&��� ��"�M9V����� 5J��N�O�&�I�����(D��

����(�/V�����&�DE���I�������&��I����$�����*����%U�����B�!������)�����(�����("�!��95���������Me� :�.�����<U���5���)�G� ��k&������&����G)�H�-���)�

���("���>5����&�DE���I���I����)���5���=H����B�!������)��KD��.���<�5J7�I��G� ��k&�����(����KD������<U��"��� ��-pKT�0���)����&�DE���I�������.�

�G��YJ��8�� ��1�������� ������*���@����5��'�("�8�� ��� ������B��<(*�����)���*�'����&����6�'�������("�&��"�����(�G��YJ�� �!�ED�.��� ����;�$������V�������2�@��� "����O����8�� ��������,

���

�G��YJ����M��)�MK��)��x ��8�7�)������"����! $(7�j� ������)����-��Management Studio�� &�! $(7�)������8�� ����� ���� B�|�;� V����'

���� �.���:�@���)�6�G��YJ��! $(7�!�B�J���� ��Properties Window��)�/��)����)��Management Studio���("�I�="��.�

�f��)����U�6��2�A� ��(������*����5������� �����)����"���� ����8�� ����� ��A������Y��! $(7�j� ������)����-���4�Y5�����;� V������)�I�="�M

��(5�B�w 5�����U��B��A�����"��K5�@�.�

��

�'�("���) ��)��2�@���/*�)�����������-�� �(�6��(5�B�'2��;� V����j� �����8�� ����)���)���(�/V�-���.�

� Back up ��Properties

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 234: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 0as��

���("�-��%&��)���*����="�M�H�A��(,�! $(7�-���j� ����������&�����H��Y�����)�����5��I����*���@��:(���-�(ZKB�M����@���j=%5����*��"���������.�

�f��)���� ����!��95�����*����-���T�)�M�B���8�� ����� �! $(7�-�����)���� o�����"�)�T��KB�.��: �)���"�)�T��KB0cs���������! $(7�-���)��6���(�����

���*��� �����T�)��:(��CustomerNotes���("��K��!�B�J���/�,�r�B��)������*���.��$(���)���)�f��)���f<& ���)�����KB�'����&�����"��������)�-���fS�

�'�("�8�� ���.���)�I�="���'����&����6��3�����(D��Add;�[��)������ " 7����� �����T�)��'�("���$��� ������*�I�����.��)��)����-����%�G�>9H�)�

�� "�'�B��A���)�.�

���: 0cs��

��B��="����2�A� ���( ��#�$D��K"�M���-:K��'���� ���2�A� ���l� ���������:(����������MK�U�-�����l� ���)��������)����.��: �)���"�'�(�<�������d70is���,�

�'�)������B��(�/V�.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 235: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 0is��

O��6�^}���)��2�A� ������&�����$(��������B�� ��k&��������.��� �! �A]������!� V�;��"�)��tA� ��"���("�-��%&������&����-�(ZKB�W��(�/V�-����K ��)���� 5J��)�

���B���K�� ��k&��)�X�MA�� 7�'�B��A��2�A� ����%�����)����.�

���) ����U0����: �)���"�)�T��KB���("��*�&0�s��U�'����&�����V �-���)����(������'�("�!�B�J���)���) ����W�.���)���)� U� ������B��V �)���2O ��8�7����B��="�X�

��V �)���"��=H����="�/*����D���r�B�������U�r�B��:(�������Index/Keys�'�(���K�����U�r�B�! $(7�-���)��'�� :��b� %&�����B��A��.�fS���V �-��

����U����Y�CHECK�M������B��A���� V��E��"��)��V �-���)�"��"�����)�������(�<�Add���("�I�="���U�I���� "����O���� ��.��

���: 0�s��

��Check Constraints

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 236: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�f��)��6��B������)����*�l�<&)����:��������;� V����'�� &�)�/��'������"�)�T��KB�6�4�A)�����T�)�fA�'�("���) ������"�� �����)��W�@���l� ��G���/*���X

M��.�

�^ �����(D����)�����="�I���"��� ��6���("�!�����T�)�fA����I����M����T�)��.�^ �����(D����)���M��2(����J���"��� ����(,����� �����5A�( ��T�)�

�.�� ��M����K5>�� 9H��"����*�!�(B����J���"�M����w 5���)����A�)���������T�)�fA�r�B�.��)��2(&�PU��)��6�!�ED������!������J��;� V����)���"��T

�����!� �b� %&��*)�A���="����U����!��95������"��(5�B����2�@��� �. &�j� ������"�����T�)� B��fA�I���� � B�|�{D���T�)�F�������)����� �����KD���B �

��� ��K���T�)�.�

�;� V������!)���Northwind���*���)����� ���5 ����B����Orders����Customers��(�/V����("�I�="�M��)�Relationships���("�4�Y5����)��.��

�! $(7��"�'�(�����)�"�-��Relationship��� ���� B�|�'������<U�MK�U�)���"����! $(7���M<���� 5J���)������)����"�� .�! $(7Relationship�

���*���l� �Orders��: �)��0�s��M���!������J���.�

���: 0�s��

�'B ��MJ7��KD���(������)������� ��"�'�B�� ��k&��)���KT��)�M�B���'����&�����$(�����0�M����T�)�;����5�����*)�A���="������%� �R�����%��6��W����(D��

��KD�6��3���'�("��TY&��T�)�����"�'�("����O���)����B�!����'�B��Y��.�X�

&�DE���I������� ���)������V���V�)������B o��f��)��)�}������)���)����.�!��95����T�)�N� J&��� ��=%��G)�<D�I���������6���)�����2�@�;������)�"��B��+%

���("���T�)�)��6��3�����(D���Customers/Orders[�K5���-����G)�H��� �)��@�CustomerHasOrders�����)�}������@���J���/�,�����'("�.

�M�����)� O�)�"�-����5<������("��K��!��95����@�����5��G�U��� 5J����)���������� �������[���M����I����) �;��(B�����&�����=p���-����"�'5���)������

�;� V����I����AER�� ��!�(("�IK"�)�����( ��!� "�)�<D�l� �� �R���25���*�����������M���-:K���2TA��"��.�

�;� V����'�� &�)�/��)��f��)��� "����O����������������������������������������������������������

��� "��B)������J"�fS�0�M�������@�)�"��.�M����� "��B)������J"�G��=KD���25�������5���>��-��%&��=p����2(&�.����5��6���)������ &� V��W����2��5�����X��"

E<U��O�����("�4�Y5������J"��KD�����<U��)�'�� "����.�

��Cascading Action

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 237: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���("���>5�������*���*�-���T�)�I�������CustomerNotes�W��'�� "���$��� �)��@��<U�MK�U�)���"�X���*��Customers�'�("����O����I���5U���:(��������

[�K5������� ��5� V�� 5J�����?)�9��2 )�9���"�'� ��-pKT��'�B��A���������!� ��5� V� <5%��� 5J��I�������.�)��g�)�� 5�"�A�MK�U���)�)�"�-�����

���5���,�MK�CustomerID���*�)���Customers���5����)��@� V�!)� ���&���B��M" ���)�w����de����!� "�I�="�CustomerID���*�)��

CustomerNotes�� ���)� U��.���("��B)��)�w������="�.����! $(7�I���� � B�|�����f<& ����*����-���2��5��M ��������&�)�o(�W��: ��(���0hs��X��

���: 0hs��

��� ��!����;�$����5�)�����)��� "��B)������J"��KD� V�����5 ���)�o5����"��/�,����2��5��;��� V������6���� � B�|������T�)�^ �������2��5��;�����5��)��

�� ������G��95���� �<������)�M����"�combo box�4�Y5����)���A� o���)�����5������("�I�="���B�� ��k&��)��@���5��'�B��A�����"�����*���l� ��

���("�.�x ��8�7�)��S������)��T�)�;��

FK_CustomerNotes_Customers���CustomersHasNotes���B�� ��k&��.���)��"��5U�OK��I���K �6���� "�I�="�� &�)����5����T�)�;� V��

���B��;�$�����*�)�����*��T�)�! �A]�����<U��)� ����G�K�o(&������&��������)���.��KD�DELETE���UPDATE CASCADE����)�CASCADE�

���B�� ��k&�&�/���� 5J����l� ����2 )�9��� �^}������ "����7� ��k&�� 5J��I���)�")� V���:(��������(�K����� ����� �^}������(("����7� ��k�.��)��)���-��

��: �)�������&���1�s����(�<��.�

��Drag and Drop

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 238: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 1�s��

���)������&����������;�$����)�)�"�-����"��5U�OK���(�<���A�;� V����)���)����*��T�)�fA��&���("�I�="��.�

��("����)�"�����,��6�'�� "����O���<U�MK�U�)�� �)���*��"��5U�SQL Server��"��(>H�MJ7�)��SQL��� ��KD����B��A�����"��&� ��k&� �&����������)��@���l� ���.

�'�� "����O��;� V�������)��T�)�I��fS����("�&��I��6��� <��T�)���)��)�w���� V�!)� ���Z��(,�tooltip�0��: ��(����10s��;������ ��"��� ���� B�|�

�M����@�M�B������T�)�.�

��: �10s��

���("��*�&���*����)��)���!)�5��M�ED���uuu�����!� ����O��;� V����G� ��k&�M������fS��'�����;�$�������"��&� ��k&����(:��! �A]��)�;� V�����K ��"��5U���&�

���� ��K�����O���:�/����&�DE���I������2�@�.�

���M������V��5:���&�>�O�&���� ��"�I,�"�g�)�)��)��"�I�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 239: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�k&�!� �!����8��K���T�)�fA��"���@����8�7��%U����� "��(B��A� ���'�("��%� �R� �)��*)�A���="� ����"�������� .��)����U�����,��"�'������<U�����)�� ��

�'�("��%� �R�.�� $(7�j� ������)�)�"�-���'����&������Relationship�!��� ���M���� ��k&�����Enforce Foreign Key Constraint�����No�;�$���

�'�B��.�)�"��@��K ��"��5U��M����%� �R���U��B����J���"��("���� ��k&�������V����T�)�fA���B��;�$����)�.��: ���< �����fA11s��� ���.�

���: 11s��

� ��-��������K �����-�����6��������)��2�@�����:�� V���Q�M����%�� �R��@�� ,��K5������6�� ����KD�M���-:K������ �-pKT�����.�

��KD�d:D�������� �0

�5<����)��)����-����!����������� ����)����<���)���-����"��� ���5 �����������6�(5�B��5��������5� J�7�'�B�9�����)���-����:(����������'�("������) �!�&�"

�� ��)�}V� ���&��B�.�

�M������B/�,�����:��������� ��6�'�59V��������5��)���"�)�T��KB��(("����!��95����@����'2��G��=KD�����:�����(D����J�KB��&�DE���I������� ��.��2�@

��)���!� KB����&�DE���I����� ��@��"������/�� ��A��������("����F� ��)�������� ��G��=KD�!������ "��� ���������fS��.�-���)���)����B/�,��$(���)�

'�("������) ��)�����

� V���("�! �A]��)�!� �m�5(5�����B�!���������("�b� %&��&�<��>����5��I���u���("���2&�� ����)�T��)�G� )�/V��"��� ����{D��)�"�-���.� ��Y�fS�

���$(���@���B TA� � �)���)��)�"� B�����/���"��� ���5 ���W�.�!���� V���5�������U�9&���,�6��3�����(D����F�K$������K ��2�@�����"����B�!���

�Q��("����^ �� �� �@�����,��Q���B�����t�YJ&��)��)����@�����,�Q� �<��g(B�KB���@����M���X�

� ����%&������&������*�)���� �� �R���5��I���� "����O�����2(&�G�U����B�VJOIN���B��8B�"�G�DE�����)�@�M����� �������)�����B��.�)�

PU����-���MS�S���(5������L�9&��4��(5��)������.�-��2�@�����K%��)�T��"������*�����:������5��I���� "����O���"�;� "��)�A ��T�� ���

������ ����{D���� ����!��95��JOIN������JOIN��� *����������("����7�8B�"�QueryEKD��)��h��B��8B�"��H)���.

� "����! �A]� �)��K��U���B�!���� V����(����� ����!��95���� �V�?)�/V��� �fS�� �� !��� ��k&�����������������"����B� !������������de��

��� �V����)� U��o�E���)��� 5K"���,)�e:�� .�5<��������&����6��� ������) ���!� ��5 ���������A�fS����+��I��)�� �B�!�����"��5U���-pKT�

��:J���� ���(B�KB������ �m)�A����M �����B��Y���)�M����B�!����������� ��)��~)/�����������:���"�.���� �)��B�!�����Z��(,�M�%O���@�)�

���� ����;�$��� 52��� 5%� ���B)�"�'�B��)� U���*�-��(,�)���)��2�@���'�("�m)�A��� ��M����.

� �'B��������"������*����%&��� "�'"JOIN�"��� ��> �A�{D����� ��� ��B��A��� ����)���A� o���)���?)�/V��(B��A�����"���� )��)��)���

����(B��A� 5S�����((:���!��95����"����B)�/��.������ )�"�4��(5��)����DBA��(���5��&��( ���5 ����&�DE���I������K�S5����� 5����(B��A����

�(("�M���)���(B��A�����"��)��&� )�/V�."�-����� �<� S&����� � o�����K%��I���(���&����!� ��� ��)�����&�DE���I���I��6��� )���!��95����

�� ��.�("�!������ )�"�-����� ��)�)�"�����&�����B�!������ "�m)�A��� ��M������.�

���B��;�$����)�������� ����("��%���59V�-����KB���.�M����=�[������:��������� ��D����T�)���2K5����� ,��"���� ������� ��.�������� ��)���"��5U�

� ���B��A�!�<5 ��)�,���J("� &�I��)�� 52����)�"��)���-�(ZKB���!������,)�e:������ 52��)���)��MS�S��)��6���� �!�<5 ��#:& ��.�

�������� �������@��

�� ������@�-����U��D�K$�����B����MK�U�-���)��M ���'�B��A���� ��!�� �)��������.�(5�B����@��+%���P� ���D��U��2�@�����+%s��)���)������fS��

���("� :���2�@�.�M����/�,��KB�����M����&�DE���I������ ��)��~)/��)���I��������� ��6��"�M�(����2�@����K2���� ��5:��-� 5K2��.�

��De-Normalization

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 240: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

��)�������!����� �@��

���� ����E<U��"����2B�)����"��(("����!��95���)����;�$����� ����2B�)�����"�;� "��)�A���(5�B�G��95��� ����!��95���.����B�!�������-��6�G�U����B�V

��(5�B���9����#��*�)����'("�����)�A �.��(5������9���=�A������(5�B�#��*�)�����"�'�(������)����B�!����/���G�U����B�V.�����)����B�!����'B��K"��)����)��

��9�������(5�B�#��*�����"�'�(�s�M���-:K�� �2�@��("��K����9�� �)� �2�@� �)���-��� �����( �����*� .� �"� �)������-��� �J�KB��;�$��� ����(��� � �@��J�KB���,�

'�B������ �}e���)�"�P��U��������B����;�$����"����B)�"��� ���("��%���@���$����(:���)�"��J�KB�?�)�-����"��� ��-pKT������("����7����!�((.�

�SQL Server 1��c�M���!�������)��!��Z�7�)������B)�"�;�$���)�o(�����)�����*���2B�)����B�!�� ��.�U��)����("��!��Z�7���B�!����F�������!��Z�7�!����-��

�����(K&)�U����*���2�Vq������(D����&��(5�B�w 5������ ����O���K ���>���� �}7�^�T%��W��B�!����F�������P��&�j� �����.�X����8���V��Z�7������("��%�

�%U����"��/�,���M<�����A��&�DE���I���������("��)�����)���m��5���.�

�B�!����F�����4�Y5����

�S�U���"��� ���8�7��)� :9&�-����("�4�Y5�����)���m��5����"��)��/�,���.�

���("�! �A]��)��2B�����B��A���� V��6��3�����(D���W������D�I�����(D��0��&�01�X���4�Y5�����M���I�����!��95�����)�"�-���tinyint�M���;�$�����U��.�d7

�!����F����("����! �A]��)�!���fS���"���=����� ������ ,int�����"�a("�4�Y5����)��("����!��95���M������("��K��!��95����:��������/V B��Z��(,�Q�'�nchar���

nvarchar���(:��4�Y5����)���

��:����� �R�!�����(%����A�!�����A�'B�������S��)���B�!����F���-��1��("����! �A]� 5"�)�"� B��� ��)�M���.�

�5:���59V�-���G�U����B�V�6�'B�����N�O�&��� ���� ��)��)����-����"��5U���"�;�( �����)��B����(5�B����)��!�� ���I������+��u��.���B���)��MK�U����

�MY�SCSI�����'�("� :������(����"��� �{D����)�����*��/���������(27����:< ���l� ��������.� T�� B��� � V�0����:< �'����j� ��������O��M���

��K �����("���)�0���5� 9���B��Y� �)��)�")����.�������/�,K �0��� �����:< ���("�{D���"��)}V�����:< �������O��M���� .�Q�����!�J��4�$����(B

��K ��"���("�x ����("�0����"���)��� )�"�c���(B�����;�$���MD��� B�)���)�8("� &������8��MD��� B�)��)�"�-�����MB�c�����b=&��:< �������(27����

��� .�

�5:���"��$�5���� ����;�$���) :��)�T��B������)��&�DE���I����� ��"���)����6��"�M���-����=s� 5V)/�)�T(�KB�����&����I,�"�!�<5 ���"��(%��-�����

�� �.�

��B/�,������! �A]�)��!�<5 ���

;������ ����:Z�B� ���'("���� :���"��K��U�'=���I��M��������������=�A��"��� ����)�����*���M ����K�������)��B�!����� ���@�����u��

��"���� �����*��������-�����6�����������)��&�DE���I���I���"������� B���%��)�G�DE���-��������@���Q�'�)���������;)����K ��� �M>�������-���$(���)�

����)��������)��2�@�6���)������ &� V���.�PU���� 5J���"�������B��A��� V �����!��@��"����B�!�����������&��K�.�

�)�<:���U�����"�'("����-�K+&�W[�K5����)�<:����� 5J���=�A�X�� 5J��I��W������ �B�� 5J���"��� ���5 ��� ��Y���K ��� �)���)�����"��(5�B�����"�

����� 5J��I������=A�����2� 5J���(���&�������(B�����?)�9�Accounts Receivable�( ���X����V�����K ������@��B��A������?)�/V�I�������&���

�Q�;��!� "�MA�� 7��K ����5������B�M" ���)��S���,����M" �8�7����)��'(�<��&���B��-���

�"�M9V���B��A��K �Q� �A��������!� "�! �A]��)��5" ���� 5J����l� ��G�DE�����@�-�� �(�6�4�A�)����6���B�����7�� 5J��M���A�)���������&������)���

Q��("���,�-���� ��������7��&��)��2�@���2�)�@��� ���S�������&�����K ���@�6�4�A��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 241: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

��� ��!� :��! �A]��)�����!� "� ��k&��"�����*���2�)�@��U�������6���)�����)��<U��=�A���2�)�@��K ��"�;�(����l �-��.��HEA�)�T�����:���"��������K�

�M���A��B��A��/�,��,��K ����'5������ )�"����)��� �)��@��"���� �-pKT������("��%���.��)��B�!�����)� O� �R� ���S�����<���"��� ���5 ���-B]�)��fS�

���� ��:< ����)�"�8B�"�{D������("��S5(��

�W���(�<��)�!����F�����4�Y5���MK�U�.�X�����K ��Z��(,���("����! �A]�!�(�@��� �fS���)����B�!6�)�5���)���)��2�@�M��������� V����� �-pKT��SELECT�!��95���

���("��K��W�'�("����! �A]��)��B�!����� ,��:(�������)���� ���K ��)�"�M���������-���MS�S��)��.X�

��5:����� ���5 ����<U��D�)�"�-����"���("���� :�� V��W��)��'B�'5��������2�@��� "�m)�A�)��'B����2�@�-5 ��2��X���("���/��)���A�)��J����.�j<��G�U����B�V

�%� ��M���-:K���"����*��&��"�M���-���)�"�-� 52�'B�PU������S�)��6���)�������tYJ�������I���&��)��B�!�����"���5�B�b|�������U���EA��2�@� ����

���� .�

P� ���3��I��-���&���%� ���������'���� �;�$�����'���!� "�F� �������� ��MK�U��"� �)�)�5"����&�DE���I������ ����� 7�.���� ��)�/����^�T%���)���A��*�&� 5J�

�'�� "���$�����("��&��"�M�����)����'B� ������� ���� �;� V����.�&�'�("������>5���/����)�����*��)����-��-���)��������J����� ����)��)��2�@� ���&�

�'�B�.�

��&�DE���I�����$����

�;� V������� ��)�/��6� ����;� V������� ����B)�/��^EA� SQL Server�("��K����$����K ��� ��)��&�DE���I���sE<U������������5��&��� ��!� "�� *��� �@

��("�)�"�;� V������.�

�)���� o��)���$(���)��;�����I,�"��&�DE���I���I��fS��-�� �(�6�'�("�M<>H���A���B�!�����)���)��'Invoice�'�("������$����.���B�! $(7�����3����

Management Studio�� "�'�B��A�!��95����.�

�! V���)�I�="�M��)�����%Databases�4�Y5�����;)� ��)��New Database��� ��)� o���)���G�DE����;������&�DE���I��Invoice�������/�������)�

MB�`�'("�����)����.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 242: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 1`s��

E<U���: ��(�����$(���)������'�5 ����&�DE�����2:�����$����)���)������I��1`s���)� ������B��(�/V�x ��8�7��W���$����� ��2(&�X'("�����<U�.�

����������*���;� V������ "����O���

���;� V�����"��������(�Northwind��("�����)��&�DE���I�����l� ��! V�6�'�� "���$����)��W�"�! V�-���7�)��������("��Databases� ���X��"����! $(7��

�'�("��������&�'�("����O���)�;� V�������<�5J7��� �������)������ ��'�B��A������@��� 7����������.�! V���)�de�Diagrams�����%���'�("����I�="�M��)�

��(�/V�4�Y5��Database Diagram�! $(7�Add Table���)����6�)������*���&�DE���I���)������*��:(������������6�� ���� B�|�Cancel����I�="�

��� ����!������J�����A��>9H�I����'�(".�

�'�("����O�� �)����*����*� �&�'�5�B�!���@���("�� .������:�@���)�'B������&New Table��(�/V���!� "�I�="�M��)�;� V������*� B�'B�����("�I�="�

Table��("�4�Y5����)��.��: �)���"�)�T��KB1as����*��� "����O����������!� �!������J��Orders'�("�F� ��.�

���: 1as��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 243: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

�5:����x ��8�7�M������� �)��K��-���"���("��*�&�W��"Default Value���Identity��(5�����@�����JY��X�M������Custom���;���� ��k&��-�(ZKB�

��(�/VModify Custom���4�Y5����)�Default Value���2��5����Identity���K�����)�Custom;� "����O���.�

K�K�&�����&�'�("�bU�&��$(���)����B��!��*���'�("��KD���$(���)��'�B��A�����"���)�) �'�("���.�'�B�����)� U��o�E���)����)�w������ ���������:(�������

�'�("��K����) ��$(���)���)� �����������)����6�.�M��B�!����F������)���)��'�K�&�-����.�

��:(�������OrderID���O���� ��5:�� ���S���� ����"���*��"�'�� �-pKT���&�'�)��������M�����*��=H����="��'�)���������=�A���B�!������ "��.�-��� V�

�M���G� )�9����l� ����*�-����:(������������6�'�("�4�Y5��� 5:,�"�!����F���I��M���-:K��6�'�)������ "����O���KD�������@�)���"�M�������*���*�W

�'�("��)����@� )��?)�9�������� ���%&�'�)�������� �� X��� 5V)/��K"� �)� /���� 6�'� �V�� .���:��I����� !��95�����M���#��(�� �$(��� )�����D�� ��� !��95��� !�E%/�;

�("������2�&� �)������( ���5��I���: ������D�I�&���&�� .���� 5J�����Z��(,1���)��������?)�9�������D��)��=����W�)��)�<����(,�M���-:K���)���-���)�

��� ���5 ���M" �X��������������&���� 5V)/BigInt���("�!��95����W� .��)����������!����F���-����Z�@����� 5J��G� )�9�����%&� �K ��"�'5�B�-pKT��-�

�M ����B��Y����("����!��95���!����F���I���"����+��)��S��#=R�� 5V)/���B�����)���,� V�6��� ����!��95������O����+��fS���"��� ���5 ���-B]�)��fS��

�KB��'"�� ��M�.�X�

��=���!)��)�OrderDate�F������� �@��"�M���-�����)����-B]����"��/�,�-�����smalldatetime���("�4�Y5����.�F����"��5U����MS�S��)�datetime�

� '�� V � �<U� �2���� �� �"� '�B��A� �K�� -�(ZKB� �� 6� '�)���� ����� �B�� ��� ���)�� W� �A�� ��� �(,� 3"���� .� X� ��� � ,� ���� F��� ��� '�B��Adatetime���$�

smalldatetime�I������q�������������� ��5��)������fS��Q�'�("�!��95����.�����<U��&�I������q��NET�.��F���������B��=����Smalldatetime�

�F�������������"�)���5��)��� �fS���)���5��6�M���MY���� �V������)�"�-�������6�M ����:J�Datetime�'� �V���� o��)���.�

��"�������FE����������� 5J�CustomerNo�c��(5�B���D��KB��"��)���'U)��.��� 7����� 5J������"�M������25K�U�����:��-�����"���5�B�-pKT����@

��9�@� 5"�)�"����/V BW���X�Q��("��K��!��95�������'����&������M���M<3���2�@�4��*��"��� ��� o��)�Integer��:(��������'�("�!��95����

� �M��� 5%� ��G�%*� ��)�

� ��)��������� 5K"�'$���a���D�I���5�� �M���c��U����G)�H�-��� �R�)��6��B�����)� U�8 �7�M>&��)��KU)�c�M����W� �k5����������B�=�����

i�M����X�M��������)�:(�����

�5:���)���-���)���"���("��*�&�����<� S&�����I����=���� "�!��95����S����*����"�����T�)�j� �������*�-����� �� 5J��!)�K �6�MS�S��)��Customer�

��� ����tYJ��MA���'�B��A�.�MA�� 7�'�B��A��@����3��-���)���"�M�������*�-� A@���*�-����:�@������.E%���'�("���� 7��)����A���B�=���.�

���������%�'�("�� �V�'�K�&��2��5��/�����)���)������6�!����F�.���)����5���/����!� �4�Y5�����B�!����F�������,�M����)�"�-������*��5�����A���*�-���)��.�

�)��S���(���&�����B T����@��"�M����)���-���)����%�#=T�NULL( ���5 �����.���5U��G�DE����KB�'�B��A�����)���-���)��'�("����M<���)�?)�9��I���"

��( ��w 5���)��.�)��S��-5 ���!��*��-�� �(NULL�'�B���K���)��.�

�5:���� ���S��'�B��!��*���"��� ����� ���-����M���-:K�NULLS���� ��&�DE���I����)����.���("��)����2�@���������&��K���K ��"���)�����*���T�� ��

� ���S���!�J��b� %&�������(5�B���$��M��� 52��G)�<D����)��(5����B�=��� ���S��#=R���Value Unknown��'�("���� 7��@�����< ��/�,����.�

��5:�����)��S���"����B�=����"�'B�����;�$��������-������)�)�:(��NULL���� �����TA���$���{D��!�J��b� %&���B �k5���(������ �}7�����.I���)���"��5U��

� ���S����A��&�DE��NULL���� e���&��A����M���-:K���� ���5 �������-���)���)���� ��)��S��;� "�?��� ��-�����M� V����)� U��$(���)�������)��S����@�

�Q�'���(� T���Q��)����TA�-������ ���@�

��(5�B�x ��8�7� ���S��'�5�B��*�����@����"���%��=p���. �'����&��K����OrderID�M��������( ���5��I����,�'� ���5 ���x ��8�7�)��S��I���.

��� � ���OrderDate�M����)����U�x ��8�7�)��S��� .��Z��(,OrderDate��� ��5� V�)�������� �����)�&��"�'� �V���� o��)�� 6����!�J��tYJ���.

��)���-� A@CustomerNo�M����Q�����B��A�x ��8�7�� 5J��;��"��'�("�-��%&��@��� �x ��8�7�)��S��'����&��K���.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 244: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

�M��������( ���5��!)��)����%��)���.OrderID��� ����!��95��� T�����5:���� �fS���@�)��S��M��������( ���5���� �4�A������"�I���.����!��95��

(���B������������w�K=��6�4�A�!�)�I�������( ��=������(D���!��)�K �I��M��� ���S���� �'o�.�6�-�� �(��'�)����8��/���)��S����������)��S�� ��k&��� ��=���

�'�B���K��;�$����)��)�"�-�(,�.����B��A�I��/���8��/���)��S����I��������)��S��.�

�'�� ���%���*���'�5�B�!���@���("�����*�OrderDetails��: ��(�����"�1cs��M���!� �b� %&��

���: 1cs��

���5��6���*�-����� OrderIDE<U���5��-���!����F���-�� �(�����B��A��@��� ��*)�A���="�I����F�*)���=���/����'B���F���'B������@�M���!�J��-��%&

�-�� �(�� ��!�(B�Int��� �����5� V� o��)���.�

LineItem���-�� �(�6��� ����F� ������� T�� B��� ��F������� �@�'����&�tinyint�'� ��� o��)���.������(�K����� �fS���$(���)�Int�'�("����!��95����W�.

�����!� "��TY&��25����>�����V�-�������"�;��!�����)���� ���-��.�X�

���5�PartNo���������5��-����"��(����8�7�-���������MS�S�)����*�-���)��PartNo���*�)��Products��� ������� ��� ��j<T(���.PartNo�)��

���*Products����char(i)��("����!��95����W�'�("������) ��)���*�-���������)��X�'�("����!��95���F���-�������$(���)��-�� �(�6�.�

QTY�M����(�KY&��.&��,�'�("�M���)��'����&�����"�� )�9��-� 5V)/���("�&��"�M���-�������'����5���Z��(,�Q�� ���5 �������&����[�"�!�)�I��������%

�S�U���'� ���5 ������%&��(�J���)�)��'B��5�)��w���'����&��K��'�("�-��%&� �)��@��W��2���=���M���-:K��'� � 9��59����B��:J��Z��(,�6��3�����(D��

��� ��5A� ���o>��I��)���:J�.�X���� �$(��Int���!��95����m��5���!����F���I���� � ������������)��������5A�����2(��V��(���� �)����B/�,� V�� ���� 6�'�("�

��("��<U��)�)�JD���"�M �����B��A�.�

��=��UnitPrice�M������@��.������@�!����F���6��)�����������)����7� ���S���=�����,money�� ���.�

�V���� o�)������(���'B��$(���)��)��S��-�� �(��(5�B�������)����B�=���yKB��"�'�NULL�'������K����$���)��.�

�'�� �����)�MK�U�-���������-�� �(�6�� ��������)����"���)��K�� o�����O ��8�7�)��S��r�B�.�

�!)�����"�������K ��� ����M���-:K��������I��Q������( OrderID�����( ���5�����(D����)��'� ��� o�)���.���B���;�$����)�)�"�-���/V B�u��5 ��������

��"��� �OrderID�� ��j<T(�� ������*�)�����5���������"�M����)��S���.�I�������( ���5�����(D����=���-���-��%&�-�� �(��)����)��S����*��@

�M���\U�(&�.�I��'�B��A�����"�M���M�)�������-���������59V�'�B��;�$����)��� "����O���KD�'����&��K��!� ��59V��)����w��� �'�("�-��%&������( �)��S�

�.���)��� )�"�^ �����!������ "��)��������������� �V���� �������*�����)���A���B�!�������6�2��5����S�.IsRowGuid��� ��K���KD��!)�����.�

����*�-���7���2=: �)�Customers����Products�'�("����!�B�J���)��.�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 245: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

���: 1is��

���: 1�s��

�'�("���) ��)��2�@�)��tYJ���5:���(,��������$(���)��.�

PartNo��� ����b� %&�'������������ ����) �;��(B��"����B�!����y=�������.'U)�)�2,��@���=*���^ ��I���@�����%�6�'U)�I����5���"�M�����=���-���

�� �V����)� U�.E"��� ��M����@�����"���)���� o������ 5"�)�"�8 ��.�-�� �(char(i)�'� �V���� o�)���)��.char���,�'�� "�4�Y5��������-������)�

���M<���� 5K"�)� �varchar�'�)���� �k5��������!��95����� ��=����M���M����@������,�-�(ZKB����)����W�.�-��������!��95���)���5�/��r�B��"��(%�

�'�)�����$(���)�� �k5����.�X�

Description����/�w����)��@�/������F��������"�M�����)�����@�����:���.��� ��)��� )�"�f����j� ����������"�M������B�=�������:��-���W��)��@�����

����8��K���>9H�)���)��@����5���"��� ���� o�)��~)/�X���� ��� o�)���(�KY&�)������)��@��� ����"���+��������.�F�����������������$(���)�varchar���

���*char�'�("����!��95������

� ������! �A]���+��8B�"���

� �M ���'�B��Y�����A���+�����=:J��W�.�MK�U��char�������S��)��varchar�����)��1�� ���5 ����B�����X

���nchar����nvarchar����K���=>����l� ������������!� ���� ���:� �@��� �� �V)�5"���!����'5����-����:(����������'�� :��!��95���0�'���� 7��K���.�

��=��Weight��(��������/����)�Description����w����.���tinyint���� 5K"�G[��>����,�'�� "�4�Y5����)�1cc���������7����)��.��$(���)���"���("��*�&

�'� �V��K�� o�)���)��)�JD�� ���S��W�N�>H����D��fS�.�X�

��=��CustomerNo���*���$���;��(B��)�Orders�'�����N�O�&��.�

CustomerName���CustomerAddress�S�U����M�%O��Description���)����)��.���)���������+��)��S���,����2�@��"�M�(�������-pKT����������Q

�'�B���K�����5A���2�@����)��������8����+���"�'�� �.��...�

��(5�B�;�[��B�=����KB�6��<U��(����W�)��S�NULL��� ���*��)����)����!��*���X�'�)�����2�@��� ��O ��8�7�)��S��r�B���.��K�� o����/��������( ���2��5�

��( ���KD����U��$(���)���"���)�� 5J��!)�K �� ���WCustomerNo�X��MK�U�!)�K ���WPartNo�X��� )�K �'5����I���"��<��U����"���)����H�A�#��U

��(5����j<T(���("����'B� �������( ���5���"�I�&���&��.�

��Locallization

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 246: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

f��)��� "����O���

�-��6�� ���5 ���� 5K"��V��Z�7�;� V�����:(������ �6�4�A�)���a�'B�)�("��)���*�����)��2�@���K����;����)� U

Column Names;���� ��k&��.��(�/V�4�Y5�������*���)�I�="�M��)��=�����)��@������&����'B��K Column Names���B��;�$���!� � B�|���(������.�

��: ��(��������;� V������K�1�s��� ���

���: 1�s��

G��95���: �-������K ����*���:��M���-:K��( �����:������;� V�������5>������� ���.� <H�M���-:K������6�'�("����O���)�f��)��"�'�5�B�!���@���("�

�S�U���)��T��)��,��"��)���-���)����5���&���("���("� :��6���("����O��'�B��A����.�

�;� V����'�� &�)�/��)���"��T��)��KBSQL ServerYJ���T�)���2TA��=��������(B��A��(,���I�����I����I��6� 9H���I��'�("����t�.SQL

Server�S�U�����B��;�$����(KO�)�T��)� ����f��)�F���������,��"�������K��.E<U��"�)�T��KB�����5:�����U��(������)���������&����6�'�����N�O�&�����-���)�

��"��)�"��&���("����O���)��B �� &��SQL Server����,���)�����2�@����*��5����$(���)����("��*�&�������("��������< ��)��B�����;�$���f��)����%�<��)�T

���)����(,���I�����I����I��f��)�fS��.�

�5:����M��� ������B�*�)���T�)�-� 5����5���T�)�-����"�M�(����*�&���U�.��:(����HEA�)�TSQL Server������)�����KB��4�A��B���K��8 �7� �)��

�M���.��*)�A���="���U�W��(B�������J���)��2�@�P* ��l�TA��"�M����/�,��"�X�j� ����������&�����)��)������S���6���)���m��5����@����"�M�����)���-� 5J�

���("������!���7� �����)���.�

�'�("����F� �'5�����=H����*����$(���)������*Orders.���M ���'�B��A��B����� ���5 ���������@���M���-:K���"����B��T�)�;�K&�����5�.��$(���)�

�'� ���5 ��� o��)�������)��5:��I������*����"�M�������Customers�� ���5 ���F�*)��I���.��"��)�T�M����(,���I���T�)�I��-��Customers�

������W�I��^ ��X��Orders���� ���W���(,�^ �X�����(B��A���*.�

� �T�)� ��$����� � W� �� �����5A�( ��T�)�w���� �� ���7����(D��� �"��*)�A� ��="� ��U�I�� �� X���*��,�MK�� )���V������ 6Customers� W��MK�U� )�

�g�)�� 5�"�A� X� ��5�� )�("� )�CustomerNo� ��)��� ���� -���7� �)�w���� ��="� �� !� "�I�="�� .� ��KB� )�� �)�w������5�� )�("� 6�g�)�� 5�"�A�MK�U

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 247: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

CustomerNo���*�)��Orders���("��B)�� �@���="�de������J:��.SQL Server�)������B�����8��K�� �)��T�)�-�����(� :�7�����&�! $(7�����:��.

��: �)�����! $(71hs���B�������J���.��: �)�����! $(71hs����)���-�������&��"�M���!� �!������J���S�U�����2��5���,��"�M����(5�B�f<& �.�

���: 1hs��

�5:���E<U��"�)�T��KB���� �<���� ������G��95������5 ���)�o5����K ��"����2��5�����2��5��;����Z��(,�6�;� "�!)� ���@�������-���)���!��� ����M�������fS��

�����("� !��95��CustomerNo��("�4�Y5��� ��� B�)�� �)�� .&�S�U�� �2��5���)�������/���"���("��*����( ���5 ���;���I������� �V�=*����5��)�������� �2�@�

�S�U���"���)����)���V��Z�7���(5�B�;�����)����(5�B����:��.�

���)OK�! $(7�)��x ��8�7�)��S������5&��� �-�(ZKB�����("�I�="�Foreign Key Relationship���)�OK���("�I�="�� .����)�I�="�\>��

OK�;���! $(7�)���.��: ��(�������*��&�DE���I���)���T�)�-����`�s���("�������7�8��K���.�

���: `�s��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 248: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

��: �)���"�)�T��KB���'�B�����;�$���/��� �����T�)������ ��)��B)�"���KB���("�`0s��*�����)��(,���I���T�)�I���"�'�)��������M���!� �!������J����

Orders���*���OrderDetails�'�("�tYJ����5�����7� �OrderID�I��header�M �����*��?)�9��G���/*��(,����I���� �?)�9���X��-�(ZKB�

���*������J���T�)�I�Products�)���)�")�-��(,��� �OrderDetails��)�����*���X.�

���: `0s��

��U��(,��� "����O���

���*��:(�������%�M���!�J��P9& �������2��(����������:����(B�'�5A����)��T�)�)���.�M�����U�I���)���-���.�MK�U�!)�K �

�WPartNo�X��G)������hAhhhh����'U)�I��!�(B����J������D��:�)�T��� ���(�#��R�h������A��^ ��I��!�(B����J�W����D� �R�X�M���.�

���*���)��)���-����� Products���(�/V���!� "�I�="�M��)Check Constraints�(����! $(7�I���&�'�("����4�Y5����)����: `1s���("����7�8��K��.�

���: `1s��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 249: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�'�("�b� %&��)� o���)�����U������"�M������*��$(���.�MK�U�!)�K ��:(����� �WPartNo�X��)��(5�B�j<T(��#��U����"��)���)����fS���"�'�("����>���)�� �}e�

� �=KD�����"�'�)�������LIKE�'�("�!��95���.�(PartNo LIKE ‘[�sh][A-Z][�sh][�sh][�sh][�sh]’)

���5���)���� �@��)����%�� )�"��"�� 5"�)�"� B�)�"�-����PartNo�� ��B��A���) ��("��.�-������ 5"�)�"�-�������&�h�-�������6�� ��A��&�Z�W��^ ��I��X��

a"�)�"���( ����D�I������'B���%� 5�W.����'B������&�h�.�X��MK�U�)���)�[���"Expression�'�("��)����.��: �)���"�)�T��KB�!�ED��``s��!� �!������J��

�����)���U�x ��8�7�;��������M�� �����CK_Products ��� CK_PartNo��'�B����� ��k&�.�

���J:������=�A��B)�"�-���������-����'�� "���� ���)���K�&�DE���I���uuu�

�5<����)���-����5<������<��!��Z�7�����8����� ��"����B/�,���("������h�'�����;�$����(B�������:J&��)��B�!����)�5A����H)���.�

���: ``s��

��HEA

��*����A��������)������2�5"���M����V)/�)����;�29���&�DE���I�������!� "�{>��@��)���)���"���)����.�<� S&�-����;�K&�'�B��Y��"�M���-:K�� �R

�'�("���) �����������I��)���)��&�DE���I������ ����l� �������.�

������;�[�������F� ��� ��"�'�� "���) ��)���)����fS������-���)��.�(� ��� ��; ��-�������!�����5U���"�'�������� �����5� V� o��)���� ��6��.�-���)�

������5������="����2(&���B�!����������!� �^}���)� :&���B�!����6�NT������5�����B�!���� 6��HEA�)���������="���� �R��/�,����������="�fS������="

�������5����.�M�����B������KB����7�������� ���"�'�����)�A�G�U����B�V��?)�/V����� )�"��� ��)����)�"��V��������&�����B�!������ ��M��������� "�m

�B��8��/���� �V�.'�5 ����B�����&�DE���I������ ��)���� �� �R�'�B�9�����5�����)��������+%���! A[��.�

��"�F�O���-������S�U��!����6��%�����)�SQL Server �A]��)�G�DE�������,��M ���'�B��A��2�A� �����(�2�!��95��������,����("����!�.�

��2(� K&��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 250: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��

0s ���("����<&��� ��;���; �����)� �����B�!����.�ReleaseDate AdmitDate Treatment Hospital Physician SSN Patient ��������� ���������� Lobotomy Mayo

Clinic Albert

Schweitzer ���-��-���� Sam Spade

���������� ���������� Cortizone

Injection NULL Albert

Schweitzer ���-��-���� Sally Nally

���������� ���������� Pickle

Extraction Mustard

Clinic Mo Betta ���-��-���� Peter Piper

���������� ���������� Cortizone

Injection Mustard

Clinic Sheeze

Sheila ���-��-�� Nicki

Doohickey

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 251: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

SQL Server �������������� ����������������������� ����������������������� ����������������������� ��������������������������������� ������������������������������������� ��!����"�#����$� ��������%��&����'������(�������)*+�,�-�).��/0��1�������*��������*���2���.��������SQL

Server 3�����4������*�������� ��!����5�&&6��.�����,3�'������-��6�",�%��-�.�����/���.�7������1�Query����8��6�����������'�-��6�",�%��"��9��.

��������7���")�*����1��-�.��-�/���.���������:*�;�Query����8*�+,������'�7#�#<�����������&�������7*�*�.���46�����"���&����46����������'�

�"��=�>��������?@,�A*������������!*��B��"C#�����*�.����&���";/�����6�����/������������D�-��4�,�������.���������������� ����/�E�*���������

���������SQL Server�*�������*�����'��������������� �F+���).�"��������?�G��A�4��"�SQL Server7��������/���'�

������������SQL Server������������� SQL Server������2���.�"H�H��������'������I���.�"H�H�A*��7�����������'����������J;��"��-�/���.�I���.�"H�H����K�4�#��.������

7����'7������������(�"��-�/���.��L������/.����"0����������&����-��&M���*���J;���.��'��&6������"��N��1����F��6������*����'�

������������O/��������D7�������������/.�A*��'��,�����L�����/���.��&*/N��.�"6����������.����(�A.��F/&���'KP�4�<��"H���������.����(�'�!*�-�/&��"���������� ��!����A.

7��������� �:*�;�����QC�A*��P�����*����&6��.��������9&.�7*�/1/.3�R�������!*������D���A*�����>�-(��������/���.�?9>�!*�"6�7���SC�A*��P

��6���0*������� ��!����QC����?9>�!*�Q*�L��/C��-�/���4��"E��N������5�'�

"�)�"�)�"�)�"�)�TTTT?9>�U��/���.���9��������V/��"6�7��-�).���W��&6��������!*�'���4��"X��&E"�&���";/��!*�-�/&������SQL Server�D����*�M�Y/������*���*�����D

��&6���9��?9>�"6��*������/����&��������%��������4������������7������7*�*�.����'��

� ?@,� ��UZ� ?@9.� �/C����� ?9>��� ���[N� ?9>� ?��>� ������ "�� ".���� ��� �.�� ��&6� �.� ����� ��� SQL Server��6� ����/�� �����'

U Lock

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 252: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

���������"6�7��������� ��HL���<������N�!*���W���1�"���J,���@����������������"6��/���.���9���\�"S9L�]Z�/H�6�

7�����?�)��������&6����������*���'�

�?.��������������� �����9.� ���"6�����,������� �����9����HL����J,���0�� ������N�^����� �J,���@���F/�9.

����_��9�.�����1�������/���.��&&6��.���9����'�������.�_�)��&�����*�����/.�?.������N���T�

� �&&6��.�I<�@�����*�1����N�!*�+*��?6�")H����/6��+*��������"��V#,�"����;����/6������M����N�!*�"6���>��'

������6��N����"��"6�����,������SQL Server���0��"BSG�������"B,�<���@��������79N��*���������6�Y�������

*�/���.���9������N�!*���/6��!�'

� �J,�A*��-������@���?2>�������DSQL Server�*�1���J,���@���-�.�������6����/���*/1�`�L���/6�����"��'

� �"�,�*���@������N�+*��"��72��������������C�")&*��?�G���V#,����N�!*�R�@����W����������7��A)4.

�����������",�%���H;,����/�����/�����*���/���.�`�L�"�/�&*��"6��*�J,����#.��.�������B��"��`�'�������� �.�

�/����*�����#.�A*��7��A)4.�DK�L/@�.�")��")�����C�S.����D������"�����A� �����������/.��*���A*����&��'

"�)�"�)�"�)�"�)�TTTT� �2���� ���N��.������ ��!���� "6��*�J,� ��� ���N��.� ���N�!*�"6��*�J,��*����� '��/��"������� ��!���� "6��*�J,

�/���.��6�/*����^���������J,������&�2������/���.�"6�7���*�J,������.�R�@����D��.�R�@�������N�"��"6��*�J,��.�

��/���.�"�,�N������ ��!����V/������������J,�������*�'�

�����

� �����<�������)*����N�!*��&��.����������7������� ��!����'7�����.����N�!*������@����<���!*�"S9L�'

�/�����/��"S9L�7���?.������N����'�

7���HL�����������C�"������������?2>�QC�A*��(�"S9L�'����C����;���.��7��7��a����N�!*����_�S9L����;��")&*����

7����"�/�&*��"S9L������� DK�.�6�"Hb�.�A*��������������c�.����/���.�"6�7���C�+*��"��"� '��&��.� ���"S9L�!*�����/���.

�*������B���������C��������W��1��������������,�d�'�/��"��)��"S9L�A*�&E�A������/���4���C�!*�'�

�������/1��"S9L�����9H��.�Y�/���'����/.�?.�����&6��.������������(�"6����/���O��6�A*�����*��&����T��

� ����T�����_�S9LK�.�6�&�����*/N��'�&�����4��W��1��HL�������������(�D�����������&e���"�BLOB����"6�text

in row��*�varchar(max)�&��������:*�;���'

� �����T�&����7���������������_�S9L�T��N�����f����N���QC�_�S9L����(����������"�/����f��3��"6

�������&6��.������������(�".��5�������.�"���������"�/�������!*��N�����f�QC�_�S9L�A�&X4����'�A*��F/�9.

�Y/���������������/�����Q%���?@,�".�������'

�����������/���.����#������M�"S9L�!*�"6���>��'7���*�1�"S9L�!*���@����������,�-(��&;.�D������4���"6�_�/L�A*��"��������

��/���.�?#�&.��*�1�"S9L�"���/1/.�"S9L�'�

U�Extent g Page

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 253: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�/���.���9������"�/�������!*�"6�7����>����/.�A*����&e���'��C��������"������/1�����"�/�������!*�"X��&E

�����W��1���/6��A*��(��)*+�,��/ �"����;�����",�%��D���>�������-�����*�1��C��������0*���*�1�"S9L�!*�����A�,�N�

�/���.�?#�&.��*�1�"S9L�"���/1/.�����'������F��&��������/.�A*����������6�����/��";G�C.��'�

��� ���".��������C�QC�������[N�?9>���&������/������������D�*/�����79���Y/%/.�A*������*�2��A*����&��'�������/���.����C��0<

\KB������'�

7*���S.��������\h]h���6���6��D�7*���S.UhgZ������/1��+�����/���'�"��"6��C*�������A�,�N����>�"6��*������/��?4����

�7*���S.����?2>���/��7*���S.\h]h7��W/4;.���f���������6���6��'UhgZ�A�����.����#.�\��.����-/��W/ ������7*���

����'-�����6������������D/������,�-(������<���"�7,�������'�

�!�����"��#��������������_�cG�i&��,U7����6�:*�;���*���/ �"������T�

����G3�-/�.�����G/>�?#���*�7��,�_��� ���&��.�5KP/4;.�"6�L���Y/%/.�^������*�29G��_�/L�"��3�:Gj.�D�"4H6��*�Y/%/.

���H6�57�����I��.�'�

����-(�����6���9���:*�;��A*��������A.�����.�Q�%/��"�/�&*��T��.��������"����������7���k����/#G����/ �"��"6�����

�/��'�

�A*������H6��*����/.�"4H6��������:*�;������KP/4;.�������'��*�29G��I������&6��.����c���C*����"��"�����'W�e.�-�/&��"��D���

SQL Server�*���������������9H��.��#�9H������"&*+N�'���6�������*�����/.�"��-�/���.����"&*+N�A*��"H41����T�

� ��&*��� T��6���6�!*������8*�4�� ��3�� ���W�e.�-�/&�� "�ASCII� ���� ����G�����J,�!*�lg�`�<� �*���D�� ���]\�

�/���.����.�57��"&*+N�A*��;*��A*��7��������+�E�"4��")&*��?�G��"��'����/L�-�4��"��"&*+N�A*��"��9m�.

"6�74�>�"�*�#.�?4��������&6��4��?4���&&6��.��),�F��.�IHf��WHERE�&6��.���0*���*��������'

� ��cG�I�����T�_��9��!*������&�2��7cG�i&��,�����*������B����"6�7��"�/���4��I����������"&*+N��������;������/���.

`��<�"��7���<�-��6����.���������:H��.�D6�"�/40.���i&�(�O�%��&6�A��;����6����'

K�.�6����n�"���N�SQL Server������^��<�`��<�"��"6���*/���D�A������a��/�����/����������'"���.��/ �"��D�"��7���<��N�

�������"������`��<�A������a��/�����/��-��)*��'7����X�M��46�i&�(�O�%�"&*+N��.��D�"6��&;.�A*��"�SQL Server��"�

�4���(���"0�����������6����/��"1/����a�������/�����/��_��9�.��'�

�*������/��������(�I��������/�E�����&6��.�"�*�#.��G��1����������"�9N����/.�W�e.�!*����T�

�I����Collation �*��#.�"�*�#.������������� �I����

�D�/cG�I�����o�+��`��<�"��^��<���f

%� "�� ^��<� ��f� D!E/6� ��O�

i&�(3p�,�8�M5�

A = a = à = á = â = Ä = ä = Å = å

�a, A, à, â, á, Ä, ä, Å, å

�o�+��`��<�"��^��<���f�D�/cG�I����A = a = à = á = â = Ä = ä = Å = å A, a, à, â, á, Ä, ä, Å, å

U Index

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 254: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�Di&�(�O�%� "��^��<� ��f� D!E/6� �

������7*/G���o�+��`��<�

��

� D�/cG�I������`��<� "��^��<���o�+

!E/6�

A _ a, Ä _ ä, Å _ å,

a _ à _ á _ â _ ä _ å,

A_ Ä _ Å�

A, a, à, á, â, Ä, ä, Å, å

����"6��+�E��������_��� ��"�������.�q��collation�������������&6��.���0*��-��*�����������"6��'collation�QC����

�/���.�A*����&���/���.�A��;������� ��!���� �*�-/���2���W��&6�����������"�����"&*+N�A*��������/��� '�"6���&6�p�,��N�

�"6��*/��Ab4C.��*���7��^��<�!E/6���o�+��`��<�"���4�����.�A*����������_��&��.��������/�4����/�'�!*���&6��/@�

!*��������W/@S.�-(�"6�������,�����.�"������/��W/@S.�����������+,��F����&&6���G/����o�+��`��<�"��"6��4*�>�����

�&6��.�I@��7��^��<�!E/6�'�����������.�-(����-�2���M�7�/�������&9H���B�&.��*���_�/L�A*�����n�

"�)�"�)�"�)�"�)�TTTT����>��I�����"6collation�I��������-(�A��;�����?2>�A*����&�������r���C�����/���.�-(����c�����A��;��collation�I�&.�

�*/��Ab4C.�'�

B-Tree��

W��;�.�7���� F/�9.3�Balanced Tree� �*�B-Tree� 5�R/@�.�V#,SQL Server����4���� ������*�� ���;�� ��� ")H��7����

�/���.���9�������� ��!����������s������?�������[N������'�

B-Tree���,�_��� �����R�����4�>�-��6� ���M������"&*+���6���"E��t)*����!*��&6��.��;��&6��.���D�"4H6Balance�

3W��;�.�57���*/N��,�6�������"��F������D�!*B-Tree7��W��;�.��/����/��"��3�p�4f��?��>���&e���!*����"�2G��5��&;.�A*��

���>��"6K�2*�#���/���.�����"����7����A*����N��.����>���*��74���������������4�����74�!*���������������4����'�"4H6

7���3�Tree�5�+���F�����K�.�67��Q%����D�/���.��*��7����!*�?)��"����&6�"���������-(�����&6����������������N��'�

�!*B-Tree"�*���N����g�/���.�Y�����'�&6��������������HL��-�).�"�����/���.��N�A*�������"������/1���46����������N��'

�!*�������W�e.�-�/&��"�������*��_�/L�"�����/���.�7����T�

U Balanced Tree:�W��;�.�"�����&E��/0��1�7����g Root

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 255: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?)�uvU�

�-(�W�2���"��"6�����#.������46�����#.����"6����"S9L�A*��(������&6��.�����-(������/6��"������&6��.�Y����"�*���N���

��&6����M�������'��&6����M�������B����/.��C�"������/���.�-(��N������=*� ����wt�'�

/.�IHf������N�A*����&���������/1���/����������(�"��"�*���N������#��.��/ �"��")&*��-�).����*�����������������/1��?�G���x>�

�&6��.��������;���N�"��"�*��D�N�����f������N�"6U��/���.���.����'�-�).�"6�����N���"�*�����N�A����N�����f������N

������������� ��)*+�,��������>��&6��.����.��� '������N�"�����/���.��N�����f������N�N��������N��*��N�����fg�

�&6������'�*��(�7��"�������������)*+�,�������� �7���?S.�����/���.��N��������N�=*� ����'7�����&��.�������N���

�/�����/���.������V����(��N���D�"������/���.��0�(����*������������>�-(�����.���������"6��HL���N�'�

�?)�� ��� ����/���.� "6� �/C��4�uvg�������� �N� "�� �;��QC� ���wt��*��6�Y����"�*�� �N� ���?2>� �&��.� ��&6��.� ����.

�*/���.�?#�&.��*�/��-(�W�2���"��"6�����#.������46��*�����.����#.�A*��N�+��D�.����)�����"��M�A*��wt��&6��D��N�W�2���"�

��*�����.����#.�A*��N�+����������&6��.�/0��1�"6�����#.������46�*��N��.�'��&;*�QC�A*���A�*�M�"��-������� �����6�A*�

�QC���o���*������7��"�������������)*+�,�������� �?S.�-�/���.��0�(������������.�F�0����'�

U Non-leaf g Leaf

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 256: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?)�uvg�

������� �����������������K�4�<�`�<�"6��*��(��.���*�"��B����B-Tree�"4H6����Balance7�����"�,�N�W��;���&;.�"���'�F����Q�%/��"6��/C��4��A�&X4�

B-Tree���������>�7�������74������������������4���"6�7��W��;�.�?�G��A*��"���'B-Tree��&.����.�+���W��;���/�����N����

�"6��������*��&6��.����N/H1�7����-���W��;�.���f�����&6��.�",�%��7����"������*�1�����'�

7�������/���-������#��"����������A*�������������/���M��N�!*�F�0�����/���.�",�%��7����"�����������>��'����")&*��?�G��

SQL Server7��"S9L�!*��������N�!*��D���.���"S9L����#��?4��A*��?)�����"6��/���.uvl7���������-�����'�

"�)�"�)�"�)�"�)�TTTT���,���.�y�9���"S9L����#��!*���>��D�/���G��;�.�7���������/���.��0��1�!���./����/ �"���������'�����������W���"4��

�/���.�?#�&.��*�1�"S9L�"��"�#�������.��.��>����4*�>�"S9L�D����#��!*�A*����&�zhvzh���"�,�N�_�/L���>���W��;�.�7���

���.��.'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 257: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?)�uvl�

7�������/�����*����������.��{�SG����"6��*������/����&6��),����#��"��M�A*���������46��N��'�!*�V#,�-��6�",�%����1�"�

�4��"S9L�T�

� ���&6��.���0*���*�1�"S9L�!*

� ���&6��.�",�%���*�1�"S9L�"���H;,�"S9L����������C��������;�

� �C���&6��.�",�%��_�S9L�����)*�"������*�1�

� ���&6��.�",�%���G����N�����*�1�"*����!*

�/���4��:>/�.��0&*�����������.��'���&6�I��.����������7�����*���")&*��?�G��KP�4�<�7��������/�������������7�M�W�4����'

��&6��.���0*���*�1�!*���>�3����#���/B&.�"��5�/��s���<���&6���0*���G����N�����*�1�"*����!*����7��������'��N����"*����A*�

�&6� ���M�".����_�/L�A�4��"��"��M�A*�����/��QC�-(����"S9L����#��!*�k����/#G����/ �"��7��A)4.�A�&X4���G���'

�&6����M�".����"�*���N�������/���.�"��M�A*��7#�#<���'�

�"��������#���N�"6���>������.�"S9L������0*��-�*�M�'������"�����"�*���N�!*�����/���.�V#,�")&*��?�G���D��N�"6���>�

�"�*���N�!*����/���.�7�����������.�QC�!*�������#��"S9L����"��"�*�K�.�6�����"*�������"6��/���.���0*���*�1�3���)*

�4*�>�"�*���N�"��D�����#��"S9L�"���)*��5�

�s���<����������"6����"��M�"6���>���7�������/��������*���6������9&.���������am��"S9L�_�4��#��"6�7����A�9N�"�

�*�������am��A*��-�/���.��/���.�:>/�.����BSG�������/���.���1�3��_�S9L�")&*��?�G����/���.�"��/���������������#��5'�

��N/H1��������?@,�F�4������?2>�������6�����/��72SL�"S9L����#�'�

"�)�"�)�"�)�"�)�TTTT�QC����"S9L�_�4��#��")&*��������o�������.�q��_��&������.������N����"Hb�.�A*��7��W/4;.��.��!*��'�"6���>�

&*��?�G��"���.��7��"S9L�_�4��#���;��.���������"*P������6�����W��1�"*����A*�&E������"*����!*�V#,�����.������N�")

���������&�*�M��N��DP���"��"E����"S9L�_�4��#�D������/����46���&6�76�<�7�����W�<����"����P���"S9L����#��!*�

�QC���o�������F�0���A�*�M�QC�������#��!*�"6�7���&;.�A*��"��7'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 258: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

SQL Server� ����9H��.�Y�/���������������3���6�����/������� ��� ���(� "6� 5��(� "4�� �.��A*�� ��� �B-Tree��9H��.�y� �"��

�&&6��.���9���'��6�����/����������������������*���6�����"6������am�����.�������9��7#�#<����'�

�����������������$%&SQL Server#��'��()��������$������4�����/�����_��� �����*����������������H6��/ �"�SQL Server������/1��T��

� ������W��1�!*������9��

� ������!*������9��

�"6�����SQL Server�!*����1�������Query�"��"�������N��.�8�M����R�����������D^�����������-/������

�4�����/��D�Y/�JOIN�/�����/��_��9�.�W���1�+*�����'�

����������������������7�����"��M�!*������W��1�'���>��/���.���9��������W��1�!*����"6�DSQL Server�"4��W��1��)*+�,�����������

�&6��.���������W��1�����C�'�V*����"6��*���C�"6���>�Query����>�"0����"�/40.����������(���6����M�����������

������.'�

�?6��/C������������&�������W���1�����������*��:;%�|�#��7��A)4.�&����7������(� 'W�<�A*����� D��.������W���1

�&�������"�/4���J;��"��������������x*��}����&��/��'7�����.��A*��"�2G�K��2���W��1�!*��������������"6����.����*����!E/6

��&6�'�~*��7���.���W��1���&�M�^������7���B����/.�+*�Query�/�����/��_��9�.��'�

"�)�"�)�"�)�"�)�TTTT*���������9�����E�"6����+��^�<�����/����0&*������EXISTS�74�>����WHERE(��6�8*�+,��k�����/���.��*�'�"6���>�

���H4�EXISTS��&6��.���9����DSQL Server��.�:>/�.����/0��1�_��H4����6����M����|������=��C.���/6��A�G���"6���>��

�&6�'����"�����W��1������/6��-/�H�.�!*��N��/��F/���/6�����=2C&.���/.������D�"&*+N������9��EXISTS��*/1�",�L�k����

�-���/����uuuuu���/���.���/6��nNOT EXISTS�&6��.�?4���/C&�4������'�

�������������� !�"���"6���>�SQL Server7,�N������!*���� ��9���"����4@��� D�������W��1�!*���� ��9���"�2��������"��M��2���.��&E� �

�/�����/��'�

�����"&����� Query�D�"4�����"&�����������A*���������6�������������������&6��.�O��������3��?6��/ �"����6�A*�

����"6������ ��"�JOIN�74�>������WHERE�"6����.(�_��� ��������(�I�6������&6��.����.�SQL Server�7������

��"�������������7�����������'5���O�������@����"6��.��&��DSQL Server���/.�����-��6����M������������������"��

�&6��.�s����������������"6�������/6��V#,����&6��.�";1��.��B��'�I��.���������N��"6�7��A*��?2>���/.������/.�A*��_��9�

�&�������D��/�/.Query���"��7>��"E�������.�����.�/0��1�"&.��������D����/���.�wtQuery������_�/L�����*�����"4�������

�&6�";1��.���;����������"&.���"��'�

����V2��.�_��/%/.�"��"X��&EQuery���3�K�L/@�.�?@,���5K�#�4���&6��),��D�"&*+N���)H4�����/�E�"������/���.EXISTS��M�

�*�2��'���H6�"4H6�EXISTS��.���1������Query���*�"4����=2C&.����#.�!*�-��6����M�����'�����.(�7�����)H4�����*���6

�������P�����<��*���������-�4��"�����/���.�������-�/��-��4��?�G��������!*������9���D����/���.�����"6�_�/L�A*��"�

�� ��� ��� ��1�����/���.������4�����*������������*����/.��4�9�����"4���� �0&*� '�"�� ���-�.�/����*��"6�{�SG�A*�����������*���6

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 259: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��&6��4�����S.��#C&.��C*���3�������/1��7��A.��B����/.�"6��*��������*(���������*�"H��'5���������"�����F/�9.�A*������/���.

��&6�W�4���"&.���!*��������D��������������������N����"6��/������/�����>�/0��1�����������"6��*�*�+.�-�4�������.��.�"�

D��*��������������������"��x*��";1��.�����/���.���P�����3��"6SEEK�/���.���.����5������"�����'�

"�)�"�)�"�)�"�)�TTTT��"�*�#.�������������H4����EXISTS�"6���&)���),�����������H4��������&*+�*�1�EXISTS�&����3�w);G����*�'5�A*�

��0&*�������*[t��-�*�M����/���.�"��M�W��1��������"��-�������?2>�")&*�����7��2��{�SG����V#,����������������� �2����"Hb�.���

������6 �'�

� !�"�#�$ �%��� !�"�&�$'������d����������Y/�����SQL Server������/1��3����"�/����f������"�/��5��Y/��"��)�&)��{�SG�����.�������/1������T�

� �����������"�/���

� �������?.���"6����"�/����f���T

o �!*��������"�/����f���������Heap

o ���"�/�������!*��������"�/����f���������

�"��"��������������� �}�����������f������"�/����"6������A�&X4�����/�����/��_��9�.����"�/�SQL Server�DB-

Tree�������/�����/��_��9�.�Y/��"�A*��"��"�����*�4�M��.�����-���(�7��"�����'�

�"4����������SQL Server�������N�����f����N���_�S9L��'K�2>�"6��/C��4�������������o���-��6����.���������H6�

�74�"��������N�����f�_�S9L����������.�"�����/6����o���&�����'�

��������1�!*��������"�/��W�3������"��������"�/�������!*�W��1��N��5�!*��*HeapU3��W��1�!*������"6��+�E

�/���.���9������"�/�������!*�-����5�/���.�"����'�

(���"$!������)��

�����"������/1��-(��������"�/�������!*�"6�7���G��1����"�/��W��1�!*�'����������6�����/����������"�/���

���/���.���� ����.�I�����!*�����)*+�,��/ �"���������"6�7��A*��W��1��������(���am���.�'������)*��/ �"����9&.�����C

���"�/����H6�!*������9��3�cluster-key�5��/���.��*��&���&6��.����.�������"�/�������"6���/��'�

"�)�"�)�"�)�"�)�TTTT��-�.(��/1��"��k����7��A)4.�"Hb�.�A*��/��W�j�!*�D���������N��������/��"E����2����)*����"�/���&;.�A*��"��

���2����)*������")���/L�����/���.���9�����)*��/ �"���C�!*��*��&����������"�/�������!*�"�/�E�"6��������M

��,���.�y�9�����M�7�M�DSQL Server�"4������������)*�����&6��.��/20.�������"�/����&����D�:*�;��"�/�&*�����-(��N����<

��������)��'"����2�/��DSQL Server�����4�����c��������������4����9������/�E�"6������.�F�0��������6�A*�����"�/N�"���'

��&6�",�%���������)������C�����/���.�����/����N������/&��D��.�SQL ServerH6�"��������/��M��H�����/ �"����.�",�%����

�/���*��&����)*��/ �"���C�����&6�'�

U��*�����?.�6�7������

g Clustered Tables

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 260: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

Heap�Heap�����"�������/1��-(��������"�/�������"6�7���G��1��'��/.�A*�����D��*���)*�"�&��!*ID�C�3�RID�5�^����

������N�����2�6���D�C�?S.���_�S9L3�"S9L��P���"��72����C�?S.�5�/���.�A��;��'RID��%���>��V#,��"6�7����

�����"�������/1�����"�/����H6����3������"�������/1�����"�/����f������5�

��� !�"�(���"$!�(�7��)*��G��1������������"�/�������!*�D������"��������"�/�������!*�����/���.�V#,�W��1���������'���������/20.

�"6��*������/���.��������"��������"�/�������!*����Y�/���A*����*�������)*����(��������&�����'�

�"6�7��A*��������"�/�������-�/��~*��k����"6��+�E���o���&�����HL�������������"�/�������!*���D�A*��"�

�"����>��"6��&;.�A*��"����/���.�I��.�������7�����I��.������"6��)*+�,�I�����-�4��"�� �������"6�_�/L���o���

��*����(�7��"�� ����B����/.��������������F�4����6��*��� '����������H;,��)*+�,�I�����^������*�1������/6��"4�

��/���.�",�%�����"�/��'�/�����/����c�.��/��",�%���*�����/6��"6��*�1�"��"�����*�1�_�S9L���0*�����/�E�'�

��"���.�����*�1���/6��!*�����������"6��;>/.�����.�q�������"S9L����#��!*��/��",�%������������'��������/6����(�"4��

������/��",�%���H2>��*��*�1�"S9L�"���*�1���/6�������?#�&.��*�1�"S9L�"���*�>�"S9L�'�����/ �"���*�1���/6��!*�")��G�<

�����������������������#C&.�����D���/6��V#,��.�������0*���*�1�"S9L�!*���",�%���*�1�"S9L�"���*�1�'3�?)�uvZ�5�

�?)�uvZ��

�% �*!���#�$�K�2>�"6��/C��4��F��6����.������������SQL Server�!*�?)��"��B-Tree��/���.���� �� '���/b��{�SG���B-Tree�

�!*����d�"����*����������.�"���7�������74������� ��� �����������4���"��4�B-Tree��!*����������������"�/�����

������"����3�'�?)�uvz�5�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 261: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?)�uvz�

�"��-(���&����.�"6��/C��4�B-Tree7��"�2���������*��6������?@,�����������"6��*����'�A���/0��1�"&.���!*���/.�A*����

ZhhvUz\�*�����'/6��"�#��-���(�O��<�"������/6��A�G���"��A�,�������F�0����*���"6����6���&�7��"S9L�-(���������D�-(�"�#��"�

��&6����M� �����*��_�S9L�����������������.���1��P���QC�����N�!*��������� ����*��7��������/�������"S9L�'�?�G��"�

7�� ���� ".����-(� "6��*/��Ab4C.�����/���.�7�� ����I��.�7��G�A*�� ")&*�� '���;�� "S9L��N�� "6�7���&;.�A*�� "��A*�

��/��"�,�N��B������*���"6������"��������/6��/��.�"�,�N��B�����"S9L�F�4�'�

��&6���9����0&��2����-����_�S9L�-(������������������/���.�'��&6�Y�����N����8*�4�M��������/���.�'SQL Server����>�

��4����W��1����"6����"*����^��������"�*���N����7�sysindexes���&6����M��/���.��������'�

"�)�"�)�"�)�"�)�TTTT��"4������������"*��������� ��!����������sysindexes7�����&��/���'�7�4������� ��!���������4�>�W��1�A*�

3������ ��!�������"6master���N��.����>��5�"E�")&*����/.��������� �����������"*�M�������������/1������� ��!��������*

�"E���-/��&6��.����������������:*�;���*�'�

��&6����.��������������"�������"6���;��"S9L�����/���.��&6��.��9*�� ���"�*���N�8#��"6����"S9L������ ��3��"S9L

7��������.�F���QC����"6��.���5'������.�".�������"��M�A*��wt�'����6�76�<�7����A�*�M�74�"��F�N����������

�������������������������)E/6�74�>�'�

�����.����������B����/.�o���"��F�0����'�"��-�������"�/���������/.�A*�������o����������C�"��-�����&;.�"��

�/�����/���B����/.�'�

�+,�����"$!���-� !�"Heap��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 262: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�!*����"�/����f�����Heap�"�/�������"�2��_��1�����������7�����'_��9��W�<�A*�������������������1/��?��>�����T�

���o���&������HL�������D�������/���.����(�=*� ����p/�����*��(�7��"���HL����������"����N����'�?)��"���N������A*�

RIDK�2>�"6��/C��4����7�����N�!*�����������Q�%/���D���?�)���R����C�-(�-�).���"S9L7���'�")&*��"���B��o��

���&������HL������3�RID�&�����5�"��72��������������F�0�����6�������"H<�.�!*��*������"�/����D�")&*��?�G��"�RID�

������C�-�).�"��x1����H.�6�_��� ��DK�4�#��.�����.�&6��.�7*�����B����/.�����"���'�

�"H<�.�!*���&)���),������D�������k������������/���46������������!*�������"�/����f��Heap�������&��.�-������

7�����"�/��'����N��.����>������I�����"���)*+�,��/ �"������������"�/�������!*����D�������N�!*����"6��&;.�A*��

L�-(����+����������"�#����&6��.����M�7��������������"6���C���>�����������������>�"S9�'�!*���Heap�"������������f�"��

���������/�M����������*��_�/L�����'�)*+�,��B��"C#�����D�������/1����/����������2���������'�"C#�����"6�7�&;.�A*���A*�

�&6����*����?*�,�?6�����������/6���/���/20.�7��A)4.������-���/���B��'7#�#<���D*��������A*�&E�"S9L�!*��������������

K�.�67��?4�S.��DSQL Server���������(��)*+�,�-�).�-��4�,������������������/1���������A���� �2��������")&*��?�G����'���

����"�/�������!*SQL Server�&6��.�s����������������?6�"S9L�_�>�.�����!*������������.�����)*+�,�I������'�

"�)�"�)�"�)�"�)�TTTT��A���"�*�#.����")&*��������������!*�������"�/����f��Heap��������������"6�79N��*���������:@&.����"�/���

��/���.����*����-(����7����������_�/L�A*��"����"�,�N����>�x*��"B,�<������/���.�F�0���-(����-���/��"6����"S9L�'�����.�

����*����������,�%��_��H4��W�<�A*�������F�0����*�������'�

�?)�uv]������.�-�������"�/����f������!*�"H���"������*����F�0������"�/�������"H���"��"6��*/0��1�'�

���*���&��.�������������.�F�0������?2>������6�-�4��+����0&*������'��*��[N��.���7�M����_�S9L�����6�Y����"�*���N���

����/.�o���"������������������B�'�/���.�����-����_��9��"6�7�0&*�����'�:>/�.��0&*�����_��H4�����"�/�������!*���

�*����F�0�����������*�������6����"�/����f������!*�����.���/���.�'�!*�������"�/����f�������N�Heap�!*������

��&6�76�<�/H1�"���*�����*��"H<�.�'RID3��C�"�&��5������&6��.�";1��.�-(�"������6�s������o�����D�����"6�7�0�(���

���������>��HL������'��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 263: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�?)�uv]�

��� !�"�(���"$!������+,����(���"$!���-�(�� ����������&6��.� ���M�".����_����������"�/��W��1�!*�������"�/����f���D�!*�������"�/����f�������&��.�7��

Heap�D����f�$/C�&6��.�?4�����"�/��������&��.�������N��'�"��"6���>�����_��9����o���/�����/����/��.�������'�

"�)�"�)�"�)�"�)�TTTT��QC�"��-���������o�������#�4��_��9��K�2>�"X�(�����&����.����,�N���*��D��&6�";1��.����*�������"���*����0�(����'���

��������"����>�����"�/������o���*�����.����,�*��.�����HL�����������'�����������!*�������"�/����f��Heap�"��

��6��.��*�4&�����������"������.�"6��*��6��.����M�������"�&���.���*�����4���HL����������'�����������������"�/����f��

"�/����H6�!*����"�/��W��1�!*3�cluster-key�5��&6��.����M�'��-(�"H���"�����"�/������������9���������,�6�_���

�*����'�

��?)��"�� ���"�9N�IG�C.uv���";1��.�Y/�� ���k����A�&X4���� �/���.��0&.K�.�6���� ���$�C.�W�e.� ����/���.�_��9�.�

�*��6�Y����/0��1�"&.���!*����F��N�*��D�������/������/�����>��0�(������7��������/�������"��";1��.�!*�������"�/����f

�����������"�/�M�"&.���-��6����M������&������������|���"63�LIKE ‘T%’�5��&6�/0��1�'����R������"C#��"��"6�";1��.�A*�

���&6��.�";1��.�����seek�����F���'�

�/���.���f(�F���Y/��";1��.�wt�D���"�/������������9������";1��.�'�x*��������F���";1��.�7�0&*�����V#,�?)�.���7�

�/�����)���*�������A*�&E�?4��A*��"6�'���&����.SQL Server�&6��.����*�������7��G�!*������"��W���";1��.����3���������G

F���"4������"6��*���T���/���.�Y�����5�#C&.�7��G�A*���.�������d�&�.������".����}����������"�/����H6���D7�6�������������/

�?)�����"6��/C��4�uv\�7��"��N��1�";1��.�!*�"�������7���������-����'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 264: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?)�uv��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 265: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��?)�uv\

��.��*��6��.���9������"�/����������V#,�"6���>��"��72���������������k����";1��.�A*�&E�"6�7����A�9N�"��s���<�

�/��'������/0��1�A�G���D�������������"�/����f����D������46��#C&.��������/��"�������'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 266: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

W�e.�-�/&��"��D�����G��1��N�Uhhh����"������C�������7*�������"�������������?)���&��.����";1��.������3��"6���&6�p�,

z��*�]�/���.�����7�N����C��5����"�/����f���������_��� ��-���(�7����������6�A*��F�0�������Uhv\�/����#C&.�-��

������/��F�0���'�*��������"�/�������������C�"��";1��.���.(�����"4��A*�����'����(����F��6���������_�;1��.�"&*+�l����Z�

��*��#C&.�-���/�gZvUz������/��",�%��-���/���'�"��"Hb�.�A*��"���.�������B��"��o�+����*��W����������7��A)4.�"Hb�.�A*�

*��_�/L��&6�������T�

-���/���?>��<�����#C&.����l��e6��<����gZ�&������c�.��D�"G+&.�"��"Hb�.�A*�\hh�D�/��F�0����*���"6����6����8*�+,���L���

7�'�

���1�"�����"�/����f�������*��#.�"&.����*������B�����W�<z��*�]�C��Dzhhh��*�]hhh���+���@����*��@��M���<��*����C�

������CD��/���.����c��"Hb�.�"6�7�0&*��'�

"�)�"�)�"�)�"�)�TTTT���������4���*�2���,�%�������A*������������������"�/����DN�_�)�������9����������4���*�2�����"�9��������`�@&.�

6����"�/�������������"��-���/���B��"C#��������"�/����f������"6����������������@>��0&*�����V#,�")H���&67��������'���

���/�� ��� ����@���KP/4;.3������ �/1���*���&e��� "E�N� 57�� ��� ����"�� ";1��.������ ���A*���x*�� '�Q�%/��?@,�".���� ��

�/����9����*����06�����@����"E���������/��'�

��*+��,�-./�0�1����"��#����&6��.�?4������� ��!����������"�#���&��.�����0&*�����'���6������"��N��1��/ �"�����F��6������*��������CREATE�Y����

��&6�'�

���������6���0*��-�/���.�=*� ����"������T�

� ��/���=*� ���CREATE INDEX

� ��/���.���0*����>�"6��.��&��"���������!*�-�/&��"�

����F��6����wM�����������/��"��|/��.�����N~*�����/.�A*�����F��6�����&6��.������"��N��1�'�

��$���CREATE INDEX����/��CREATE INDEX�&6��.�?4������.��B��"��"6��/C��4���D�"*�M����R���W��1�!*���� ��������!*��/���A*�

���-/��&6��.���0*������6 ���'�

��)�������������(�-/&6���"6�7������/.�?.�����7����P/ ��46��/���A*��������*���T��

CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]

INDEX <index name> ON <table or view name>(<column name> [ASC|DESC] [,...n])

INCLUDE (<column name> [, ...n])

[WITH

[PAD_INDEX = { ON | OFF }]

[[,] FILLFACTOR = <fillfactor>]

[[,] IGNORE_DUP_KEY = { ON | OFF }]

[[,] DROP_EXISTING = { ON | OFF }]

[[,] STATISTICS_NORECOMPUTE = { ON | OFF }]

[[,] SORT_IN_TEMPDB = { ON | OFF }]

[[,] ONLINE = { ON | OFF }

[[,] ALLOW_ROW_LOCKS = { ON | OFF }

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 267: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

[[,] ALLOW_PAGE_LOCKS = { ON | OFF }

[[,] MAXDOP = <maximum degree of parallelism>

]

[ON {<filegroup> | <partition scheme name> | DEFAULT }]

"�)�"�)�"�)�"�)�TTTT����0*���������*��"���.�������!*���������XML��6�����/�������?@,�����������"��N��1����-(�"6�������/1���'�

���/������������A*�CREATE <object type> <object name>K�2>� ���-(�"6��/���.���f(�����/.� �.���*����6������

�"6��&�����*����.���M��HL�K�2>(��*���*����������'�

�N�*�� "�� |/��.�?@,� ��� "6� �/C��4��� �/��� "���,�%��74�>�!*� ������ �/20.� �*�� ����/�� ��CREATE���� ��&6� ",�%��

�74�>�������/.�A*��"6��/��W�4����N�*���*�W��1�!*������*���"6��&;.�A*��"����7������9&.����!*������"6��&6����.

�ON��/���.����.��'�

���;��74�>��ON <table or view name> (<column name>)�/�����/����������+�E�"4��� '������� ������/.�A*������/���.

��&6�I�6���'���������9���_����"�����"&*+N�A*������J;�(��6��������*����am�������*���J;������*����wM�������������*

��&6������"��N��1����F��6�'�

ASC/DESC�

��&6����.���������-�/���G�+���*���/;L�I���������/���.�"&*+N�A*�����'�"&*+N�A*��p�,�8�MASC���/;L�I�����"6�7��

7�������/����4��"�����'�

������^/);.�����I��.�"�������"X��&ESQL Server�?���.�W�<�A*������.���*������B�������������!*�"�������/ �"�����/���.�

��&������N���A*��"�'�"4�������I�����A*���*���������"�����-/��!*�V#,��N�������!*����^/);.�I�����A�,�N��B����

���-/��/�����/������/��W�4����D�"�����,���.��>�9���"E�������"����������!*�����2�6������*���I��.�"��s���<���N���.�

��/�������������N��"6��&;.�A*����,�����/���>�9���"E��G�+���/ �"����*��-/���.���/��I��.���/;L��/ �"�����-��6�^/);.

�-/��!*����������"6����.���/��������������������"6�/��.�k����������������^/);.���*������/��I�����"6

������/�'��&6�A��;����/;L� ���-/��!*� �S*�L� �4�� �N��� ��*��-/�� ��+�� ��F���-/���)*+�,����� ���D� ��&6�A��;���G�

����&��/��^/);.'�

x*��W�e.�-�/&��"�� D�-��&.��6�7��G��*���"6���&6��/@�� ������N�}��+N��/*��&�!*H�/�� ���A*���*�1���� ���(�y/#<��*����"

�/�� Y���� �*���3��G�+��I����� 5� F���^����� ��� ���(� "6� ����/���.�A�&X4�� �.�� ��&6�I��.��&6�I��.� +��� �N��/���3��I����

��/;L5�'��H2>�����"�������SQL Server����F�0���_��H4*�����/���/20.��DF���-/��������)*���W���-/��������)*�'���

�I�6�����������������*[M�`�C;�����������)*+�,�I�����W��&6�A�������-/�7��������/���'�

�H6��/C�����"&*+N�A*��7��������&6������/��W�<�"��3�����A���M�����"����������N��������������"������ ����'5����/.�����J;�

�?.����&e��T�

� �������"�����-/���&E�����G�+������/;L�I�����A�����"��s���<�

� ����2�����"Hb�.�A���M�����"����������N��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 268: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

INCLUDE������"&*+N�A*�SQL Server ghhz���",�%���F���"�����/.������������2���M�-(�`�����7��Query�7���9�.�����'�

�"6���>����-/��74�>�������INCLUDE��&6��6 ��DSQL Server�&6��.�",�%�������o���QC����������(��'����")&*��?�G��

�QC�����C���o��7�������C�!*�����d�&�.������!*���D������������.�F�0���"6����6����F�����������-��6��6 ����

���o��7���������'���&6��),���/.�A*������N�KP�4�<��"6�������.�^�<INCLUDE�"��V#,������������"�/����f��

�/���.�W�4��3��������������o�����������>����"�/��������5'��

���>��"6���6�����/�������O��6�A*��".������SQL Server��"6�����/.��&6��.�:>/�.�����6����(�7���������������'��N��A*����&�

�-��6�W�2���74<����*�����(�7����HL�������C�-��6�W�2���-������������s���<��"6��*�������"4�������8*�4�M�F��&����

�������/����/��"����������C'���������R���-/��!*��6 �����7��A)4.�!*Query�-(����"6����QC����R��������

�����6��9�.����o���_��H4����I/O��*/1�",�L������-(��N������"��|/��.���&6'�

"�)�� T� T� T� T������"&*+N�A*�������9����� �I>��.�'������9��INCLUDE�+*�����o�������.�8*�+,�� ��������_�S9L����� '�A*�

��N��.����>�"S9L����������46�����C�"6�7���&;.�A*������A*���������I/O�������������C�-��6����M��������������'�"0���

�!*�"6������"�/�&*��7��A)4.Query�&6��.��&6����"�#����x*������'�"��V#,�"����&6��),��������+1��"4��"�Query��L���

��&6��.���6�-(����"BSG�A*�����"6�'�

WITH

7�����������"&*+N�A*��DWITH�"��SQL Server�&6�W�4��������&6��.������".�������"6����"&*+N��&E��*�!*��*/N��.�'�

PAD_INDEX�������7��G����D�/���.��6 �������"&*+N�A*��D�"6����6�A�,�N���*�����.�PAD INDEX�7��A)4.�"&*+N�A*�������.�F�0���

��"��I�0���46B������'"L����/C��D�S9L��&6��.����.�"&*+N�A*����0*�������"6�����A�G���������N�����f�QC�_

��/���M��&��/���.�������"E�����/���.�'�����������L��������4�PAD_ INDEX�"6���L�������"&*+N�A*����*����&6��4���6 �

�"&*+N� ��FILLFACTOR�*��6��6 �3���&6��.������ ���(�".���� ���"6� 5��&6��.���9��'�A��;�PAD_INDEX=ON���-��

������9��FILLFACTOR�/�����/���&;.����3�����?2>�"&*+N�A*��-����6 �"6FILLFACTOR����.��B��"��I�0��5�'�

FILLFACTOR��"6���>�SQL Server��/���M����/���.���46���/6��������p�,�8�M��/C��_�S9L��&6��.���0*����������!*�����A�G����'��.

�"������/�FILLFACTOR��*��#.�U����Uhh����������'�?�4)���������0*��_��H4��"6���>��_�S9L�"6���L�������#.�����A*�

�&6��.�A��;�� �����/���M��&��/���.����'������"����������D�_�/L�"������/&��_��� ��"S9L����#��F��&�����������"���������

zhvzh��/���.����#���'��_�S9L�-����M��L���������A��;��������*���������������*�����/��������'�

���FILLFACTOR ��&6���9���"S9L��6������B&���/B&.�"���'�����/.�*������B������*��_�/@������&*(��.�8�M�"6�T�

� ������!*��N�OLTP����#.��*����*����FILLFACTOR ��&6�A��;��A�*�M����'

� ������!*� �N�OLAP���*�M� ������ �����!*� �*�3���_����c��{�SG�� D�6� ������`[<� �� ",�%��W�4��� 5�*���� D����#.

FILLAFCTOR��&6�A��;��P���7��A)4.�"6��*�1��������'

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 269: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� ����*�����;���� ���&6��������C/�.�-�+�.�"X��&EQuery *��������+N�������B�����-(������ ���V/�.����#.�!*��

�*����3'A�*�M���*��"����P�����*��"�5

.��N���&)�����.��������#�DSQL Server��6����/���M�"S9L��������C�!*����#.�"&�46�����46��C����������"S9L�3��"�

��4���C��N��W�e.�-�/&�\hhh��������>�"S9L��������C�!*�����/���.��4�������"�����W/ ���6���6��5'�

IGNORE_DUP _KEY�"&*+NIGNORE_DUP_KEY��-���"#<�����������7�������"�'���>��/���.�k����"&*+N�A*��"L����/C�UNIQUE���,���

�����"�����?2>�"��72�������9�.'�

KP/4;.��>�!*�DUNIQUE�������*�UNIQUE�����4�������/�������������)�����#.�������1���D�����&6��;���&6�����N�

���>�"6���/���������)�����#.�!*UNIQUE���:*�;��-(������8&6�����&6�",�%�������ROLLBACK ��B����������

�/���4��"�,�N�'�"&*+N����"6���>�IGNORE_DUP_KEY�*������/��_��9���46���&6��.���9����'�7,�*����C��F�c�M�!*��4�

7���&�������������C��QC�����C���.��D��6�����/��D�/���4��",�%����/6������/&�'�

�D��(�V��/6������/&���/���4��",�%���������B��"C#����IGNORE_DUP_KEY7����.��������'�

ROLLBACK���*��������/���4��W�4���8&6���3�����<���C��!*���0����,�*�����C��D7���&���������5��.������)���C

�/���4��"�,�N��B����'�

�����F�0��������6�A*���*�����E��*�_�/@������*��#.����7�������A*�����#.�-��6�",�%������;�"6���&6����"���.����&6���� ���)

����������".�L����������)�'�

DROP_EXISTING���"&*+N����"X��&EDROP_EXISTING�`[<��*�1��������0*�����?2>�������.�F��������/1/.���������D��&6���9���

�/���.�'����"�/�������!*�������(�"6��.��&��"&*+N�A*�7��-(���������0*���������`[<������6���6�'�"����!*�"X��&E

�#�>���*���������������/1/.���������"���.�DSQL Server�Q*�L�`[<�����0*���/���!*�"6���>����������.�����������f��

��6���N�����������"�/���&)�����L����C�:H��.�����).�-����)���"���1���<�����������f�����������"�/���D��������N�

������9�������������DROP_EXISTING���������c��DNCI��������";,��!*���������0��������/���.�"�'��4����*���/���

���0*�� ��������`[<���� ��9��� �����<��K�e.���>� ��� ��4�������!*�-��6���!*FILLFACTOR����������M� ������.

��&6'DROP_EXISTING������/1����6�A*�������'�

STATISTICS_NORECOMPUTE��p�,�8�M� �/C�� DSQL Server� /G���1� ��� ��.(� ��������� "��M� -��6� ��6�/�� ��� �;�������������� '�"&*+N� O������ ��

STATISTICS_NORECOMPUTE������ ����.(����������W/b�.� ��� �/��"6���&6��.�A��;��� '-��6�W�;,� ��f������A*��

��/����*���"&*+NUPDATE STATISTICS�"&*+N������9���-�������NORECOMPUTE��&6���1��'�

K���6��A.���&)����9���"&*+N�A*������&6��.���6m��D��&&6�"&����")&*��?�G������EQuery���6���9��������!*�"��|/��.���.(����

�!*�����������A*��"6���&�2����QueryE����R���7����9.�������"�'���������"6��.��&�������!*���.(��"���*���"�,�N�"����

�4�����/���.�����������-/��!*�����@��.��*��#.����/���.�����-(���&6��.����c��'�I�6������������"Hb�.����A*��"6���>�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 270: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

����"6�7���&;.�A*��"����.(�-��)������������"6�����*��.������&6��.����"&Query�D��������"��|/��.�_��� ��-����������(

�&6��.���1��'��/���.������������B&.��/C����.(�"6�7���&;.�A*���!���./��������������N~*��-��6�W�;,3��"����_����c��A*�

7���&;.�A*��"��"&*+N�A*��-��6�W�;,���f��/C&�4��7�4��W��1����_����c��_��9����7���.�"���������������4��_��� ��"6�

��/��������&2��.���/C������������/20.�_�/L�A*��������/�����/���4*�>UPDATE STATISTICS&6���1�������'�

SORT_IN_TEMPDB���"6��/�����/����9���?��>���>��V#,�"&*+N�A*�tempdb���<�_��� ��!����"6��*�1����"��N��1�/*��������)*+�,��/C��������

����������� ���������>��*�1�'�"Hb�.�A*��"������/6�����V#,�74�>�A*�����A*����&��7��������*�.���6�"C�<����"&*+N�A*�

�"6����.��V#,���E���7��E�"&*+N�A*��"6tempdb�/�����/����9���?��>������������ ����"��N��1��)*+�,�/*��������'�

���>�SQL Server���!*��:H��.�?<��.�A������B�� ��� �/B&.�"�� ���-���/��?4��A*�&E�7�� �/20.��&6��.���0*�� �����

��F�0��������7����T�

U' �HL������ ���� ��� �C���� ��� �d�&�.�o����C�!*�A������ ��� ����"4��-���/�� D����HL������ �����&��.�7��

�*��������� D7>/.�������� ���������S9L�"�����/.�A*�������.�� '����.�_�S9L�A*�� D�������*����_�S9L

��������.�"�����>/.��/C�������+�E�?�2>�A*���/���.��M�����I��.�����,���"6��.��&��"6��&�����*�1�")H���&����'

g' �&6�F�f���������*�����N���_�S9L�IG�>�����������������.�_�S9L�A*��"6��/��F�0����*������*��?4�'

l' ���f�_�S9L�"�����N���_�S9L�-�/&��"��"6��N������������/��.�A6�'

�"&*+N�����N�SORT_IN_TEMPDB������� ����(�������� ��!����"6��)*+�,����H*�,�-�4���������.�_�S9L�D�/�����9���

��/���.�"��/������D7���"��M�V/��A��/�����;>�����������-���/��"6�7�&;.�A*���"�9N�A*�7�����&��/��7��>���'�A*��"6

��*����/.�"6��*�1����_��9�.��*���1����!�*���������/���.�k�����/��"�/��"��"Hb�.3�A��/���*�-���/��5�/��?#�&.�����������'

*��"0����4����!�*��������"6��/�����/��A��������-�.��`�L����7������.�"Hb�.�A*��"6��&6��.�76�<�I#����/H1�"��'�

���"&*+N�����N����*��`� �SORT_IN_TEMPDB��������� ��!����?*�,���0������.�_�S9L��/����9���tempdb�"��/��

��/���.�'7�������/����/1��A��/����-���/��W�4���A�������>����*���&�������"��N��1��)*+�,����/*����������(��N��'�W�<�A*����

������"����������D>��V#,�"&*+N�A*��"6���tempdb�&6��.�?4������������� ������ ��!����?*�,����"��N��1��HS.�����D���f���

������7��>������/&����7������d�_����c��_�/@&*�I/O7�������/���/1��'�

"�)�"�)�"�)�"�)�TTTT�����N��SORT_IN_TEMPDB�����,�6���J,�"6���&6����M�-�&�4 ����&6��.���9���tempdb?*�,��������+�������/1��o

����'�

ONLINE����������"&*+N�A*���N�ON��&6���B&���D���W��1�"��-�����6���������x��.�"6�����H9>��������������>�F/4��^����������W��1

�&6��4����0*���/���.������'p�,�8�M��/C��D�"������������"�����W��1�"���,�6������")&*������������"��|/��.�W�4��

?9>3��/�����/���G��1�?9>�!*�"6�57�������/��'��/���.�xC>�W��1�"��-�����6��������6�A*�����3'���7���>�&��!*�A*��"H�

�^�������s����W���1���&6���6�-(��������/���.�"6���>���.����&6������9.��������� ��!���������&6��.���0*�������!*��4�

�/���&��/��5�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 271: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

*��7��A)4.�-/&6����&6��),�"�/�&T�O/��������D7�����H)�.�D���0*���H)�.�-�����6����������&6��.�W�;,����"&*+N�A*��A.

�/��'�7����������),�A*��79N��*����.���'��������*��+6�4��"6�7���H4�������7���������"���������I/O�A*�������"�����

�/�����/����[N���am��-�����6�����{�SG� '�-/&6��?�G���"6��,�%����������(�"���&6�",�%���/���.���0*�������7���'�"���N�

SQL Server�����"������������0*��F��&��W��1������,�6�VH����������1���D�-�.�����/���.���0*����;*������������

������/����46����������N��.����>���am��7S�������"6��H6'�

"�)�"�)�"�)�"�)�TTTT������W�4���ONLINE�"�������V#,�Enterprise����������2���M�� '�"&*+N���� �����0*���/�������/���.ONLINE����

���.����S.�-�����6���������/���.�"�,�N��*����"&*+N�A*���.����&6���1���.�"������*��/'�

ALLOW ROW/PAGE LOCKS���7�����"�,���M�������F/�9.�"&*+N�A*����Q�%/��"������������������'�O��6�".���������?9>�V#,��0&*������.����&6��.���������

������.�"���������A*��������Q�%/��!*�'�

��?9>��������O��6�A*��������*������4�>����-/&6U �*��6���9����'�"6��/C��4��K�2>�������1�!*��&��.�?9>��������Q�%/���7�

�����E��t)*�����>�&�����"6�&6��.����N/H1���'���B&����ALLOW�"�/��(��������1��������*(�"6���&6��.����.����?9>�

�4����������*��&6�W'�

MAXDOP���"&*+N�A*��"&������������������_�4�B&�����.����>���a���7S�������A�����/B&.�"���������/.�"1���'��+�E��������/.

?.�6��/C��O��6�A*�����"6�7����.�$�C.�-(�"��x1�������/6�Q�%/���0&*������.���&6�72SL�-(�"��x1�����&6��'�

��&�����*���"��M����;���������/.�"1���"L����/ �"��"6������ ��!����_��H4��!*�����&��/��.3�����7����0&*�����5

�&����r���.� '�� �/1���������/.�"1���"&�����F���"���4����_�4�B&�� ����)*����;���������*���S.������.� ��1��"6����

��&6����S.�����/�����������"�����"��M� '�"&*+NMAXDOP�"1��������.���1��"6�7���������0*������"&*+N�����)*�

.������46��*�����������������/.��&6�A��;������������B&�����#'�

ON��SQL Server�"&*+N������9������ON4��"����������.���1������������&6���� �������������1��HS.��������'����/���.�"&*+N�A*�

�����IG�1��B��"C#��A*�&E����'�

� ��������/.���J,�������������/���.���6���9�����*�����/*���������'

� I/O�����4�����>���am��7S������)*+�,������������*���������_��H4�������'

G�C.7��"�,���M�������"&*+N�A*��W�<�A*������.��������/1��"&*+N�A*��"��x1������*��I�'����(���9���������"��������"&*+N�A*�

��&6��4�������O��6�A*��������"&*+N�A*���[G������������'�

U lock

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 272: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��*+�����"��#��XML������������XML�����*�1����/.�����)*�SQL Server ghhz����&�����F�0��������6�A*��7,���)*�.�")&*������&6�`�������*��

F���W�S�/������'�"&�.�����"6��*��4������������SQL Server�����&�����7�G�;,����/.�!*��������[N������������H)�.

��&��.�������-���XML���/��=,/.���6�A*��������(�����46����;�������/��"1�/.��'&�2����������*�����������[N��������XML�

�/���.�F�0���"�/�E�'�

�-/&6���")&*��?�G��XML7���������74�"���.�?*�4���������0&*������*����)�������=�>���/C�� ���� '�������7#�#<���

���0*�XML�"6��*���"&*+N�"4���K�2>��/�����CREATE�+1�"���*�*��ONLINE,IGNORE_DUP_KEY��.����2���M����

�&6�'�

���"6����"C������������`�����*�*��-/&6�DXML7��������-�������������������'XML�����-��6����.��������������

�&6��.�����,����_��� ���0&���2������Y/��"6��/��V2��.�/�G��!*����/���.�A�&X4�����&6��.���9���'�������-����7���.

�-�/�XML���������U�_��� ��������.�

g �����M�!*�������������N�A�,�*������XML�����������'���*��`� �����������

��&&6�����,�-(���������.�������"6��������;�&&6�I��.�+���������������D����.��B��"���>�&��A*��"6�'�

�����/���.��4�����������������*���-/��Y/��"6��*XML���&6���0*��������'�������/.�?.�����6�A*��F�0���������HL�����*�&.�

��*��&����T�

� ��H�,�?.���"6��G��1XML��������"�/��������������*����*��[��������-(���������/���.�"6�7���'

� �")&*�����?2>��������-/������"*/��a��XML������!*��*�����&6���0*��XML��HL��l������"����'

� ���������XML��.�V#,�������&��/����-/��Y/������XML�/����0*��3�������XML�7���@����Y/����&��

������"�����Y/��-(���������/���.�"6'�5

� �-/�XML�����"*�M�W��1������4�>��*����D�������/���4���&6���0*���N�*��!*���������@�'

��.��� !�"XML�������"6��@����A�G��XML��"���*����/���.���0*���/��:*�;���HL�������-�/&�'��&6��.���0*���HL�������!*���>��D

SQL Server�����N�������"*�M�W��1����"�/�������"6��&6��.���0*����*�1����"�/�������XML��.����.��4��"6

�&6��.�I�6�����&6�'�

� !�"XML��,$'�/���������/1���0&*������L/@�.�+�E�D��&��.�����������"�/����f������6��.����.�������"�/����������"�/����H6�"6�D

���������XML��HL�������"��+���"*/��a�XML�K�2*�#��&&6��.������=*� �-�4��"��'������!*�"6���>�XML���0*��

����8����������/���.���&6��.gZ\ ������XML�-/��-(�������*��XML��&6���0*���'�

U Navigating g Path l Primary�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 273: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

���0,���� !�"��$�1������� ���.� ��/.�A*�� "��A�������>�9�����*/N��.� '����� "����� �/1�� �0&*�� ����*�2�������"6��&;.�A*�� "�� "�� D��>� ��� �N�� ")H������

��/���������0�(�"6�7���/20.��������'�"6���/C��F���*��-/&6����������*�����������/.���������������/1����������"6��*

���������0*��}���A*��"��';.KP/4���������*�.�"6�7���&;.�A*�����/.�A*�3��*�5�F/�9.���������-�<�� ����������� ��

�������'�

�7��A)4.�W�<�A*�������������!*�"�/�E������.������$�� ��*��*�.�"6�7���C*����-(�����&6�����.��������N���!*

��.���&6���0*�1�����������*��@����"E��*/�*����/�4��&&)�.���6�"�/�E����������/�'���/��7�;%��A*��"���&������)�������"�

�/��.�'��&����"���������9�.�F�����@����"6����.����SQL Server��6����/����0*���4�������������(�'�

�������/���.���0*����/���.�",�%��W��1�!*�"���*����>��������)*�"6���>��-�.�/�����T�� PRIMARY KEY� � ���>UNIQUE�

������������*�����;��-/&6CREATE�*��6���0*��� D��&6��6 ��,�%�����S�%/���0&*������*������@>�A*����&�� DW�<�A*����� D��*��

�����"&*+N������f�"�����"&*+N�"4����&6�"1/�{CLUSTERED| NONCLUSTERED}���FILLFACTOR��0*��F��&������

�/�������!*�-�/&��"�������!*�.�����0.���>�����&��'�

���(23#$��4�5����6�728����������9��#��&�����*8�0�:;0��&����&6��),�-���/�����7��A)4.�-/&6���"��4��A.��������&6��.���0*�����"�/������"C����A*��������*����O/��?*P�

��+����H*P��"6�������"������ �����.���������/1���6�A*��F�0���F������������/1��'�

��W�<����"���.��7��������6��/����0*���*�2����/��"E����/����0*���*����@����"E�")&*��O���������(�O������"����4@���*�

�*����'��������"��������"�/�������!*�V#,�����/��.�V#,��4��"6�"Hb�.�A*��"��"1/������*����7��A)4.��4����(���4@�

�����7�'���A*������F�0���"���&4�/��O������!*�"C����A*������*����4��"6�7�&;.�A*�'�

��2+<�������������3�~*/�����������"�/����f���5��2���"6��;>�/.������&������9.��&��/���.�������/1�����������*P����&*+N�"��'�"�

)*�"6�-/������*��#.������L����������0&*������&*+N�)���&����������.����'����7������.�-/��!*����)*��*��#.��P����L��

P����L���������������&.�/����&*+N�"���'�

�74�>�"���������N�����������"�/����f���D�L/@�.���74�>����������D���"�/�������!*��������"�/����f������

������"�����'�4�<������f������"��";1��.�"6��*��(��.�����7����6�W���x>���������"�/�'�����"���*�������/&���4������"�/�

��&6�";1��.��;>�����������-���(�7����/B&.�"�� '�!*��������"�/����f�������N����<Heap D������?4��A*�&E��*���

�����F�0������-���/��"��N��1��)*+�,�'�

"�)��T�������&*+N�"������&e������/.�����)*����H6�&�����1�����'������1������H6�!*�"6��������/���������4��W��1��N��

������&.�/����/��.�-/��A*�����������!*�A�������*��������W�4�<��"�'�`���IHf���1���������H6�"6�?�G��A*��"�����E�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 274: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

join�&��������'.�/�y�SG��_��H4������&��/��.��&*+N�"��A�,�N��B�����-������@�����2�6���y�SG����1�����(���*���&�����&U���

�&���.'��&)�.������y�SG��V*����A������/B&.�"�����(������(�7�������C�!*��2�6���y�SG��!*3�-(��������y�SG��"6��+�E

�*����F�0��'5�

"�)��T�����"������/1��W��1����������" /��.�����/������*��@����"0��&E���������/0��1D��/�����/��x*���������C����'

��.��D7����+�E�"4���&*+N�"��"6�7��A*��7�4���+��<�"�)��������4��"������4�.�?���.�'��/2���1������H6��B����/.�-/���N�

7,�N����/�����>���9�����/.���#E�"6���&6�������*��'�

����������2+<�6�$#��'���+��78��8���;0=������"����������"6�7��7���"6�������������"&*+���������������c��F��&������.���/���.�����-���/��7���8*�+,��k����

�&����'��*��6�W�4�����������������c��"6�-�.������������"��|/��.����/�������������*����������-('�

��C�!*���>��"4������*����*�1�"*����!*���&6��.���0*���*�1��������/����0*���4��W��1���'���C���>��������"���������

�/���.�F�0����C�-(���������0*����`[<�"H�/�����c��A*��������.����c�����D�����������������/�������������*����'���>�

�"4����&6��.�`[<�������/6����������&6������������*�������'���0*��"6��@����������������"*�������r/H��!*���&6��.

��&6��.�",�%���������������'�

���2�����"H<�.�!��7��A)4.����"*����-���",�%����&6�"1/��'�4�<��"6��*��������B-Tree�����QC�A*�&E��'����c��"6�7>����

�QC������o������N�����f�QC����������/1��"S9L����#��!*�Y/>��W�4�<���/���.�W�4�����&6������I�&.�"S9L�"����P�'�

_�>��� ���N� D7�� ����� ��6� ",�%�������!*� -��)�� ��0*�� '� O������ ��6� A*����� ��� _�>��� ���N��������^��� ���

7��W��1����7�����9������&��������%��4������������"6��*���&6����'�74�>�8&6�����6��*(�")&*�WHERE����������

�"E���-/����*�&6��.���9���7���������/.�I������*(���

�����#$��"��#�4�5����������*���wM������"&*+N�!*��0&*�����"6�������"�����������&6�?4��"���&4�/��-(�O�������'�

��4���HL����H6�p�,�82M��/C���/���.���0*�����"�/�������!*����'7�������-(������9��������-�).�A*�����A*���.��

"��4��"�3���/�������k����7��A)4.��;>�/.����7#�#<���5�D�������/�����/������>������F�0���"�/�&*�� �������6�"X��&E��

��&6���0*�����*����1����������"�/��'����p�,�8�M�"��4��"6�F/���6[�.��*����1�A*������&)��W/2>�'�����HL����H6�"6���>�

�"����&6��.���0*��.�A*�K�;>����*(�"6���&6��),�"Hb���&6�:*�;��+������"�/�����������/���.�'�

��������c�����p�,�8�M��*������4@��"X��&E�D���&6���0*���HL����H6������4��������"�/�����������/���4��"6��&;.�A*��"�

����H6�"4H6����7���,�6NONCLUSTERED��&6���9���W��1�:*�;������'e.�-�/&��"�W��T

�CREATE TABLE MyTableKeyExample

(

��������Column� intIDENTITY

������������PRIMARY KEY NONCLUSTERED,

��������Column� int

3�

U�Merge Join

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 275: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�����0*�������"6���>��D7��-(�A�����������`[<�-(����c�������&��'��&6���0*�������"�����(����������7�������A*����&��'�

�������-/���N��"6�������"��3����-/��*�5��������c����������>�-(��������"�/�������"6�'SQL Server����7�������/�������

� ������ ���W��1�?6K�.�6������ '������C����/�H�.�?.����G��1�"6���&6�"1/��-/&6�� D��*������*����������������p�,�A*�� ��

��/��I��.�'��A)4.���/.�A*�����A*�&E�7����A� �"��W�j�T�

� ��)��W/ ���6�A*��7��A)4.���#E���������/1��-�.��A*��8��6��������/�������������2��.�����/���.���6�A*��'

� 7���/1/.���6�A*��������,�6���J,��*(���"�����"�/�������!*�-��6�I��.��������/B&.�"��"6�������"���������

�A�����.��/ U�g�������7��������J,�7����6�W�c���-/&6�����W��1�"6�����#.����������'�A*�������o�+��W��1��N�

�������*�����������/���.��J,����#.�DK�4�<���6�"��Y�������?2>�wM��*/��Ab4C.��,�6���J,��/1�����'�7�G�;,�A*��"4�

�/���.�F�0�������� ��!�����/�����DA*����&��D"&�����"����6�A*����� ��!���������"6���������#.���*����6�A��;���

��*[M��.���am�'

� �"&*+N�����*����*(SORT_IN_TEMPDB�"X��&E����&6���9���tempdb������ ��!����"6��*�1������1�/*����!*����

�/�����/��72e.�O�/1������"������/1��+����,�6���J,���"��������>������� �'

�,�23�����������������"�/���Query����"6��*������-/�����&�.����@����������&&6��.���9��Query��.�"���&�����"&.���

�&����"&*+N�A*��������/��'�Y/��A*�Query��/���A�������� ���BETWEEN�����.����*��������/���.�"���&��� 'Query�

����"6��*��Group BY��;41�x��/���*�MAX�DCOUNT,MIN��W�e.��&&6��.���9��������/�����Query����"&.�������&����

���������7��I�&.����(���������"�/����'�������"�/����!*�������/���.�/0��1�"6��&����I�&.�?�G��A*��"�����

*[M��.�-�*�M��0�(������".��������"&.����������"��"6����.������Y�����)*+�,������������R���"C#����'�

�A�&X4����������&6�I��.�"�/����H6�^������ ��� ����������/���.�"6����.�����"�/���3�������9��� ��ORDER BY�5

�&�����G��������'�

�4,�53���&6���9������"�/�����������*�2��7�;%��������'�7�;%��A�G��K�2*�#�7��Q%���D�-(������9��������������?S.�"6���>�

"�����������'7��7���-/��!*�����-(�:*�;��"6�?�G��A*��"����&�����"�/���������3��"C����A*�������/��W�e.��HL����H6

�&����5��&)����9���D�������/1����6�A*�������������-/���*/��Ab4C.�������'�

����"�/�����@���������9����2�������/.�����)*��*������;��"6�7�����.�������"������2�������f�_�/@��_��� ��s������*��'

�F/�9.��*��(��.�� ��G����"S9L����#��&6�:H��������*��-�.�����/�������������/��.�"Hb�.�A*���0*��'�

��&6��/@�����"Hb�.�_�/L�A*��T�������������<������!*���0*��W�<�����4��'/&��"��8&6������4���������/���.�-/&6��-�

?*�,�����HL����H6�8&6������4��A*������/���.��.����&6���9���8&6���������&����+���8&6����Y/���&&6����.���3��A*�

�&6��.�!46������<����*��C��"��"Hb�.�'58&6����"4�����?2>�"����/��M�!*�")*�/C����&6��.�O������/�G��!*�A*����&����*��

-����"6��&6��.�",�%���&��7��-(�Y/���'7���*��_�/@��/�G��A*��T�

8&6�����������������������������������������������G/L�����ARXXXXXX

8&6���������������������������������������������������H6����GLXXXXXX

8&6������������������������������������������������,�*������APXXXXXX

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 276: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�"6XXXXXX�#.��/�����/���2����������*�'�

����.��B��"���G����*��!*�A*�����>��HL����H6�����p�,�8�M��/ �"��������"�/�����������6��������M����-(�A*����&��

������.�'�

W��� �B�� ��� D����.��B��"��O/�� ��+�E�"4�� '�Y/��-�/���.�8&6���� ��4������ ��� ��7��������/�� ��� ��)*� �*��#.� �4�����-(

����������'�")�(�?�G��"������Query����.��B��"��I�&.��/���.���1��8&6��������"�&�����������N�������'�

�/���N���A�4��"��+�E�"4��8��6�'��&6��),�����/6��-��6�",�%���������46�'���"�/�������!*����D��������/��F+���).

�>���*����_�S9L����#����������O�&�1�����N��.����>�W��1������/6��A*��(�����;����/6��A*���/���.�",�%���*�1���/6��"6��

�/���.�?#�&.��*�1�"S9L�"����/6��-(�V#,�����q��"S9L����#��!*��N����<�wM�DSQL Server�������������&6��4���;�

6�?#�&.�����4*�>�&'�

�Y/��������",�%�������/6��-/&6�GL?*�,���������������N��.����>�3�GL��2����������4�������N��.����>���(�����*�29G��{�SG����

�/���&��/��'58&6����W�<�A*���������AP���AR�&����"1�/.�?)�.�����D�/�����/���2�������f��/ �"�����(�-��6�",�%��'�-�/&��"�

�"6���>��W�e.APhhhhgz7������/1��"S9L�����,�6���J,������",�%���DSQL Server�"6���&����.�ARhhhhhU��/1��W��1����

���?2>�7������",�%��I�����"��-(�"6�������.��������")&*��APhhhhgz�"S9L�����4*�>�"S9L��������/6������4����/��",�%��

�/���.��t6��;�'�

�������*�����������/���.���6�A*�������'�"�/�������!*�����.�"6�������"�������*�"���/��x>�����������-(����*������6�����

7���������'����N��.����>������I�����"���������'��&6��.�?#�&.��*�1�"S9L�!*�"������������>��"6��&;.�A*��"��D�+������

��/���.�?#�&.� '�V�S.� ��� ����������<��������&6� �/@��-/&6�OLTP��<�_�/L� ������*�� ���;�� �� ��&6��.� ��1��O���� ��

�/���.�"����������"��F��.�V/��_����9�'K�4����_�/L�A*������W�#�����������"6�-�.�������������/��F�0���"S9L�_�4��#�

�*/���.�"1�/.������k).�����&&6��.����M�'������/1��?)�.�A*��������N/H1������������"����2�/��T�

� ����-��6�",�%�����"6��@������H6�O�����������2����� '�F�0�����6�A*��������*��&��-/��!*�����/���.�A�&X4�

A)4.��*��������#C&.�"6�������"�������/��7��������A�,�N��B�����-�����/���.������"6���&6�������������D

������2�����'

� ��&)����9���W��1�A*��������"�/���������� '2������/.������"&*+N�A*�����A*��?4��")*�/ �"��7��A*��"��"�

�������"�/����f������!*����-��6�",�%�Heap�KP/4;.7��"�/����H6�!*����-(�F�0��������;*���'

"�)�"�)�"�)�"�)�TTTT�����"&*+�����(��.����&6���9���"S9L�_�4��#��������N/H1�������2��������"�/�������H6����������"6�F����Q�%/��")&*����

�/���&��/��'���7�����.+4���2��������"�/�������H6�I*�;.�"H413�������-�.��!*�������!*������9�������;��9���&E��*���5�'

������"����� �0&*�� ��� ����G��;��"6�7�4��"��|/��.�A*�� '����/��"&*+����#E���6�A*���������F�0�������/���.����6�"E�")&*�

7����'�

�����")&*�����?2>�������9�����&6���3���&)����9����*�5��&6��),�O/�������F�0�������/���.�"6����6�������'�

�>���:3�����?$������������������"6�79N�-�/��4��7��-/����������������!*�"6�?�G��A*��"*�V#,Query�Y�1���-/�������!*����"6�

������"����7����9.'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 277: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�����/����9.���>��V#,������!*����7������6 ���������"6��G���-/��"6��/Query�/����9���'����"6���2e.�"�)��

������"�����!*�"��!*�=��C��-/��������7����F�P�"6�7�&*��������/1���0&*�v7����.��G������V#,'�

��&6��.���9���A9H��"E��,��!*������&6��/@�� '� ���wt����N��/����F��� ��� �����4��"4�7��������[N��������� D�A*�

�F���"�����,��������/���.�"6��.��&��I����FredK�;>����*�����^�4��7��O/������*��`� ����D�����N��/����F���"6���������N�

Blake7���D��&6����M�7���B����/.�"0����"����;*��"6��/���.�k���������'�

�A*�������7������W/4;.�_���2��������)*�"4��?.���"6��@����"6�7����-/��/�����/����9.�"��4��������'�7#�#<��

7��F���������������������� �������.�F�0���"6����6�'74�>���������W���-/��"X��&E�����JOIN�DORDER BY��*�

WHERE�/���4��"�,�N��B����������?6��/����6 ��'�

�-./���"��#��K�4�����N����� ���V*���������&6��.�����������&6��.�",�%�� ���� D�`[<��������*�2����*����+��� ���� '�",�%��?4����� �������

�*��������*�"��-��6�D��&6��),�����*����������"6��*��@����"����&)�.��),������!*���0*����A�����������"6�������-�4��"��'�

���t�����W�j�A*���/�����"��4��T���.��*(�&6�`[<�������(�����)*����/�����/���"�2�������������!*�`[<��/���������

7��W��1�!*�`[<�'��&6����.�7�����"4�4%�-(�"�������"6����N�*���*�W��1�F����*���"6�7��A*��_��9����&��T�

�DROP INDEX <table or view name>.<index name>

�/���.�`[<������_�/L�A*��"����'��

�����������Database Engine Tuning Wizard����������4��_��� ��-/&6���&6��.��),��������"����������7����*��Index Tuning Wizard����+*��A*���.��7��������/���

����� �&&6� ?����� ���/�� �.� _�>��� ���N� '?*�,� !*� ��� ���+*�� A*��workload���� ��9��� ��� ��� -(� "6�

SQL Server Profiler��&6��.���0*��3��?@,����"6Uu�/���.�����Q�%/���5�-��6����.���������_��� ��-(����&6��.���6

��6����/��������&6��.���6�O/����������������"6��@����'�

Index Tuning Wizard��/&.�����"&*+N�����)*�-�/&��"��Tools����SQL Server Managemen Studio������/1��� '�A*�

��/&.����"��N��1�".�����!*�-�/&��"�����/���.����+*�Start���������>����&*���'��&6��4��"�L/���&&6���B&�������+����������&��.

�"6�������&��M����/���.���+���A*��")H����&6���9����/����0*���@����"E�")&*�����"C����������N���4@����������+���-�/&��"�����(

4.����"�������������)���),����(�"���4��7��A)�'�

����(@%����"��#��-�N�&���";/��-�/&��"�� D��&6��.�}/.��,� ���-(�������.�"����� ����G/@S.�"6���>��IHf�� '��4��_P/@S.���������������

�*�����/1��"���H)�.�7��A)4.�D��6���0*��������(��4��D.���;��W/@S.�"���������,��.�*����M���'��&�2.��������M�W�<�A*����

��6������/��W�<�"��-�/���4���������� ��!�������'�*���������"�����(����2���M��*���W/@S.�"�����-�.�����wM���<�'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 278: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� �!*��*����4��"6��&6��.���6m��A.��.����&6��.���[N������2���M�74�>�"�������6�A*��"6���*/���A.�O�/1�����*�����������$

������"�����'�

�����������/.����"Hb�.����������������/1���T�

� �"S9L�_�4��#�

� ��N�&6��M

7��-��)*����(�I���x,����+����.���&����_��9�.����(�����"�����")&*�����������������"S9L��6����"�����/.�A*���������'�

��(28�)���

K�2>��6�72SL�"S9L�_�4��#�� ��/.� ����*��)������� ����N�&6��M� �.�� �*� '?*�,��*�����N�&6��M� ��+��� ������ �0&*��A.�����

��6����/�������� ��!�����N�&6��M�������)46���*���&6��4��72SL�?.��������'�

��6������4������� ��!����"6���,���.�y�9�����>���N�&6��M�DK�4�����*����������,��y�9���"S9L�_�4��#����/���.�`[<�'���

�F+���).�")&*�B-Tree�������H<�������`[<���������������.��������.�"���W��;�.����+�E�"4��?*�,������B��"C#������'K�4����

������"�����"S9L�!*������/6���46����;���*�!*�V#,�"6��*��������>��C*�������7��A)4.�D��46����#.�"S9L�!*�"6��;>�/.

�� ����7������������"������/���.�"6��������'�

��������A*�����?)�.�A�G��KP�4�<����+��^�<�����/���.��D���:H����J,�'�"6�������"�������*�"�SQL Server��!*�"2��.�����

�����.���@������J,�������N�'���*��.���@���-(�"�����N�!*�������������W��1�!*������/6��!*��N����<�'�

�&6�7<����� ��� �4���46�7��A)4.���;��?)�.�D�����,�%�������-�.(��/1��"��k�����������8�M��1�"4��"6��*����/6�

�/���.�����������*����'����*�����/B&.�"��"S9L�!*����[N������1�"�Uh��/6���DSQL Server����"��N��1�"S9L���7��A)4.�

����[N����_��� ��-�4�����*���������&6�'���������������6����7������.��������S9L�A*����&��'�

�����+�����2e.�"2&1������ ��!��������N�&6��M����"�9N�_�)�.�"4�����D����4���OLTP�&6��.�W�2#����N�&6��M�����'��.

��E����+��^�<�����/���"S9L�_�4��#��?�G���'���������/1�����(�������*������"6����S9L��������A*��)E/6�-����-�/���.��

"S9L�_�4��#��D��6�",�%������*�������'�

-��6�",�%��?4���*���6�8*�+,����-���/��?4���*���6�8��6����7��������P����N�&6��M�A*����&��'���B����7��A)4.�"6��/C��4�

������"�����D���������OLTP�����`����������OLTP2#����N�&6��M�����&&6��4��W��'�

������A�3�B��C�3�/��0���(28�)�?�<'�?�8�"5D'�SQL Server������ ��!�����������N���_�S9L�-�/���M�-�+�.�����/���.����(�V/��"6������.����>��.������������������/���

��&6����.����'����������2�&.���)��������6���9���_��� ��A*���������/���.�����F�0�������� ��!������������'��/���A*�

����� ��!������E��t)*��&&6����������"&*+N�����)*g3���*DBCC�57��'�

7������������/���������T�

�DBCC SHOWCONTIG

[({<table name>|<table id>|<view name>|<view id>}

[, <index name>|<index id>])]

U Fragmentation g Database Consistency Checker

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 279: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

[WITH {ALL_INDEXES|FAST [, ALL_INDEXES ]|TABLERESULTS [, ALL_INDEXES]}]

[ , { FAST | ALL_LEVELS } ]

DBCC SHOWCONTIG ([<table object id>], [<index id>]) �

������_��� ��A�,�N������W�e.�!*�-�/&��"�pk_Order_Details�W��1����Order Details�*�����T�

�USE Northwind

GO

DBCC SHOWCONTIG (@id, @IdxID)

GO

7���*��_�/L�"���1������T�

DBCC SHOWCONTIG scanning ‘Order Details’ table...

Table: ‘Order Details’ (��������); index ID: �, database ID: �

TABLE level scan performed.

- Pages Scanned.................................: �

- Extents Scanned...............................: �

- Extent Switches...............................: �

- Avg. Pages per Extent.........................: ��

- Scan Density [Best Count:Actual Count]........: ����� [���]

- Logical Scan Fragmentation ...................: �

- Extent Scan Fragmentation ....................: �����

- Avg. Bytes Free per Page......................: ����

- Avg. Page Density (full)......................: ����

DBCC execution completed. If DBCC printed error messages, contact your

system

administrator.

�����.�Q�%/��������/.�"4��!46��*��W��1��.���&����Q%���7��A)4.����/.�����J;��T�

_�S�%/�_�S�%/�_�S�%/�_�S�%/��������.(���/.���.(���/.���.(���/.���.(���/.����

W��1�����/1/.�W���1����;�3����"�/�������!*������5������*�Pages Scanned

�&6��.����.����������*�W��1�����/1/.��������N�'�������#.�A*�������N���

�������#��_�S9L����;�\�/�����/���'�����.�"S9L��&E���������������N����;�

�������N�&6��M����7�'�

Extents Scanned�

�"6����;,�����;�DBCC����N�!*����������*�W��1�!*�_�S9L�8*�4�M�F��&��

�&6��.�76�<���*�����N�"��'7���N�&6��M��&&6����.�"4��"&*+N�A*�v����;��

7���������N�&6��M��&;.�"��������N�A���W�#����_�;,�'�

Extent Switches�

���N����_�S9L����;��A�����.�'����#.�A*�����\��/�����/��'�Avg.Pages per Extent�

Best Count����N�_����c�����;���&������/����/�M����"����/��"��+�E�"4���N��

�&6��.����.����W(��*�'�Actual Count7�����N�_����c���;>������#.��'Scan

density����#�����"6�7����L������#.�!*�Best Count����Actual Count�

�*(��.�7��'�

Scan Density [Best Count:Actual Count]�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 280: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�I��������s���������!*��N���_�S9L������F��&�����"6�_�S9L���������L��

��.����.�����&����&6�'���;��"S9L�"6�7����/C��I��������s����"S9L�!*

�������@���"�#�����������.3�IAM�5��N������"H���"��"6����"S9L���

7��_��9�.�"S9L�o��������;��"S9L'�

Logical Scan Fragmentation�

��;���)*+�,��/ �"��"6����N�!*��*(��&6��.����.�"&*+N�A*�����>����N�!*���

�����K�#C&.��*(7��-(�����;��+����'�"���4��������N���_�S9L�"6�7�&;.�A*���A*�

���������?)�.�A*��������N������L���"E����������I��.��)*+�,��/ '�

Extent Scan Fragmentation�

7*������#.�A�����.������.�-���������������_�S9L�������(�����'��N�����#.�A*�

����C����+*�K��2������/���.�������"������*P�������*���'W�e.�-�/&��"��D��C�+*�

��4�ZhZh����#.�"��4����������������C�!*����/���.�V#,�"S9L���������7*���

��2*�#��A�����.Zhgh7�������/��������(�7*����'��B��"����*��7��A)4.����#.�A*�

+*�������46���/���4�����#.�A*���.�����������C��

Avg. Bytes free per page�

"S9L��6����A�����.3��L���_�/L�"��'5��������A*��"0����������.(�7����C�+*�

�/�����/��_�S9L�-�/���M���������#�>��-�+�.'�

7���������P����L��'�

Avg.Page density(full)

��&6���9���_��� ��A*�����"�/�E�"6�7�&*��W�j�-/&6���7��A*��O�/1�'�����������'�

��1���������9�����SHOWCONTING�M��.������ ��!�����*(�"6���&6����.�����/���.��D7���(�A���.��*��&6��M�'�����N�

������!*OLAP7��O/��������_�S9L�-�/���M���&6���6�� D������/�������k�����N�&6��M� '������!*�����OLTP�

/��-(�w)��"�J>�/������'�

7��$�C.����*��W�j�A*����&��D��&6�?<����_�)�.�A*��"�/�E���������A��������9.�"���*���W�j�A*��"��-����O�/1����?2>

�����Fillfactors������"������������'�

FILLFACTOR���DBREINDEX���*�*��?@,�A*������������"6��/C��4��DSQL Server��&6������������"&*+N�������6���������*��"&*+N��N���_�S9L�-�/���M�W

7��������/�������������N�����f�_�S9L�'�"��9m�.�/��������������*������(�������W�4������������/���.�W�4�����2)*�V#,����(

�*�����'�

� ������7����������������&6� ��0*�� ������ �� `[<� ��� ���(� ����/�� �.�3���� ��6� A*�� �N��"&*+N� ��� ��9��� ����� �.� F�0���

DROP_EXISTING7����/���*��5�D�����*DBREINDEX��&6���9����'DBREINDEX�_��/��������*���)*�DBCC�

7���*��_�/L�"��-(�������"6�7��T�

�DBCC DBREINDEX (<’database.owner.table_name’>[, <index name>

[, <fillfactor>]]) [WITH NO_INFOMSGS]

�/���.�"�����������B����/.�������/���A*�����1�����'�"4���/���A*����&6��6 ��@����F���-�������W��1�!*�F���"X��&E

������������.����������W��1���'�"4��������A���������"��N��1��/����������������/1������� ��!����!*�����'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 281: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�A����������������������/���.�A��;��������_�S9L�-�/���M��L��������$�L�����������(�"��|/��.�_��� ��"4�'��N�

��/���.����.�������+����)*+�,�����������������"�/���/���.���0*��������"6��@����'�

�p�,� 8�M� �/C� D��� �&��/�� �M� ��/6�� ��� ��� ��46� ��� _�S9L� '� �/��� ��� ����/�� �.� �4�CREATE TABLE�"&*+N�

FILLFACTOR��&6�A��;���L�����9L�A������#.��������'��L�������A*�����?�4)������� ��!������0.������.���"6��.��&�

�/�����/��_�S9L�-�/���M�'��/ �"���������_�S9L����#��F��&��"6�������"�������*�"�zhvzh��/���.����#��"S9L����A����'

/���M��L�������/���4���������c�������������A����-�������-��'�

"�)�"�)�"�)�"�)��T�T�T�T0&*����������/1���&e���!*��'��4���N�h�"S9L���&6���9����L������������������"�g������/���M��HL���0<������46��C�'����

�"&*+N��������/���.�������"�����"S9L��6�������c��"�������"6���>�FILLFACTOR��&6���9����'��6�����*����Q�%/��"6��/C��4�

����4���������"S9L���46OLTP�����F�0����������-���� ������*��-��6�",�%��W�4���-�/���.�")*�/ �"��7��W(��*���D

"S9L�_�4��#��A������?�G��� '����4�����������P���"S9L��6���OLAP����/��W(��*���/�3��-���/����������46�_�S9L

������/1��������/1��"S9L����#��W�4�<��-��6�",�%��?4������.�'5�

��N��W��1��HL����H6�-�/&��"��"6��@��������/��Order Details� ��� ����&6��.�?4��FILLFACTOR��L����&M���7@��

��/����������/���.��*����������DBCC��&6���9����*���T�

�DBCC DBREINDEX ([Order Details], PK_Order_Details, ��)

��/������������1����DBCC SHOWCONTING��&�2�����_���am������/���.��T�

�DBCC SHOWCONTIG scanning ‘Order Details’ table...

Table: ‘Order Details’ (��������); index ID: �, database ID: �

TABLE level scan performed.

- Pages Scanned.................................: ��

- Extents Scanned...............................: �

- Extent Switches...............................: �

- Avg. Pages per Extent.........................: ��

- Scan Density [Best Count:Actual Count]........: � � [���]

- Logical Scan Fragmentation ...................: �

- Extent Scan Fragmentation ....................: � �

- Avg. Bytes Free per Page......................: �����

- Avg. Page Density (full)......................: �����

DBCC execution completed. If DBCC printed error messages, contact your

system

administrator.

�������c����&6�"1/��-(�"���*���"6��+�E�A�G��Avg. Page Density7���'�"������A*�]z���*������4���L���SQL Server��*���

/���.�!*�+������-(�"�������"�����-�).��"6��������������.���&6���6�"S9L����C���&�+*������'�

���������/.�A*�&E�"���*��DBREINDEX���FILLFACTOR�T��&6�"1/��T�

� � "X��&EFILLFACTOR�/��� �6 �� DDBREINDEX�&6��.� ��9����H2>������7���_�4�B&�� ���� '�+N��� �N�

�����������0*���@����DFILLFACTOR��6����/���M����"S9L���46���/6��������������3�����x>�/.���J;�����"6���

�/�����/����*��'5

� ��N�FILLFACTOR���������6 ��D�p�,�8�M������-(������-(����#.FILLFACTOR������/���'

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 282: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

� �")&*����DBRINDEXL/�����6�����������>���9�����/.����/��.��?9>����x��&.���*���&6���9���-(����7����&)�.�"�

�/��.����*��_�)�.�I1/.����&)�.�'�-(����?>��<��&6���9���7���6�����������9���"6����������'�

�"L���"L���"L���"L������

�����9.�����)*SQL Server7�[N����(���&6�����N���"��-�/���"6��&������*��+�E���7����*������� �����)�����*��'��.����(

����&��/���*���6�8��6�k����������N�W�<�A*�������/���*���6�8*�+,��k�����&��/��'�

.�������"6��4�.����/��������&�����*��_�/@����&6��),����(�"���*���T�

� �����������"�/���KP/4;.������;*�����������"�/����f����&�����3�A������;*��"��4��79N��*����0&*����

������/1��+����*���&e���W�<�A�������.�5

� ������������V#,�������"�/����f�����-/�N�"��"6��*��������>��������*P����������&*+�3����8���"6��&;.�A*��"�

uz�&������)*����C��L���5

� �_��/���"4�DML�?.���INSERT�DUPDATE�DDELETE���SELECT�����&��/��.����������.���&&6���9���

������������"���������6�`[<�D�����6�",�%�3��������"���������,�%����`[<������&*��"6�&&)�.���9���"�5�����������

�&�������&6�'�";1��.�74�>Query��������������6�"��������&���.����c������������"6���*�����/.��.���/��.�F�0��������

������������3�A���������/B&.�"���������HL������������&6����5

� ��������.����������J,������N

� ����������/.����.��V#,����������-/��A�G���"6�������.����>���9�����Query7��I�&�.��4��

� ��������.�!46�"6��/C��4���&�������-���I�(��&��/��.��&&6D���@��������&)�.���0*����������!*���E�������

��*����������"6�����&)����0*�5

� ��������.����&��/�(��6��������������"�,�*�7�����������*��XML�������"�����������.���&&6�����,�������-����

���*���&��.��������������4��"���,�%���������6�A*��'

�������"6���>���������.��),�����t�����_P�/�A*���/�������&6T�

W�/W�/W�/W�/����O�/1O�/1O�/1O�/1����

� ?4�� �*(INSERT�F�0��� W��1� A*�� ���� ���*�� _����c�� ��

��/��.�

�7��72e.�O�/1��N���������*����"���?>��<��������'�Y/��A*�

��HL����H6������9������";1��.�!*�������_����c��P/4;.�W��1

����.�F�0��v�A*�������*���"6�7���@������&��A*��P/4;.�

����� W��1� '� ���/�� �2����� ��f� �����6� ",�%�� �N��F��� �����

��&6��),����"�/�������!*�A����'�

�1�!*�A*�� �*(� �7�����N�}��+N�W��?4��"6��&;.�A*��"�

INSERT���9���-(�������*��_����+N��.���*�����-(�������*��

�&&)�.'�

� �������������&&)�.�?4����/��� �0&*�� ���� '������`��

�"&.���_�/L�"��"6�7������� �������9��� ����&�.����"�/�

��/��.�s��������'�OLAP�IHf�������������������72��

����C�S.�"�OLTP������'�

�����/1������������&*+N�"���P���QC�!*��*(��� 74�>� `��� ����&�.� -(� �� D7�� 72e.� O�/1� �N�WHERE�

��&6�",�%����������7�'�

��&6�`[<�F������������*��"6�����@�����*(��������E�D�����N��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 283: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�F����6�A��;�����������~�������*(�����E�D�����N�����

A*�4�A*�4�A*�4�A*�4���������������������

U' � "E� ")&*�� -��6����.� ����� ��� ��� ?>��<�������� W��1� ��� �*HumanResources.Employee�!���� ���

������ �AdventureWorks�*�2��F���������/1���'

g' � -/�� ������ "�/�� ��f������!*ModifiedDate� W��1� ���Production.ProductModel������ ��!���� ���

Adventure6���0*����&�'

l' �A*�4�����"6��@���g��&6�`[<�����*��6���0*���'�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 284: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

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

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

������� ������������������������������������������ ���� !������"�� �#$�%&'���(����"������������� ����"�)*�+�*�����,���� ��-�� ���� !�������./0�������

�* ��"$�1 �2�'�����"/�!����3��4�5��6������7�8$������*9�5��-'� �1 �2�'��� �*� �� $�� �����:���

���������1 �2�'�����1��� ����������� �;�������<������ ���=�<���������,���"�;3>�

� �"���*���������������?�"��@���6��

� ����� �"'��' ��)� ���$����1 � ����5 ���A�B�4�� ���"���4�3�C�74����* �'�D�E�*��5����� /F��

� GH��I*������"��J������!���� ������J��"������6��+���� K�$����"��LQuery������A*�1 �2�'��-'���9�C�'����M!������"��� �5���<�����"�4�

� ��I��+F�����+�(��N��� �1��� �I������A*�1 �2�'��-'���9�C�'����M!������"��� �5���<�����"�4�

�I��+F�����+�(��N��� �1��� �I�Query�-7�*�1���1��!O�����.B�F� � $������P3��F�5�������1 � ���*� ��"$� �� $���Q���� ����-'��,��R������ ��)� ����S�����

�����"$��<L��)� ������P3��F���*�$������ �������� !�"$�����+�(���������T:&�$�3�.�������I����*� ��"$��<�Query�5������ �'���(�UV���������� �����1 �'�

��3�����D�E�*��P3�F�I��I���Query���������P3�F�,���(������5�7��1��@���JOIN��� �6��<*�1��� �I��� ������*9�3��������

�1 �'������� �G:;��$����-'�� � $���(�5��":�����1 �'�W� N����1��� �I�����!�'������ ������*9�D����,���� ���1 �'�� �' �I��CREATE������ ����X�I��13GL�������� �

�� �'SELECT��� ���1 �2�'���9�5��D3���$�� H��������>�

�CREATE VIEW <view name>

AS

<SELECT statement>

�����"$�Y�H��� �� $�����7��� �����$���5��*��$��-'��1 �'����7��Z������!�'���:B����-'����5�W� N�����������[' �����!�'�>��

CREATE VIEW [schema_name].<view name> [(<column name list>)]

[WITH [ENCRYPTION] [, SCHEMABINDING] [, VIEW_METADATA]]

AS

<SELECT statement>

WITH CHECK OPTION

������"$� �����1 �'����7��1��� �I��3���3��"$�6���� �����$����-!� ������ !��*���F����<7;�5��=�����������

��������#�$��>� �I�� �����1 �'�1����

�"��LGH��I*���� ������Q$�,2/��-7�B���������1��� �,��Accounting���*9�=�*�3������"$� �����CustomerPhoneList_VW�����\�"$���USE Accounting

GO

� Views

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 285: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

CREATE VIEW CustomerPhoneList_vw

AS

��������SELECT CustomerName, Contact, Phone

��������FROM Customers�

�� �' �"�;3����������F �CREATE�� ����Management Studio�W�� �' ��)� ���*�$�� �' �,����������"$���F��CREATE� ��"$���F���������&'��9�

��*� ��"<*������-'��1��� �����1��� ������ ���� !�UV����

Command(s) completed successfully.

�"B3�F���<*�5��� ���] �2�'��������1�R������*����;��9�� ��@*��(�S�����:���������*��L <�$�I��5����Q�����*� ��������� �' �I��^_'SELECT���F��P3�F��3�����

������������1 �2�'��P3�F�I����*�$�1��� �5����<�V�7$����"A��3���P3�F��3�Customers��������F���>�SELECT * FROM CustomerPhoneList_vw

SELECT * FROM Customers

�����"$������* )(��:��V���* ��"$�1 � �-Q������� �� $�����7���7A�������7���7A������*��L <�$�3 ���* �'� � $�� �-V�V4� �����A����� ���MEQ$�����SQL Server�

����1��� �� ��* )(Query���7V��-<7;���(����"V&�$�� H��������9������������"$�1�)*���������

�� �' SELECT�-'��1���`��[����5�W� N����1��� �� ��>�SELECT CustomerName, Contact, Phone

FROM Customers

������"$���F�������5����"�;3�,��������>�SELECT * FROM CustomerPhoneList_vw

�����N��� SQL Server���� �"$��>��� �' �"�;3������* �'�3���&'��<� �

SELECT CustomerName, Contact, Phone FROM Customers.”

��� ����,$��������"$���F���������

������1 ��� ���������:*�F�3 �-�[J3�I��������� �[;�3��$�1��� ����"�[$�,���������� �"<*����a������+�(��C��' �� ������1 � �5��1�����/����E7*�I���9�������$�

���$����;����� �"$�6���"���*���������������"��@������-7����������� �D !� � $���������1 �'����������������������� �� ��5�����+���"�;3��53��,���� �,��

���* �,�����������������$�����:*��F ��.B�F� � $�I��-'��,A<$��/b7$'-�

���A*�>�����c��d���6���� H����������.;��$� ��"<*�=��*��1��� �I�������"N�!����I����� ��"$���F��"�;3�1��� Query�R������"$�1 �2�'��1��� ��9�5����

�S� ��"$���F����$���U!�T��H�5���� ��"<*�=��*��"L *�c��5���5�'�������6����<L�c������Z�I�����-'��[$�,����,���-'� !� ����1 � �,�������'�"��J�

�1���3� ��"$����J��1���e��E�'�����1 � ���� �' ���V�7$����F��5����[��'�+��1��� �I�SELECT� ��"<*���F���9��!� ����I�����UV������� �,�������

��*�� � F3���B �������������" �'�3�-��$�� �������V�; �����������K�������'���������� !���5��*���$��<��f�!�U��������������T:&��� ������)� �1��� �I��������

�P3�F������P�g$�,���������� ���Q*����C�74����1 � �� ���������� K�$������������ �1 �2�'�� � $��������Employee�"��LGH��I*������Accounting�

�� ��"$��������������� �P3�F�h�H����"�)*�>�Employees�

EmployeeID�

� Grid view

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 286: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

FirstName�MiddleInitial�LastName�Title�SSN�Salary�HireDate�TerminationDate�ManagerEmpID�Department�

����������(����:�����P3�F�"/N�����!�'����"/N�����1 � �������� �;���*9������� !�"<*��$���� ���Q*� �����5��13��I��������1�Q*� 3�#$����* �'������� E�������

�I�����-7�����4�1���I��i��� �=��*����� �e���4���$���������"���* �'��$���UV��������������� ��)� �P3�F�>�Employees�

EmployeeID�FirstName�MiddleInitial�LastName�Title�HireDate�TerminationDate�ManagerEmpID�Department�

'��,A<$�����,������?�j�#B�5�� ���� !��5��AQ$����7���$��������1 �39�������$���5��*�-�>�

� ������"$�1 �2�'��1���3 ����I7� ���k���$��

� �-�� ���� !�+�*����"*�$+<��AQ$�����A*����a���)� �P3�F�"B3��������a��P3�F�I����

� �W��/<L����e���4����������a�����Y\4������J�����&'����� �5��*����"$�)�I/O� ���� !��R�3���*� E���#$�3 �5���#$�I����F���������1 � �������<�

���7� �����S

��:7*�3�1 �'��4�1���I������� ��� �"$��l�����AQ$�,��������h�H�m !�����* ��"$�1��!O���:A��UV����1 � ���1��� �I��5��1 �2�'���/�'3����R�P3��F����P3�F��

������S�WGAQ$��<���* ��"$�Y�H���Z����������"$��<L�W� N���<���������5�7��1��� �I����*� ��"$��*���F�P3�F�I��-!�'���F������

�P3�FEmployeeG[�����-'��"B�!���������9�����&'���(�� ������J������Chapter��.sql�����R�� �-'������,�������3�4���Management Studio�5���

F������9�3����������������"��LGH��I*���� ������5�1��� �^_'Accounting���������J���>�USE Accounting

GO

CREATE VIEW Employees_vw

AS

SELECT EmployeeID,

FirstName,

MiddleInitial,

LastName,

Title,

HireDate,

TerminationDate,

ManagerEmpID,

Department

FROM Employees

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 287: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�"'��' � 15�F��"7������� ������7� 1 �$9�� �������V�7$���0� �����V�7$���P3�F���� 1 � ����Employees������� ���������*���� ��� �� $��<������ ���"*�

�<�V�7$�� P3�F� ���Employee� � � ��� E*� ��� 15�F�� ,��� �)� � �������� ��� �$�� �� �� -����� ��1��� � ��� ��*���� ��� +�(� �<� ���:*� ��� "*������� -V�V4�

Employees_vw��*�� �"'��' ����*�$���*9���*� ��"$������1 �2�'���9�5����� !�"$���*9�����*��)���K*�� �P3�F�I����> SELECT *

FROM Employees_vw

���A*�>�1���-��L�����\)$�*��L� ;�+�*�������� ����* 7��5��,$��A������B��_vw�-7�*�P3�F�I��3�-'��1��� �I���9������<����� ��"$�1 �'����7����= ���1 �2�'����

�� ��� �� $�5��"k[�������� E��-'��,A<$�W�;3��"���<L��3��5��3��������������Q�_vw����A*���O����W3�2�$�=�*�I��5����������-'��"�[$�,��������,���=��*�

������1 �2�'��REmployees�-'��"/N��P3�F�=�*�5 ���S� �� � F3�P3�F�I��3�1��� �I��,���"�3�2����*� �"<*����"*������� ��[��5���� �=��*���������,�������$���

-2)�������� !�1 5����

���/����� �L��������� ��,����� ��5��"A��-<7;�,���-'��D����,�������<7;��� ���*� F3�,���5�����1 �'��+�(��A������B���i���(���

� ��� �����1 �'�1��� �I���� ��"$��* )(�������� ��1 �'�� �' �I��5��UV�SELECT��� ���1 �2�'���*���*� ��"$��* )(��n���Query�I�����i��������/������

�-<7;WHERE���� ���*� F3�"�3�2��+�*������ ��������

�1��� ����������Employees_vw�*� �������"/[������$����5��"�7�B�UV������� �"$����a������* ��������9�3����������� �"�)*����� ��:;�-<7;�� �����������

������ �5��*�����,��������P�<L��������a��3 �UV������

��������/�����������"<*�����-����������)� ����"*���$����������A����P3���Z�<�4��i��*�� �����������o�����"/[������$������9��"���&'���� 3�#$����n���*����^������!�

�� �'��������TerminationDate����V$�NULL����+�(������������� ������'�����'� !�"$����

���*�$������ �� �"$���Q*����-'��� � $�=3 ����a�Query������"$��<L��������"���* �'��-<7;�� WHERE����;�-7�B�� ����-7�*�"F���4���*�� ���;�

���*�"��F ��c��"/[�������������������*��L <�$�� �����������o�������O��� � $�,���� ����������� � ���

��������#�$��>���1 � �� �����/��������1��� �5��1 �2�'�������� �����"<��;�1��� �� ����a��"<���/�'3����������F�1��� �I����������� �� $�,���,��� ��H�!�������>�

CREATE VIEW CurrentEmployees_vw

AS

SELECT EmployeeID,

FirstName,

MiddleInitial,

LastName,

Title,

HireDate, ManagerEmpID,

Department

FROM Employees

WHERE TerminationDate IS NULL

J��3�=�*����a�����13GL�-<7;�� ������WHERE�� �'����������F ����TerminationDate�-7�B�5�����SELECT ���Y\4�������

�� �' �I���9� �A/<L�")* )(���#�$������SELECT�P3�F��3��Employees�-7�B�3������"$���F��SELECT� 3�#$���� !�"$����� �� $����UV�����

������"$�>�SELECT EmployeeID,

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 288: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

FirstName,

LastName,

TerminationDate

FROM Employees

�� �"$���Q*����P3�F����&'��<�5��� �'���(�� �' �,���>

�EmployeeID FirstName LastName TerminationDate

------------ -------------- --------------- ----------------------

� Joe Dokey NULL

] Peter Principle NULL

p Steve Smith �qqr8��8p� ��>��>��

s Howard Kilroy NULL

X Mary Contrary �qqt8�u8�X ��>��>��

u Billy Bob NULL

(u row(s) affected)

������"'�������1��� ��������� ����>

�SELECT EmployeeID,

FirstName,

LastName

FROM CurrentEmployees_vw

� ��"$���A( ��"<������*��L <�$�>�

�EmployeeID FirstName LastName

------------- ------------- -------------

� Joe Dokey

] Peter Principle

s Howard Kilroy

u Billy Bob

(s row(s) affected)

�� ��2*�3 �����7��V$SELECT��*�Q*�������K*�� �P3������� !�"$����-'���+�(���<�,������

�����"$������* )(�G:;����� &*�<�� � �' �I��1��� � ���� � �%�J ��SELECT� � �' ���*� ��"$�,��������-'���������������� �5�����-'��SELECT�UV��3��*��)��1�� �*� ���

����"$���������"����*� ��)���K*�� �P3�F���*�$������������ ����"F����'��P3��F����Q$���� � $�,��r�����)���K*�� ��� � �%�J �������*9�������1 � ��A������B��

��������"$���/������������� �v�F����'���/�'3����1��� �����A����5���:;�$Query� ��)���K*�� �����$����1 � ���� ���*�5��*�"�4��R�"$�=��*���$�������������,���1���

�� ���S�

����1��@��������� ���</��5��,$����P�4�,�������1��@������� �1������ !�������C������:*�= ���1 �2�'������ � � $�,����1 �'�5 ��1��� ����-'��,���������� �1������3��$�� � $SQL�

�-'������ �� ����"������-V�V4� �� ������J���� �"$�=��*��1��@������JOIN������� �'���(�=�*����a�������3������w<F��������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 289: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�%&7$����1 � �� ������ �P <[$��� ������5��"A������p��-'��������"$�Y�H�������� � �%�J ������9������������� ����"��@������"�[$�,�������������� ��

�$������1��� �I�������"$�� �N� ���m3������x ��$�W�LGH��"'��������� ��� �������� �����"*����$� �$�� �����:*���*� !�"$� ���D����,������"*����$����"���7F

Query��:7*���7� ����������1��@�����������7������,�Q���W�LGH�� � $�� �"�4����

�I*���5������� ����.VL�����������P�g$�I�������"��LGH�Northwind������1 �2�'�����I����������� �;� �� �-'3 ����$Query��(��� )��3��������������F��1 �'�

�-'��1 � �m��2'������*9�"7���(�3��*��1���-:y�"����<7;��(������"�����2'�����*� �����*9���������"$� �����1��� �I����,�������Query�������� !�1 �'����7�

����������F����"��LGH��I*���� �����9����������F ��Northwind������"$� ������>�

�USE Northwind

GO

CREATE VIEW CustomerOrders_vw

AS

SELECT cu.CompanyName,

o.OrderID,

o.OrderDate,

od.ProductID,

p.ProductName,

od.Quantity,

od.UnitPrice,

od.Quantity * od.UnitPrice AS ExtendedPrice

FROM Customers AS cu

INNER JOIN Orders AS o

ON cu.CustomerID = o.CustomerID

INNER JOIN [Order Details] AS od

ON o.OrderID = od.OrderID

INNER JOIN Products AS p

ON od.ProductID = p.ProductID

�I��� ���SELECT������"$���F���>�

�SELECT *

FROM CustomerOrders_vw

� 3�4�����,�����]�����* ��"$�z� � 35�3����7�1 �'����7�������$����������� �����������"��LGH��,��@<��������"$�-���� ��&'������$�� ����R����������S�"$

�-' �-'��m�K*� � $�����������*�����*� �����������>�

�SELECT CompanyName, ExtendedPrice

FROM CustomerOrders_vw

WHERE OrderDate = ‘q{p{�qqu’

������P3�F�����(��* )(�����*����������-7�*�=5ZJOIN��*��1�����-'��������1��� �� ��/b7$�,����������Q����$�����*�� �5��*�UV����*9���d L�� ��R�W��;�3

�����A2��/b7$��9����S������ 3�#$��������=��*��� K�$������

�CompanyName ExtendedPrice

------------------- ------------------

LILA-Supermercado ]��|u���

LILA-Supermercado s�r|����

LILA-Supermercado sp]|����

(p row(s) affected)

� Flatten Data

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 290: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

����7*� ��"$�,��@<Query����������<�������>��*� �5������53�� �m3���UV��1��� ���� !�"$������d����� �15�F���� �"<�����a��UV��-7�����Query�

������>�

�USE Northwind

GO

CREATE VIEW YesterdaysOrders_vw

AS

SELECT cu.CompanyName,

o.OrderID,

o.OrderDate,

od.ProductID,

p.ProductName,

od.Quantity,

od.UnitPrice,

od.Quantity * od.UnitPrice AS ExtendedPrice

FROM Customers AS cu

INNER JOIN Orders AS o

ON cu.CustomerID = o.CustomerID

INNER JOIN [Order Details] AS od

ON o.OrderID = od.OrderID

INNER JOIN Products AS p

ON od.ProductID = p.ProductID

WHERE CONVERT(varchar(�]),o.OrderDate,���) =

CONVERT(varchar(�]),DATEADD(day,8�,GETDATE()),���)

�"��LGH��I*���� � F $����E����Northwind����J���9�����&'�I����#�$��������������,�����������*� ��"<*���������1 � �c��1��� �,���������7�"<��;���V*9�

���������������F������������5�-_��A'���<�>�

�USE Northwind

DECLARE @Ident int

INSERT INTO Orders

(CustomerID,OrderDate)

VALUES

(‘ALFKI’, DATEADD(day,8�,GETDATE()))

SELECT @Ident = @@IDENTITY

INSERT INTO [Order Details]

(OrderID, ProductID, UnitPrice, Quantity)

VALUES

(@Ident, �, X�, ]X)

SELECT ‘The OrderID of the INSERTed row is ‘ + CONVERT(varchar(t),@Ident)

� � ��� !�%�J �������' ����/����3����_��A'�����x ��$������ ����1�����O����������� ���� �� $��<�,$���I��,��� �� K�$�����<���������� �<�L��,$����� ���

�� ����V$Northwind�1�� �+�*�1��� �� ������������F�����-_��A'���<������ ����� �����*Management Studio�������* )����������>�(� row(s) affected)

(� row(s) affected)

-------------------------------------------

The OrderID of the INSERTed row is ���tr

(� row(s) affected)

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 291: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

���A*�>�-B�4�5���<���@*��(�Z������$����5��"k[��������������� � �����Results In Grid��� Management Studio��* ��"$���?���:A��UV�������1 �2�'�����

OrderID����7�-'� � �� $��<��$���������W3�2�$�-'��,A<$����

�I���������� ���Query��� ��3���-�� ���� !��+�(��(�����:������������F��1�>�

�SELECT CompanyName, OrderID, OrderDate FROM YesterdaysOrders_vw

��������:����*� ��"$���tr� ��"$�1 � ���Q*��>�

�CompanyName OrderID OrderDate

----------------------------- ----------- -------------------------

Alfreds Futterkiste ���tr ]���8�t8�X �r>pr>X]|X]�

(� row(s) affected)

� ��A*� >� 1��<���@*��(OrderID� �� Q*��� �'� ��W3�2�$�,$� 1��<�� ��� �<���"$�,��[����7�'��/�'3���� �L����-'����B �,����,���� ��� R��A���� �H�!���

OrderID�-'��"��'����� �'�I���S����7� F $�P3�F�� ��J�4�P�4�� ��&'� ��[���(���� �� �")�7��,������3��� ���� !�W3�2�$�1��<��3��,���5����

�w�� �DATEADD�3�CONVERT��$����* �'��/�'3���������*9����� ������J�����"B3��F���� �����)��A�����T:&��JOIN��� ��������* �'�,���������������� � ��������� *�;�I���� �L�������-7�*�=5Z

�<�4��������=��<����*5�'�"$�U:��$���)� �������=������������������� �"���1 � ��������*9���

� �� $�,����A������B ���JOIN��:7*�������������� �"�)*��� �15�F�����7����1��@����� �������(��A��������Query��� � �=��*��1��� �5��"*�:��Q����������

�-<7;WHERE� �� �"�F �����;� �� $��>�

�WHERE CONVERT(varchar(�]),o.OrderDate,���) =

CONVERT(varchar(�]),DATEADD(day,8�,GETDATE()),���)

����*�P �4������w����,���(��$����-'���7��V$��<L�I��,����� �����������9�� ����

�,����7��V$OrderDate�P3�F�� �Orders� ���GETDATE� R��53�$��o����� S������1�����1��<�-'��,A<$�53��I������$� ��w�������-'�������T��2���<L

DATEADD�� �"$�=��*����DATEADD��������J��o�������� !�"$����"*�$5����V$����*� ��"$�R�V$�5����*� ��"$������1 �2�'��T��2���<L������"2�$��� �S

�����������J����� !�"$����"*�$5��4�3�3��� �=��*��W��/<L��9��3����� !�"$�������"E�����-7�����R�3��V�; �3�P�'�����2���53��S����������MEQ$���T��H�,���5�

�5�����53�$��o���������GETDATE( )��/�'3����^_'����39�-'���DATEADD����������9�5��53��I��������-'�������AQ$GETDATE( )�"/[����$5�

�V�; ���������"$�-���� �������\�53��5��"���&'�UV��,�����������*� ��"$������53���������1 � �}���K#B���<�� ��R������:B�p|pppp�YG�!����*�y�"/�$��S��P�<�4��

�-'��"*�Q*�����,��� ��5���5��,��������w���CONVERT����W� N�,�����������.B�;��/�'3��������3�7$�Y�H�3 ����E������7��V$��<L�5���:;������ ���1 �2�'��

�o�����UV���������7<������$5��*�3����������� ����53�����*� ��"$������\�53��o�����5��"*�$5���� �������"�3�����1��� ���3��,���5����

� �5��1 �2�'��o��������a�������1�������)����5���:;�INSTEAD OF��G:;����� &*�<��-'��P3�F�I����*�$�1 �2�'���A���K*��&V*�5��1��� �I�������2��R��EQ$���� ���"4��H���)� ��N�V$�����������*9������S�5�� � $���(���� ���

�������"$�������3�2����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 292: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�"$��$��-'��+�)*��-2)��"/�!�,���W�� �' ���*� �INSERT���UPDATE�3�DELETE���1 � ����a��=�)����� � $���(�������$�����������F��1��� �I���3�����

����������� �,O�� �1��� �T��H�5��>�

� �I���$���1��� ��@*��(JOIN�5����� ����� E*�� �;��� �� $���Q���� ��������INSERT����DELETEI��5��1 �2�'���3�����)����INSTEAD

OF������1 �2�'����UPDATE��)�����3����*� ��"$� �� $�5������7��� �INSTEAD OF�-�� ���� !��+����$�*�������V$����e���4���$���� ����F��

�[��'�-'��,A<$��������� ����AQ$���( ���

� 2�'����� �����1 � ���*� ��"$���-�� �v�F���P3�F�I�����UV��1��� ��@*��(��)����1 �2�'���3���1��� �5��1 �INSTEAD OF��<�� �����������3�

���������J���*�� �"J���6������V$�����*�� � F3�1��� �� ����P3�F�=5Z����/�����3� :*�1��� �� �� �'�I���@*��(����B3�F�I�������� ������"�4

��)����I��5�������-���*�+�*�"J���6������V$ INSTEAD OF������1 �2�'����1 � �� ������J��� K�$�����

� ������ 3�#$���������"$���������a������*��1������J��1��� �������� �� $��� 3�#$�1��7�I��� �����*� ��"$��

�� �����)����5������,���(�,$INSTEAD OF�= ���=�*�������)�������-'�������AQ$INSTEAD OF��$�3����7�1��@����%�J ��� ����������)����+�*

�����1 ��*����*���"$���2�P3�������I�$�������-'��h�&$��/b7$�,���+�*�������� ����3���,��@<��$������ �%�J �������*9����-'��5��*������ ������*9��&������B��

�~��3 ���z� �R�1��� �3�P3�F�S����)����1���� �-:#N�1 �$9INSTEAD OF��3�� ����� E*���*9� ������

� ���:�� ���� ��� ��"$� 1 �2�'�� ���"V��H���<� ��� ��� ����� � ���-7���� �����"$�P�:* �����,��� � � ����� =��*������� ���"�������)���� 5�� 1 �2�'���3���

INSTEAD OF����)����������"���*9�5��INSTEAD OF��� �UV����-�� ���� !����3�'�����,���� ��1 �2�'�������"[; $��(��*9�������7�,������<���"

��* ��������� ���� �� $�,���X����)�������"$�)��INSTEAD OF� ������ !�"'������ � �%�J �����E$�� H����������

���A*�>��)����I����1�� ��%�J ��I���� �L���INSTEAD OF��'�'��������7���)����5��f�!�v *�I������F���������F��1����)����������F���L�������� �'

�* ��"$�������� �}��-'��,A<$������)� ��l�7$����"k;�������* )(���� ���"$���<���^_'�3�� � ��� !�=��*��������(��������:����*� ��"$����-'��,�������*

������4����:7*��$������7���<���;����7����)����,����3����7�1��@����� �A*�"'���������*9�-<7;�,���� ���B �,�<������

����1 � �W����a��"'���JOIN�1��� �� �1�����1 � ����a��������9�5��1 �2�'������������� �P3�F���(�1��� ��@*��(�R�����,���m3��5�������S��)����5��1 �2�'���3��INSTEAD OF�1 � ����a��1 � �"'���������

��1 �2�'��1���#��N�3��������SQL Server��V�; ������� )����� �=��*���9������� !�"$�������(��

���������� �d���6����� �V$�����* ��MEQ$�1��� �� ������=5Z����/���������"$�1 �2�'��1 � �� ������J�������1��� �I��5���@*��(�d���6���� &��R�I�SELECT�� �������B3�F�I��Query/N���������;��4������������� � F3�"

�����MEQ$����5��*� � $����* �'��<�3������ 3�#$�P3�F�I�����UV������ ������J���<LS������,��[��5��*� � $����/�������������� �V$����������� �;������^_'���R

��� �V$�,����\��15�F�����"���/��NULL��� �"<*������S����������F ��,�2���� �V$�,��[���<�4��9���� :*�,���=� K�$���-7�B�� �����SELECT������8�I����

������<L�"� E��������� ��*� ��"$���d���6����V$���� �V$�3��*���*�"J���6�������V$����"���* �'����������.;��$�UV�NULL�e���4�������"<*�P :;� ���

��<L�� K�$����1��� �� ����-�� ���� !INSERT��* ����?��9�� �����)����I����*5�"$�C�4����� &*�<�����,���=��*�������1�������INSTEAD OF-'����

��* ��"$�1��� � ��3����"���1 � �� ��� 3�#$��WITH CHECK OPTION��

WITH CHECK OPTION�������3�5��"A��SQL Server�-'��1�����!����� �G$����L� ;�����7�1 �'��$������ � ��1 � �� ������J�� ������a��� K

� ���� 1 � � ��Q*� ����� ����� ����*� ���&'� �� 1��� � x��� ����� 1��� 53��� ��� 1��� ���J�� ���&'� �)� � W��:L� ��� ������ U����� �F�3� 1��� � � WHERE�� �

SELECT���������� ����1��� �"/N����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 293: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

��������#�$�>WITH CHECK OPTION�������,�3������WITH CHECK OPTION�"��LGH��I*����3��1���3 ��������Northwind��������W�7' $�� � ���Q*������1��� �I��3������������

Oregon������ ������ ��P3�F����/������UV�Shippers������"$�1 �2�'���������W�7' $����� ���MEQ$������,2/��1��<��6���,�����������7� 3�#$��R

������ ��,b<&$�5���<�Northwind�����"$�1 �2�'��>�S�

�CREATE VIEW OregonShippers_vw

AS

SELECT��� ShipperID,

������������������CompanyName,

������������������Phone

FROM������ Shippers

WHERE Phone LIKE ‘(X�p)%’

��������OR Phone LIKE ‘(Xs�)%’

��������OR Phone LIKE ‘(qr�)%’

WITH CHECK OPTION

�I�SELECT *��* ��"$�1 � �-Q���P3�F����&'��<��9�5��^��3��������F��1��� ��3���R����7�U������F�3�P3�F����&'��<��A������B���>�S�

�ShipperID CompanyName Phone

----------- ------------------------ -----------------------

� Speedy Express (X�p) XXX8qtp�

] United Package (X�p) XXX8p�qq

p Federal Shipping (X�p) XXX8qqp�

s��������������������������������� Speedy Shippers, Inc. (X�p) XXX8XXuu

(s row(s) affected)

��� ����a��1��� �5��1 �2�'����������&'�5��"A�������"['�� �����1��<����9�1��<��6����$���� ����a���)� �1��<��I��������,2/�RX�p�S���RXs��S����Rqr��S�����:*�>�

�UPDATE OregonShippers_vw

SET Phone = ‘(ppp) XXX qtp�’

WHERE ShipperID = �

SQL Server�� ���� �� � F3�"��&!�����"$�=GL���>�

�Msg XX�, Level �u, State �, Line �

The attempted insert or update failed because the target view either specifies WITH

CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows

resulting from the operation did not qualify under the CHECK OPTION constraint.

The statement has been terminated.

�����"$������* )(��

�-<7;WHERE�1��<��6������"���&'�5����0������&'��<�Rqr��S���RXs��S����RX�p�S��3�����"$���/�������*�� WITH CHECK OPTION�"$���

�W�� �' ��� INSERT����UPDATE�-<7;�x��������WHERE����������� �����R�1��<��6��Rppp�S�� ���*����x���,���S�

���B����<L��A���UPDATE�-<7;�WHERE��� ����a��"/N��P3�F�T��H�5������&'�,�������$���� Q�<*�=��*��-7�*���� �����>�UPDATE Shippers

SET Phone = ‘(ppp) XXX qtp�’

WHERE ShipperID = �

SQL Server�����"$��<L�����*��'3 ����7��>���

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 294: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

(� row(s) affected)

��� ����UV��-� 3�#$�"/N��P3�F�����*� ��"$�P�<L��1������"� F����N�-;3�� ��*� ��"$�f�!�-�[J3�3 ����I��� �UV�� � $�,�����5�������d������-�[J3�I�

�������� ����f�!�x���I��� � ����a������ ������J���<L����"*�$5�UV���$����������P3�F�� ���1 � �� � ����a������ ������J��15�F����������������*� ��"$�"�4�������$

����;�I��� ������J���/�' �����-� 3�#$�,��CHECK������P�<L��"/N��P3�F������-7�*�D !�1���I���Q�<�,����$�����

���<������$5��*�����)� � � $�I����������d���� ������ ������J�� �� ������J������ �;�"�� 3�#$�c���3����)� ������������ !�"$�������P3�F�� ���1 �����

� ��\�"<*�";�����������,���d���6�����;����5���9�"$�6����AQ$����-'�����������1��<�1��� �I��5��1 �2�'����WITH CHECK OPTION���*� ��$���

��"��� ����P3�F�5������� �15�F�� 3�#$���0������������3������-����1��� ������� 3�#$�������������1 �2�'�� ���*�"�� 3�#$�c������

������ � $�,���-2�������$� ��� INSERT���� �N�-'������ �' �I�INSERT�x���5�����WHERE�������F��������"$�"&E���>�INSERT INTO OregonShippers_vw

VALUES

(‘My Freight Inc.’, ‘(XXX) XXX8XXXX’)

$���������"$�-���� ��&!�I���<��3-'��"/:;���&!����Q>�Msg XX�, Level �u, State �, Line �

The attempted insert or update failed because the target view either specifies WITH

CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows

resulting from the operation did not qualify under the CHECK OPTION constraint.

The statement has been terminated.

��/�' ��1��� �6����3T-SQL����/�' ��1��� ����a��=�)�����"/N�� � $T-SQL�����"$�,�+)��F�1���1 � ����a��1��� �������"/[��1��� ��$���� &�����-'��,������������� �,O�� ����������3�2��

�W�� �' �,��ALTER VIEW�3�CREATE VIEW�5�������:L��>�

� ALTER VIEW��$������������� F $�1��� �I����� �� ���K�*��CREATE�-7�*��* )������

� ALTER VIEW����"$��24�����*��1���`��[��1��� ��3�����"��5 �$��<���

� ALTER VIEW����"$��24������7��3�W�LGH���<���

$�-'����$�=3 � � � �� � �' �I����DROP� � �' �I�� 5��^_'�3������ ��F��CREATE�:��V������� ��F���� � �' ������ � �=��*�� ����������<ALTER

VIEW�� �"$�=��*��� ����*� ��"$�"*�7���(��A��������� ��� �5 �$��<�1���3 ����� �e���4�����-'�������AQ$�� � 5����*� ��"<*�"*�7���(�3����� 1 �2�'�� 1�

�����MEQ$��

�1��� �Y\4��-7�*�,���5�����1 �'��+�(�

DROP VIEW <view name>, [<view name>,[ ...n]]

� ��"$�Y\4��9�3���

�� ������ �6����3�3� ����Management Studio����� �.B�F�"��3�I�������,������ �"$�=��*��������(���*���<*����� ���������Management Studio�-'�����V�; �3�-'��w��'�1��� �I��,�!�'��-7�*�=5Z

������*���Query�-'���* )(� 5�'�"$���*9�������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 295: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�� �1��� � ��������"�)*��A��������Management Studio������������� Management Studio������5���������1�Databases�^_'�3�Northwind�

��3��3������5���������+VIEWS������I�/��-'�������A��� ����1�����,����� �����*� ��"$�8������:�����

���A��8���

��� ���New VIEW� ��"$�1 � �6��<*����F�1�����I����������D�E�*��������

�����"$����7������)����*9�5�������1 � ���� !�"$����"B3��F�D�E�*��������������1�����,����Categories��A��� �]8���P3�F�I������$����-'��1���D�E�*��

�����A/�������"<*������)� s�-�� ���� !����3�'�P3�F���

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 296: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

���A�]8���

�-'��,A<$��'����<��,O����P��'�I��>��i�����D�E�*�����P3�F�I��5��6����*� ��"$��* )(�,$���1 �'����7����P�������/��UV���RCtrl�S� ��)*�,��������3�����

�P3�F��3��� ���������D�E�*����� !�"$���� ���"B3��F��<Customers�D�E�*������� ���P�������/��^_'�3��������I�/��Orders� ��Order Details�3�

Products����� ��)*�,�����3�1 � ���Q������A����*�$p8������*��1���MEQ$�P3�F����(������ ���� !���

���A�p8���

���3�Add���*��1������J�� �$�1��� ����P3�F�,���(������ ���� !�3� �������I�/��R����1������J��P3��F�������� �;������ �<���� ��<�7�'�����7��� � ��-V�V4�

�����:��-�� ���� !��9����"�)*��$� ��� ����1��� ��)Q����3���S�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 297: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ������������������������

�1������3���A����5���:;Add Table����������� ����V�; ��"�[��1�����,����Z������Function,View�3�Synonym����������� ����"$�1��� ���A������B��

�<�V�7$���� � ��� !������A$��,����<�����1���������������� �v�F��������,��������V�7$�� H�����*� �����������J�������*9����

��3��UV��� ���Add�)Q����3���*� �����������I�/����A��� �������1��� �s8�������:��1���1 � ���Q*����

������A�s8���

�z��������(��*5�'�� �1�1��� �]� �� � F3���������P�[���0����P�[���*���F�� H������*� ��"$�=�������>�

� �z����Diagram�

� �z����Criteria�

� �z����SQL�

� �z���� Results�

����"*�7������Access��1 ��������z������*Diagram�� �m !����Q$� � $���:�����7��Query����Access�-'����

������`��[��+�*� ���"&��3����*� ��"$�"�4�3������Y\4�������J�� ���P3��F���*� ��"$������* �'���1������J��P3��F�5��=�����

�z������ �I���$ ���� H����1���`��[��U��3��3�1���"'���SQL��A�����SQL����* ��"$���?�=���� ������:&*������������

�I��^_'������� ��)*���*9��3���K#B���(����C3�$���1�����-7�������+����� *����* A�9�5��=������� ���MEQ$tooltip�

������"$�MEQ$����=������������� ��"$���?���

���A*�>�=���� �z������3��I�/��-'���������P3��F���*� ��"$�R��A��� �"�Z���z����s8���S�����+�3�D�E�*�

� Pane � View Builder

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 298: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

Add Table�� A�9��3��I�/��������3�Add Table�R���� *�� � �� ����;�Z���3��(�-<'�� ������1�����-$GL�I�����"* A�9

���������J����+�����S�

��A����*�$������* �'�5��"k[���� �15�F����� ���X8��������D�E�*���>�

���A�X8���

�= � ���Q*� ���=���� �z�����UV���k��� �"� F����N���B��� ������� �,$����������F �� ��z������@*��(Grid���$5�� ��<��

�z������ ������"$�D�E�*�����"* �'����� ���� !������5���Z��� �� $�D�E�*�Grid� ��"$���?����z�������SQL�5���+�*�

��<������SQL�� !����x ��$���� �����

�1��@���1��� �-!�'����� ����������������� CustomerOrders_vw� � $��������5�'�"$�����9�1���3 ��*������)*� ��� ���

�"��:'�#$�� �'Extendedprice�-'�����z������ �����9�"�' �� H������*� ��"$��9�� ������J������SQL�3�����������

�� �'�� �����9���Columns��� ��z���Grid������������9���[�7$�=�*�����R��A�u8�����S��

���A�u8���

�1��� �1�*5�'������=�<�����2����"�������<����"�;3SQL�� �"$��$���������5��>�

�SELECT dbo.Orders.OrderDate,

dbo.Customers.CompanyName,

dbo.Products.ProductName,

dbo.[Order Details].ProductID,

dbo.[Order Details].UnitPrice,

dbo.[Order Details].Quantity,

dbo.[Order Details].Quantity * dbo.[Order Details].UnitPrice AS

ExtendedPrice

FROM dbo.Customers INNER JOIN

dbo.Orders ON dbo.Customers.CustomerID = dbo.Orders.CustomerID INNER JOIN dbo.[Order Details] ON dbo.Orders.OrderID = dbo.[Order Details].OrderID

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 299: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

INNER JOIN

dbo.Products ON dbo.[Order Details].ProductID = dbo.Products.ProductID

����� *�"�' �W� N�������-'��������<�,����� ���� !��9����"�)*�����$��-'��W3�2�$������.B�;��A���������

���A*�>�W�� �' ����!�'���� �������@*��(T-SQL�'����� ����������+���,���5����*� ��"$������� ��AQ$��-7�����UV�������1 �2

�z�������� ���P3�F���(Diagram������D�E�*����� !�"$�������"B3��F����* �'�����������3���QA����5����*� ��"$�^_'

���5�7������9���� !��[���[� ���������1 �2�'����� ��������1��� �1�*5�'�� �W�� �' ����!�'���

�=�*��������9�� ���CustomerOrders]_vw������"$�1��!O��R� �� �I7� �"�G��I��^AL����1��!O�� A�9�5��1 �2�'�����S

�������"$����1��� �1�*5�'�3���

�� ������ �6����3Management Studio���� �1��� �6����3Management Studio�-'���9� �����" �'�������K*� � $�1��� �������� �5��*����-'��,���W3�2�������

������I�/��-'����9��3��3���3����^_'�Modify�h��H���<�1���3 �3������D�E�*�����Query��9�1��� � �����=�)��� ����

��� ���� !����� ������

�"'���74�>� F $����6��<*��+�������� �i������"$���A(�� �"$�=��*��"/<L��(�������7�*�,b<&$��$������������ �1��� �I����������1 �'������P3���������

���������6����3����1��� �I����� !�"$����"�;3���*�$Management Studio���3��"$���� �1���5����View���3��"$�

����+�3�1 ���I�/��-'��������6����3�����9���� !�"$����"��� ��3���Modify View������"$�D�E�*���������$�����

N�������1��� G$���W��� ������ !�1��Q$�")*�����

����+��Q�<����*�2'��$Management Studio������*�,����I<�����������R������1 �2�'�����1 �'���+���I��5��-'��,A<$�S

���W��EQ$���� ������m3��3 ����-'��,���1������3��$����A*�-�� ���� !�1��� �>�

� sp_helptext

� �"<�7�'�P3�Fsyscomments�

� 5�� 1 �2�'�sp_helptext�P3��F�W����a�������I���$ ��� � H� ��� �$9��5��� ��� ���F� �E7*� ��� "�;3� "�4� ��-'�� ������� ���7��

����53�����"<�7�'���

�I��������sp_helptext�"��LGH��I*��������� �5��"A���3�����Northwind��������F��� �

Alphabetical List of Products�>�EXEC sp_helptext [Alphabetical list of products]

SQL Server� � ��� !����1��� ����x ��$�����>�

Text

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 300: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

-------------------------------------------------------------

create view “Alphabetical list of products” AS

SELECT Products.*, Categories.CategoryName

FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID

WHERE (((Products.Discontinued)=�))

�-'��1 ��������-��'3�A��$����-'��":��0�3�.��L����B�g$�5��"A��,����������Y���L������� RZ�<�4���"/�Z �5��"A��,���

����-'�Northwind$��)� ��-7�*�d���6���P�g���Q������5�����<7;��"�5 $9�"��LGH��I*���I��3����7����"/�!��9�

� =�*� ��� ����AdventureWorks� �� � F3�� �� S� 5��"��LGH��I*���,��� �������"$��A�Access� ����� 1��� 1 �39�� ��i� ��(

<*����-'��,���������F ���9���������������1 �'� �� $�5��"A����D !���7��5��1��� �� ���*� ��"ORDER BY������1 �2�'����

�-<7;�1�L�;����g�'�� � $ORDER BY�5����*� ��"$����-'��,���ORDER BY��1��+�5����������1 �2�'��"�;3TOP�

�������1 ���1 �2�'����-7�*��9������"��<k��c���$���� �� �"��:2B��.�����1��� �,����� �"$�-��'3�A��$���-V�V4� �,����@*��(

Query� ���� E*��:2B��.������������*�W�;3��"���������"$���F��������

���A*�>�-<7;�5��1 �2�'��-� 3�#$����������F �ORDER BY�-'��1��� ��!� �������x ��$��������� �����1��� ����"�;3

�����-<7;�5����*� ��"$�5 ������������ �v�F���1��� �������"�;3ORDER BY�� �Query������1 �2�'�����

��������#�$������)� �1����������� �����5��1 �2�'��syscomments������"<�7�'�P3��F�5��1 �2�'��� ����5�'��l�7$�^���

�5��1 �2�'�syscomments�R�������,��������"<�7�'�P3��F��)� �3�S��+�(��<����-7�����9�3� �� � F3�"��J���' � �I���

��'����RID�S���*��1������\����������

���A*�>�"/!� �m3��������'���SQL Server�-'�������5��� ��1�9���������1 �2�'����*9�5�������������<���������$�*���F������*9

����7�%�#N� ��L�������"$��'��D !���*9�,�7*� ��$�������7�D����,����#��5��e��!���*9������� H����N �E$�-��-'��,A<$�

�,�� *�� � !�����G��� ������������*����� *��)� � ��������"����_��A'��� ������*9SQL Server������ � !�����*9�������

�P3�F���#B���������AQ$�,�����*� ��"$��*��E:� !sysobjects������Y�H����>�SELECT sc.text

FROM syscomments sc

JOIN sysobjects so

ON sc.id = so.id

WHERE so.name = ‘Alphabetical list of products’

������"$�-���� ���������<���1���3 �R�����������-V�V4� sp_helptext�,�<����F��� �"$�=��*��Query�-'���>�S�

�Text

-----------------------------------------------------------------

create view “Alphabetical list of products” AS

SELECT Products.*, Categories.CategoryName FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID

WHERE (((Products.Discontinued)=�))

(� row(s) affected)

���N ��$��F�5��,A<$��4������A��������3 �"<�7�'�P3���*������������+��<�=�� �-'3 ��<����*�$���,$��$�����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 301: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

����5��-?�24�>������ ����\+$�

������-?�24��$�*������5����� !�"$� ��5�P�<�4�������������� *����+���=�*�WZ �#$�� ������@*��(���"��F�,�B3�������

����,���=��*��-N���������7��� ��������������

����+�5��1 �2�'���� �=��*������������ ����\+$��������������WITH ENCRYPTION�-'�����-:7*����+�,��

����+�5��1 �2�'����WITH CHECK OPTION�-'���F �����;���A*�3 ����� ��>�

� WITH ENCRYPTION�5���:;�3�1��� �=�*�5���[��AS���9�"$��

� WITH ENCRYPTION���/���</��5��OPTION�����"<*�1 �2�'����

� � �' � 5�� ��� ��������� ���� � ��� ��� 13GL���ALTER VIEW�"'��' ���5 �$� +F���� ��� +�(��<� �� �����"$� 1 �2�'��

������"$�,�+)��F��� ��"$�,�+)��F�+�*����\+$�����-'��[$�,����,�����1������\+$��1��� �I����� !�"$��@*��(����a����

�-<7;�5����������� WITH ENCRYPTION�� �' �� �ALTER VIEW������1 �2�'�����

�I��������ALTER VIEW�1��� ��3�����CustomerOrders_vw�"��LGH��I*���� ����Northwind��= ��� ����

��������F����1��� ��@*��(CustomerOrders_vw��UV��-7�����������1 �A*� �������ALTER�������CREATE����a��

��� �R�"��LGH��I*���� �����9�������A*�m $���Northwind��������F���>�S�

�ALTER VIEW CustomerOrders_vw

WITH ENCRYPTION

AS

SELECT� � cu.CompanyName,

o.OrderDate,

od.ProductID,

p.ProductName,

od.Quantity,

od.UnitPrice,

od.Quantity * od.UnitPrice AS ExtendedPrice

FROM� � Customers AS cu

INNER JOIN� Orders AS o

ON cu.CustomerID = o.CustomerID

INNER JOIN ������[Order Details] AS od

ON o.OrderID = od.OrderID

INNER JOIN ������Products AS p

ON od.ProductID = p.ProductID

�� ���sp_helptext��3�����CustomerOrders_vw��������F���>�EXEC sp_helptext CustomerOrders_vw

SQL Server�� ����� �o'����<��-'� !� �����*� ��"<*������ �"$��>�The object comments have been encrypted.

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 302: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

�P3�F����'����3�1�����$��*�1���,���5��-'��,A<$syscomments���3����>�SELECT sc.text FROM syscomments sc

JOIN sysobjects so

ON sc.id = so.id

WHERE so.name = ‘CustomerOrders_vw’

�����"<*�����"/�!�+�*�1���,����$���SQL Server�����*�I��1������\+$��P3�F�����<���"$�NULL��*� ��"$������

�-'���l� �� �$��<������NG!�� H����� ��/�'3��������9��@*��(�����:����� E�����+����)��R���*�$

Management Studio����+��<��������Modify�� � ��� E*�1������\+$��P3��F���������S�1 �2�'�G���9����������"$�

�-'����

� ��A*� >� ���+� 5�� 1 �2�'�� 5���:;� ���"/N������� ��,b<&$WITH ENCRYPTION� ���� 1 ��� 1��!O�"��F� � �� ���#$���

$�� ���*� F3�-Q��������"���c�������\+�������9�������5��������� ����a������9���� E��3�������1 �A*�1��!O�"��F�� ���������

���7� ���1���3 ���

� )B������5�'��V$�1���� ��1��� ���� ���"$��� ����� �� $� )B������5�'��V$�R��)� ������� ����P3��F�S������7��3�1��� ���������*9�3����7���*9���V$��

� 5�'�"$���"�����a��������9�� ��*� ��"<*�^��c�����-'��,���-�<����� � $�RALTER�3�CREATE�S���A����5���:;����

�����������Y\4���� )B��1�����V$�1������

����(���� �� � F3�"<����Z �i��� �=��*���������,������ !�"$���(������"$�1 �2�'���9�5�>�

� � �����"$���� /F� ����������� � �W����a�� �H�!� ��� 1��� ���*�$� v�F��� �3��� 5�� ����,��� ��� �� � ���I��� ��� ����

DROP��� �"$�=��*�������)� �W����a������R ��1��� �����D��!��L����*� ��"$����� �'�I��Y\4�"�4�S��$���

��A*��F ��1��� �������� �3���9�"$�6����AQ$����-'�������"$���� /F��<L�,���5������� )B�������V$�1��� ���

� ��

� �� �M!��������� ����� � �15�F�������>�5��1 �2�'�������*9������������������ ������� ��3��M!���I����� E����

����+SCHEMABLNDING����� ������R��M!��������� ��� ������ � ������ !�"'�����$��S�

� ����5�7��-'����V$� )B��������������U' ��1���`��[��w����I����� E���@*��(�R�����*�� � F3�"����* <*UDF��<��

��������V$� )B����������S������ )B�������V$������+�*�1��� ������������ �v�F���1��� ���3��

��� �,�!�'�=�)����� �� $�,������������ �,O�� ������

����P3�F�I�����1��� �� �����:�VIEW_METADATA���������G������� ��*9���� �� �1��� ��3�������y���,������+�,��DB-LIB� ��ODBC�3�OLE-DB�P3�F�I����:�����7��

�����"$�"[;�3������������1 � ����������+�,����3��API������� ��"$�1 ��'���-��G��P3�F�C�'��R�1��� ����-'��"B3��F���

�Application Programming Interface��������� ���������������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 303: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

�-'���� �'����*9�����<���-'���9���$5��*�1 � �����W�LGH��,���� ����������-��G������$�*������"���'���=�<���� �15�F��

�����"$�-����$������*9��<��S�������"*�'�53���3����a�����;������'����* )������� E��������������F ��e���4�������"*�:��Q���

��)����I��5�����-�� ���� !INSTEAD OF������1 �2�'�����

��� �M!��������� �RMaterializedS���� SQL Server ]��X�� �UV�� � $�,���Enterprise Editions����"$�"*�:��Q���R� ��D !����7���/�Developer�3�

Evaluation Editions�:��Q�����+�,���5��+�*��P �#$����<�7�'�� ����E7*�,���5��������*�15�F���<���$�����* ���"$�"*

������1 �2�'��������E7*��<�� �� �������+�,��SQL Server ]��X�* ��"$�"*�:��Q��S���

� � � F $�T&�$� �� ��"$�1 � �v�F��� 1��� �I�����"�;3QUERY�����$��� � &�� 5�'�"$� ��� 1��� ����QUERY�����

! ��"$��<�<J�1��*� ������-'��[$�,����,����*�2'��$QUERY� ��"$����1��@���1��*� !��������T�2/����B������"��J������'

������Z������7���*� ��"$�-'��1��� ������./0���<����13GL���JOIN������)� ����QUERY�1��� �� ����"B3��F��A�����

JOIN�����"$����J���*��1������� ��A����5���:;������ �"$������A$��,����� �M!�������QUERY�5������7��5�� ����F��

�������K*�Y�N� �� $�,����

�'�'���� �M!���1��� �I����A���� �V$���'�I�����-'��"��� ���materialized�������� !�M!���I���A�����

� �� ��LGH��T�2/��1��� �5�����-7��������,���-�+$����"$������w��'��[F��$�I��1��� �W����M!���,�B3��5���[��R��������

�������� �V$�5�� ��A���L <�$�I���3������� !�M!���I��S� �SQL Server�� � �����)� �����!����*� ��"$�,��@<�

��� !���/��5��1 �2�'�����1��� ��������J��wF�$��&V*��� �L����P3��M!���5������[$�,����,���"<*�-'�����)����+�(�c�����-'�

���9��� �� � F3������ ���������� ��3�����"����!�����*� ��"<*�-;3��(�3���*� ��"$�-;3��(���� � $�,���� ������ 3�#$��R

�-'�����/��-7�B�� (������1 �$9�"A��,�����������=��3���$�>�S���

� ����+�5�������1��� SCHEMABINDING���1 �2�'����

� ���������V$� )B����������+�*�w�� ��,�������������� �v�F���������U' ��1���`��[��w�� �����1��� ����

� ���������� �v�F���1��� �c��������:*�1��� ��3�P3��F�UV��UDF��]��

� � 3�P3��F��<UDF�<7;�3 �=�*� 1�L�;�5������� 1��� �� ������ 1��� �� �1���1 � �v�F������������3����"�R��"�4

� ���7�*� 5��$� +�*� "�<7;� ���(� 3� "�<7;� �'� ���$�*� S� P�g$� �� �L� ��dbo.Customers� ��SomeUDF��

BillyBob���������� ����1��� �IB�$������3���

� LGH��I*�����<�� ������1��� ���������"����*�� ����;��9�� �1��� ��/�'3����1���1 � �v�F����������<��

� �+���� ��ANSI_NULLS� 3�QUTED_IDENTIFIER������ 1��� � 3� �����P3��F� �<� �������$5� � �

�������P�[��R�� �' �5�SET������1 �2�'�����S

� �"[&;������1��� ��/�'3����1���1 � �v�F���w�� ���<p���������

�����a����(������ �15�F���� �M!��������� � ����������P�g$��� �L����~��� �I( CustomerOrders_vw�5��6������

������P�<L���� ����!�'�,���>�

� Indexed Views � �� ������������������� � Deterministic

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 304: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

ALTER VIEW CustomerOrders_vw

WITH SCHEMABINDING

AS

SELECT� � cu.CompanyName,

� � o.OrderID,

o.OrderDate,

od.ProductID,

p.ProductName,

od.Quantity,

od.UnitPrice

FROM� � dbo.Customers AS cu

INNER JOIN� dbo.Orders AS o

ON cu.CustomerID = o.CustomerID

INNER JOIN dbo.[Order Details] AS od

ON o.OrderID = od.OrderID

INNER JOIN dbo.Products AS p

ON od.ProductID = p.ProductID

��F ���9���������������� ����"<�$�W�A*����7���5�W� N���������>�

� ����+�5�������1��� SCHENABINDING� ���"$�1 �2�'����

� � ���+�� ��� ������� � K�$���SCHENABINDING�v�F��� ��*9� ��� ���"�����������"�<7;3 ����\)$�*� 5�� �����

����� �R�P3��F��<� � $�,���� �S������1 �2�'���

������Y\4����"��:'�#$�� �'������������������5�7��"[<F���0�W���:L��3������� �M!��������� ���*� ��"$��<���A������B���

�5�'Query�-����� !�1�� �*������*9����

� �������������,���������*��� �M!���1��� �I��5 ���� ���� �M!����*� ��"$�3�-'��1��� �I������ �����+�(��9���F���

�����M!���I��"�;3��������A���<�3������ !��������1��� �� �1��� �����M!���,�B3������ ��� �������

CREATE UNIQUE CLUSTERED INDEX ivCustomerOrders

ON CustomerOrders_vw(CompanyName, OrderID, ProductID)

����� ������ !�1��� �I��� �' �,������F��5���[���/N��G����AQ$�I��,��@<�Y�H�������9���� !�"$�������� �I( ��

��������� �' �I�����F��������1��� �������SELECT������6��$59��9��3���>�SELECT * FROM CustomerOrders_vw

��'��"$��K*����D !�+�(��<��������F�����,���"�;3���A����*�$�����9�"A�����h�H����F�������"['��$��r8����� �6��<*��R

���tooltip������ ���� !��� �6��<*���+����� *����* A�9�����������Estimated Execution Plan���+����� *�U'3�� �

� �� ����;���S�

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 305: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

���A�r8���

����� �I( ���AQ$�I��������� �= � �%�J ���:;�Y�������3 �"A��� ����� &*�<��-'���9�1���*�Q*�"A�����h�H������

�"�)*�-'��1�Q*�1 �2�'���Q�<�M!�������� ���� !����������� ��9�����<7;�=�<�������

�-'���$�P3��F�+��'���Z �5��"A����"��LGH��I*��Northwind� ���*�"�������1 � ����,���P �[��I��5�'����������������"$

$5����V$�3�����"$���������"4�H�,�B3������Q��"$�P H����V$��(��A����"$�P�<L��������������������h�H��������������������"*�

����������� �� �������"4�H�"B3� ��Y�N������h�H�I�������� ����A��1���� ���*�y�3 ����-'��"V&�$�,�����9���P�g$��� �L���

�i� ����F����*�y�I��5����<��� �

���Z���P�g$�� SQL Server����"$�"'������������P3��F���A����5���:;�3����*���*����;���*9�� �� ��5����1 � ���������"$�3�

�������F�����h�H���<���� ���"$���<�������Y�N�-;3���[��'�������� ���������������������

���A*�>��������/b7$�,��� �� � F3�1 � ����V$��(����3�����1���I��� ��������Y�N���������������+����V$�� �������A����5���:;�

����������� �,O�� �������A����M!���� ������J������� ��5����7��P�<�4����I( �����1 � ��L <�$�����SQL Server�

� ��� �� !� ��F�� ���h�H�,�B3�� 3� ���"$� 1�� �*� ���M!��� ��M!���I��,��� � ���+�f�!� � $�,��� � � R����F�� � �����

INSERT���UPDATE�3�DELETE�S��� �"��+$��* )@���3�����SELECT�������!� ������

���y�����Q���M!����������� �����"�������1 � � ���"��LGH��I*���I���� �15�F�� �������C�74�� ���W3�2����*� ����A��������

���������� ���=�*��������9�-_��A'����*� ��"$CreateAndLoadNorthwindBulk.sql� /*� ���������F��3���

���A*�>���������\�������d���6������1 � ��� �V$��@*��(�������F �XXMB����I7� ���k��5��NorthwinBulk�f���!��

�-������ !���QA��P H�"<��-'��,A<$��&'�����+����\������B���-_��A'�����F��������������� � ������,��@<���

�M!���3�1��� �1���3 �� �������F�"��LGH��I*���� ���NorthwindBulk������ ������>�USE NorthwindBulk

GO

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 306: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

CREATE VIEW CustomerOrders_vw

WITH SCHEMABINDING

AS

SELECT cu.CompanyName,

o.OrderID,

o.OrderDate,

od.ProductID,

p.ProductName,

od.Quantity,

od.UnitPrice

FROM dbo.Customers AS cu

INNER JOIN dbo.Orders AS o

ON cu.CustomerID = o.CustomerID

INNER JOIN dbo.[Order Details] AS od

ON o.OrderID = od.OrderID

INNER JOIN dbo.Products AS p

ON od.ProductID = p.ProductID

GO

CREATE UNIQUE CLUSTERED INDEX ivCustomerOrders

ON CustomerOrders_vw(CompanyName, OrderID, ProductID)

�1���3 �� ���Query��3�����"/N��NorthwindBulk��������F���>�USE NorthwindBulk

SELECT * FROM CustomerOrders_vw

����F�����F�h�H�3Query�����:������R��A�t8��������1�)*�����S�

���A�t8���

�����,��SQL Server����F���������V�; �h�H�I����� �� �1 � �"����15��*�����Query�����D�E�*�����1��� ��9��� � $�,����

�� ������� �M!�������"$�P :;����-'�� F $��$�P3�F���-'����Z������7��"/:;�P�$����-:7*�1��� �,���"/��"��������

�NG!�� ��"$�1 �2�'�����7��"��LGH�����A*���� ����-'��"����+���5��"A��1��� ���"$�1 �2�'�����7����*9�5�� �����"k[�����=��1�� �,$

�L���������*9��)� �"k[��3�������*��1 ���m $�������+�I�������5��������<������"$��A���)� � �� $�5������7����*�$���E����

������1 �2�'�����7�":'��$��4�1������"�;3�1��� ��1��� � � $�� ����� �� $������� �������$������������� �>�

� ���5�7*��)� ������� �C�'������������ ������"['��9���F�����������P3��1��� �5��1�$9�-'���.'��$�W�LGH����

��� �T�3�������F�1��� ��

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 307: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

� � 5�� ���"��� �"��� � ������ ���� � ��� ��WITH CHECK OPTION�������\��Y�&[*�� ����"$� 1 �2�'��

�"B <[$���;�I����������*9��� ��"<*��������"$�����CHECK� �39�-'�����

� *�"7����� !�"$����"�;3����1��� ����x ��$�����*� ����������\+$������9����:��R���Z ����������WZ �#$�����

��)� �"���$����S

� �I��5��1 �2�'�ALTER VIEW�"�[$�,���������"$�,�+)��F��9���5 �$�5����0�������1��� �I���$���� H����

1 � � ���a�� 1��� � � � ���� 3�#$� 3� ���\+$�� ��� !� "$� ��� ������ ���+� ����� �� P�<L�� 1���

WITH ENCRYPTION�3�WITH CHECK OPTION�� �' �� ����ALTER��������O���

� �5�sp_helptext�� K�$����������1 �2�'������� ������� �����A*�1 �2�'��"<�7�'�P3��F�5����

� �� ������ �5����<�������"['Query������1 �2�'������"��J������'���*9����*5�"$��$�N�"���������3��*�� �1��<�����

��$�������� �5��� ���1 �2�'�������n���� �� $�>�

� ���&'�� �����/��

� �����"$�-K��#$�C�74����1 � �5�

� �� �"$�6������"��LGH��I*���"��@��

� �����"$��NG!�"V&�$�"��LGH��I*���I��� ����"A�+���"��LGH��I*�����(

���� � �-�� ���� !�"�)*���� ��' � 3�"B <[$�"7� *�-_��A'�� ��� �� �[��� ��-_��A'�����F�� ���"�� �� 1�)*�����,��� �

INSERT�P3�F�� ��&'�I��� ������J�������Orders�^_'�3����� �������1������J��"5�����������&'�W�LGH��5��^�

�P3�F�� ��)� ��&'�I��� ������J�Order Details1 �2�'����� ���������B�3��-<'��������$�"B <[$�3������' �����_��A'�

�����"$�-����1���1��!O��SQL Server� �� ����m !����f �E$�"7� *��$�*������

������<���� � =�*� ��� 1��� Managers� "��LGH��I*��� ���Northwind��)� � ����$����-'���'� ���"*���$���� ����� ���J��

��� ���Q*�������7��

]� ���������\+$������� ��� ��������"��� ��

p� � � � "��� � � � M!��� I�Northwind� =�*� ����Products by Category������* �'� ����� ��

CategoryName�3�ProductName������ �������

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 308: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com

Page 309: Learningsql www pupuol com

������MS SQL SERVER ��� ��������� ��� ��������������������

����

پوپول مرجع دانشگاه و مدرسه

www.pupuol.com