9
1 2200 5 We will occasionally use this arrow notation unless there is danger of no confusion. Ronald Graham Elements of Ramsey Theory ! " #"$ %& #&$ ( ) %* ! "" #$ % &’% &()"’( ’*! " $$ & +, $ * +,% -) ( . /0 !1 " 2#"$3 #"$ $ "-* * " - " #"$ 0% % ! - *" " $ " $ " "" $ $ "* ." --) ! $ - (! " $ " -* / $ " -* -* < > = , , , , , ¬ p p q p q , , ) ) ( ( R p R 5 ) ) ( ( R p R 2200 . " * % % ( % X 0 * $ 4 % *0 ! 1 2 3 5 X 2200 X " 4 * * * $ $52 ," * % $ *$ " 4 *-* " /$ 6 7 % )(5 8 $%* /%-. -* *9:* ; <’ , % %) )( 5 = $>$ 13 7 $ %>$ " % */% {S |S Sailors S.rating > 7} {S | 5S1 Sailors(S1.rating > 7 S.sname = S1.sname S.age = S1.age)}

Relational Calculus Tuple Relational Calculus TRC Formulas

  • Upload
    vutuyen

  • View
    238

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Relational Calculus Tuple Relational Calculus TRC Formulas

1

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

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

�����������

We will occasionally use thisarrow notation unless there is danger of no confusion.

Ronald GrahamElements of Ramsey Theory

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

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

� ������ �� ����(�� ���� ���� �������� ���� ���)������������ � ��%*��������� '

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

� !���������� �����������"������"��� �#$��������� ��� ���� ���%&'%&()�"���� '(�

� '��*�����!���� �"��� �� �� �$$�� �&�����������

� +�,��$��� ����*���

� +,��� ��� ������������ ��������%������� '

� -� ��������� ��� �)���������� ���� �� ����(�� ������.������������ ������������'

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

� /���0�� �������!1" 2�#"$3

� �#"$������ �$��"�����-*��*�������������" ������ �

� -� ��� � ��� ������������ " �������������������#"$ � ������ ������'

� ������� � ����� � ��0%�����%!

� ����-��* �"������"��$��"��� ��������� $��"�������� ��"�����"���� �� �$����� �

���������������������$��"��� � ����*������������������ �

��.��"��� � -�-������������� ����������������)!

�∈ ������ �� ���

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

�� � ����$� - ����������(�!

� �����"��$��"���

� -*�������/��� $��"���

� -*������������ � ��������������

� -*������������ � ��������������

< > = ≤ ≥ ≠, , , , ,

¬ ∧ ∨p p q p q, ,

))(( RpR∃))(( RpR∀

.������'������������

� "��� ���*��������� ��%����������� ��%��(��%X ������������'� 0���������*��� ��������� $����

� 4��� �� � �����%������������*���0!

� 1� 2����3

∃ X ∀ X

� "����� ������������� ��������

4 �*���������� �*�������� ���*���$��$52, "� ����*����%$��������������*�$��"��������

4 ����*��-��� ������*��������������� "� ��������� ����/�����$����

������������6��7������� ���%��� ����� ���������)�(� �5

� 8���$%�*� /���%���� -���.��� ����� -*����������*��9:��*���������������;�������������<'��,�

� ���%���� ��%�)� �� ����� ���������)�(� �5'

� =����� � ���������������$>$���� ����� 1�3� ����7�������$������ �� ���%>$���� �������"������������ � ������ ���������������%�������� ���*�/���%�

{S |S ∈Sailors ∧ S.rating > 7}

{S | ∃S1 ∈Sailors(S1.rating > 7 ∧ S.sname = S1.sname∧ S.age = S1.age)}

Page 2: Relational Calculus Tuple Relational Calculus TRC Formulas

2

���% ����� ����%65���7 ��� �� �%(���8��9

=����*�� ��$∃ ��$������������� ���� �*��57��� -��*, �*������� ������������� ����������

{S | S∈Sailors ∧ S.rating > 7 ∧∃R(R∈Reserves ∧ R.sid = S.sid

∧ R.bid = 103)}

?��� ?��� �����������

� :( �� ��������������� � ���������� ����������*���������7 (��%��)'

� "�� ��0���.���(�� ����(����7 ��� �%�������������/4;

{S | S∈Sailors ∧ S.rating > 7 ∧∃R(R∈Reserves ∧ R.sid = S.sid

∧ R.bid = 103)}

{S | S∈Sailors ∧ S.rating > 7 ∧∃R(R∈Reserves ∧ R.sid = S.sid

∧ ∃B(B∈Boats ∧ B.bid = R.bid∧ B.color = ‘red’))}

.��� ����� �����@A-*�,���� ���������B9CD.��� ����� �����@A-*�,���� �������������

!��� ����"��� "��� �� �*���EEE�

� ���%��� ����� � ������������������ < ��<��� ������ ���������� �� � �����)���� ������ �� �� �� �%<'

.��� ����� -*�,���� ������������ �*����� �∀∀∀∀)

{S | S∈Sailors ∧∀B∈Boats (∃R∈Reserves

(S.sid = R.sid∧ B.bid = R.bid))}

!��� ���� ����������)�"���F

{S | S∈Sailors ∧∀B ∈ Boats ( B.color = >��%7����∃R(R∈Reserves ∧ S.sid = R.sid

∧ B.bid = R.bid))}

Find sailors who’ve reserved all Red boats

{S | S∈Sailors ∧∀B ∈ Boats ( B.color ≠≠≠≠ >��%7 ∨∃R(R∈Reserves ∧ S.sid = R.sid

∧ B.bid = R.bid))}

Alternatively…

a ���� b is the same as ¬a ∨ b

� ?��� �����(�� �(�����;

� G$�� ��������� $�� ���*��"����������������� ��$�� ��

� ?��� ����������%��7������(���(

� �*��)��� ���� ��-�% �����

aT

F

T Fb

T

T T

F

H� �$� ����� �()��� ���6�-��

� ∃∃∃∃ 0����������0�������������� *����� ������ ��������������(������ ��� ;@� ���*����� '

� �����

� ��������EEEE!��,����*��I

� +,��� � �A����#"������%�����%%$!

� ����%/���%�*��������)��� ���������������������������)��� ��� � �$� /���%��!�J��K�*������� �� �� ������

� ������������������� !/���0���)��)�#�')'��/4$����,��� � ��0*���0����� �,��� �(����������������)�(��B������� '#�������0��/4� �������������� ������ ��C$

S |¬S∈ Sailors�

� �

� �

Page 3: Relational Calculus Tuple Relational Calculus TRC Formulas

3

��""��%

� "��������������%���� ��)���� �0%�����%*���0���)��)� D �������%��������'

� ������������)�(��� ���������������

� � �$��� ������������� ��������$��/���%�������������� �

� ����������������� � ���E�����������

� � �� ��$���/����� �����" �$-*���*�%-������������" �$*�-����"��������!�����������

� �� ������0 ���,��� ��)�)� ��*���0

� �/���%����"�L�� *�����*�� ��*�"� ��$$��������� ����

� -�)�(����% ���������� �� � ����,��� � � �����

� ���� ���*��������$������������"������� �

0������"�H ��$∀

• ∀∀∀∀x (P(x)) - is only true if P(x) is true for every x in the universe

• Usually:∀x ((x ∈ Boats) ���� (x.color = “Red”)

• � logical implication, a ���� b means that if a is true, b must be

truea ���� b is the same as ¬a ∨ b

.��� ����� -*�,���� ������������

� ���%��� ����� � �������������������<��������� �����������<��� �������� ���������� �� � �����)���� ������ �� �� �� �%��'

{S | S∈Sailors ∧∀B( (B∈Boats) �∃R(R∈Reserves ∧ S.sid = R.sid

∧ B.bid = R.bid))}

{S | S∈Sailors ∧∀B(¬(B∈Boats) ∨∃R(R∈Reserves ∧ S.sid = R.sid

∧ B.bid = R.bid))}

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

� ���%��� ����� � �������������������<��������� �����������<��� �������� ���������� �� � �����)���� ������ �� �� �� �%��'

{S | S∈Sailors ∧∀B( (B∈Boats ∧ B.color = “red”) �∃R(R∈Reserves ∧ S.sid = R.sid

∧ B.bid = R.bid))}

{S | S∈Sailors ∧∀B(¬(B∈Boats) ∨ (B.color ≠ “red”) ∨∃R(R∈Reserves ∧ S.sid = R.sid

∧ B.bid = R.bid))}

�/4!"��/���04��)��)�A����

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

�����������

Life is just a bowl of queries.

-Anon(not Forrest Gump)

���������� ���%��������

� -��F�� ����)�������������������%��! ������ ��������������*���0��)��%���'

� "�� �(���)��)� !

� &&4G &���&���������4��)��)�

� ��$������"���$% �*�"�������D����� �

� &H4G &���H�����������4��)��)�

� ����� �����-����������������%�

� "��&<H�� �� ��� �(��������������� ��������'

� �*���%������ � �"����� $������������/����� �

� 0���- �*�����"�L������&�����J�*������������� ������ ����*���*��� -����� ����*������ G��������� �"��������� � ��$����)� ����*�����$���� ���* ����*% ������������ �

Page 4: Relational Calculus Tuple Relational Calculus TRC Formulas

4

�*�� � ���%��������

� �*�"� �-����%� ������������/���%���������

� ������ �������� � �&9;;;� =��$���% ��������%��

� G���������MN�7���&����������O ������� ������� "����� 8��%�$-*��*-��������������6� ���� *�����'������%I

� � �&>CC)� �����$�

� � �&;>� ��� �� �� ��� 8� � % ��" �������"����"

� 6� ����� �*� �"�M���/��O � ���� � � ��"� � % ��" �

� P8� ������J������������ �*���)��*�������$��� ��"������*� ����������� ��

!!�� ����������• CREATE TABLE table_name

( { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ] | table_constraint } [, ... ] )

• Data Types (PostgreSQL) include:character(n) – fixed-length character stringcharacter varying(n) – variable-length character stringsmallint, integer, bigint, numeric, real, double precision

date, time, timestamp, …serial - unique ID for indexing and cross reference…

• PostgreSQL also allows OIDs, arrays, inheritance, rules…conformance to the SQL-1999 standard is variable so we won’t use

these in the project.

�����������-J����"���� ������ �• CREATE TABLE table_name

( { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ] | table_constraint } [, ... ] )

Column Constraints:• [ CONSTRAINT constraint_name ]

{ NOT NULL | NULL | UNIQUE | PRIMARY KEY | CHECK (expression) | REFERENCES reftable [ ( refcolumn ) ] [ ON DELETE action ] [ ON UPDATE action ] }

action is one of:NO ACTION, CASCADE, SET NULL, SET DEFAULT

expression for column constraint must produce a boolean result and reference the related column’s value only.

�����������-J�������� ������ �• CREATE TABLE table_name

( { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ] | table_constraint } [, ... ] )

Table Constraints:• [ CONSTRAINT constraint_name ]

{ UNIQUE ( column_name [, ... ] ) | PRIMARY KEY ( column_name [, ... ] ) | CHECK ( expression ) | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ ON DELETE action ] [ ON UPDATE action ] }

Here, expressions, keys, etc can include multiple columns

�����������()�"��� �

�(0�(�0'�($��" �

����Q0��R�6�G80�ST(S�

������0�Q0��UC��

���!(G80��D��

����V����!0�(�

�����0�Q0��9C��

N=���0G=�����������H=G H(�����V�����

.N�(GW=T(S����(.(�(=(��� �������� N=!(�(�(=N0�GN=

�K

�(0�(�0'�(�� �������� �

���!(G80��D�6�G80�ST(S�

��"��0�Q0��UC�

N=���0G=����9Q(T����@9CC0=!��"�X@< ,�

�K

�*�� �!8�

� ������&�����/����� ��� �����*�$��-����

� ��$������9:%������ ������ �-����-�����

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

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

���$���7� ���"� �������� ���������*�$�� ������

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

sid name login age gpa

53666 Jones jones@cs 18 3.4

53688 Smith smith@ee 18 3.2

Page 5: Relational Calculus Tuple Relational Calculus TRC Formulas

5

���%���8��������������� � �� ����$%�7��������-������ � $����- �

������������������������� ����������� ����������������������� !"#���� ����$%&

�� ���#

sid name login age gpa

53666 Jones jones@cs 18 3.4

53688 Smith smith@ee 18 3.2

sid cid grade53831 Carnatic101 C53831 Reggae203 B53650 Topology112 A53666 History105 B

S.name E.cidJones History105

Note: obviously no referential integrity constraints have been used here.

'� ��� � ���%

� ��������&�� ��0�� ��$����������"�

� �� ���%-��*������&���������$������*��"�

� ������&�� ��0�� ��$��������� �$����� ����������&�� �

� /����$���������"���� �� ��"������ ���0=!�N����=N��� �"���� �� ���0�������� ���0���9��0���>�-*������ ����$

� !G��G=������������%-��������������*���*��� -�� *����������������������� �

� G�� ��(�(���*���$����� �*����������� ���������"������I��� ���� �������M"���� ��O�

SELECT [DISTINCT] target-listFROM relation-listWHERE qualification

< > = ≤ ≥ ≠, , , , ,

� ��"����� �$��� �/���%�����$���������" �$�*�$����-����������������������� ������%�

9� ��.�N8���� ����"������� &��������$����� ������������� ���(���������

>� ��+Q(�(���� ��*������������ ��� ��������� �*��$�����������M ��������O��

D� ���(�(����� ��!�������-�����$���� ��������M���7������O��

U� G$!G��G=� ����$�������"����������������- �

� 6������%�*���� ��$$������-�%����"�����/���%I

�0�����"�L��-���$���"����$$������ �������� ������*� �"��� -���

���%��"����� ����9� �� 6������

S.sid S.name S.login S.age S.gpa E.sid E.cid E.grade 53666 Jones jones@cs 18 3.4 53831 Carnatic101 C 53666 Jones jones@cs 18 3.4 53832 Reggae203 B 53666 Jones jones@cs 18 3.4 53650 Topology112 A 53666 Jones jones@cs 18 3.4 53666 History105 B 53688 Smith smith@ee 18 3.2 53831 Carnatic101 C 53688 Smith smith@ee 18 3.2 53831 Reggae203 B 53688 Smith smith@ee 18 3.2 53650 Topology112 A 53688 Smith smith@ee 18 3.2 53666 History105 B ������������������������� ����������� ����������������������� !"#���� ����$%&

����>�!� ��������� �*��$������������

S.sid S.name S.login S.age S.gpa E.sid E.cid E.grade 53666 Jones jones@cs 18 3.4 53831 Carnatic101 C 53666 Jones jones@cs 18 3.4 53832 Reggae203 B 53666 Jones jones@cs 18 3.4 53650 Topology112 A 53666 Jones jones@cs 18 3.4 53666 History105 B 53688 Smith smith@ee 18 3.2 53831 Carnatic101 C 53688 Smith smith@ee 18 3.2 53831 Reggae203 B 53688 Smith smith@ee 18 3.2 53650 Topology112 A 53688 Smith smith@ee 18 3.2 53666 History105 B ������������������������� ����������� ����������������������� !"#���� ����$%&

����D�!� ����H�-��������"�

S.sid S.name S.login S.age S.gpa E.sid E.cid E.grade 53666 Jones jones@cs 18 3.4 53831 Carnatic101 C 53666 Jones jones@cs 18 3.4 53832 Reggae203 B 53666 Jones jones@cs 18 3.4 53650 Topology112 A 53666 Jones jones@cs 18 3.4 53666 History105 B 53688 Smith smith@ee 18 3.2 53831 Carnatic101 C 53688 Smith smith@ee 18 3.2 53831 Reggae203 B 53688 Smith smith@ee 18 3.2 53650 Topology112 A 53688 Smith smith@ee 18 3.2 53666 History105 B ������������������������� ����������� ����������������������� !"#���� ����$%&

Page 6: Relational Calculus Tuple Relational Calculus TRC Formulas

6

=�-�*�!�����

sid sname rating age

22 Dustin 7 45.031 Lubber 8 55.595 Bob 3 63.5

bid bname color101 Interlake blue102 Interlake red103 Clipper green104 Marine red

sid bid day

22 101 10/10/9695 103 11/12/96

Reserves

Sailors

Boats

+�-���� ��*� ��� ����� �$�������� ������)�"��� �

� �� �����G$�*���%$���*��� ���� ��������������������%�*���������� ���������*�--�����*� �"����� ��$$��E�

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

��!����!%���%�����'0���("��)��*(�!+�,�+���0���� ��!�'-./������ ���!'�.//

��!����!%������ 1���'��� ("��)������"��������� ��0���("��)�����2�#!����*(�!+�,�+�'�����0������2/����()"�,�+�'0��/�����"����%����/

0���*��?��� ���%

(sid) sname rating age (sid) bid day

22 dustin 7 45.0 22 101 10/10/96 22 dustin 7 45.0 95 103 11/12/96 31 lubber 8 55.5 22 101 10/10/96 31 lubber 8 55.5 95 103 11/12/96 95 Bob 3 63.5 22 101 10/10/96

95 Bob 3 63.5 95 103 11/12/96

SELECT snameFROM Sailors, Reserves WHERE Sailors.sid=Reserves.sid

AND bid=103

��"�=��� ���������������

� ��� ������M������������� O -��*�*������ ���*�.�N8���� ��� ��� -�������"��� /����� �� ���������� ����

� =�����-*���"������%�������� ��� $���)�"�����$ �"������� ��"���������"� �� �"�.�N8��������M ��$&7���O�

���������������������� �������� 1������������������ !"#�0����.3

�������������������� ����� 1������������� ��������� 1������ !"#�0����.3

������-������� ���������������� � �

8���=��� � Q���, ���)�"���-*���������������� �����/������ ��$&7����)�"�����

� =����*���������� ���������������%MYO �$%�����,�-�����������7�������

��������4��������4������2��������2������������ ��4������� ��2������4�����5�2����

����������������� ��4������4�����5�-.

.��� ����� -*�,���� ���������� ��������

� +����������!G��G=����*� /���%"������$$������E

� +*��� �*��$$����$����������� ���%�� ��"����*��(�(����� �E� +����������!G��G=����*� ��������$�*�/���%"������$$������E

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

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

Page 7: Relational Calculus Tuple Relational Calculus TRC Formulas

7

()��� ���

� ��� �����*"�����)��� ��� ���(�(����� ����� ��*����������� -�,���� �� ������

� H �0��������������"���"�

� ���� �*����)��� ��� ��+Q(�(���� ��

�������������������67�!� ������-�������!� ���-��������� ���

������������� ��$# ����8

�����������������!����������-�������!������-��������� ����������� ���-

������-���� ���������-� ������6 �

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

5V, ���� $����%����*����������5Z, ���� $��C��"�����������%�*������� �

��������������������67�!��������-�������!�����-��������� ���

������������� �(,� $%9:08

�� ��� � ������ �"� ��������������

�M�(,�; � � ��$�� �����"���*����

.��� ��, �$ ����� -*�,���� ����������� ����������

� H=GN=������ ������"�����*�������$��%�-������&��"������� �� �$����� �-*��*����*�" ���� �*��� ����$� �/����� ��

��������������%�����%���� 1���

������0���%�0���!"#�'%����� �$ ��8 %����� �$� ���8/

���������������%�����%����� 1���

������0���%�0���!"#�%����� �$ ��8<"("�<"("�<"("�<"("������������

���%�����%����� 1���������0���%�0���!"#�%����� �$� ���8

Vs.��������������%�����%���� 1���������0���%�0���!"#�'%����� �$ ��8 !"#!"#!"#!"# %����� �$� ���8/

.��� ��, �$ ����� -*�,���� �����������%����������

� G$-� �"��%�������N��%0=!���*�������� /���%�-�����*�-������ -����+*%E�

� G� ����������� �� ��$&7����

���������������%�����%������ 1�����

%�����%-����� 1���-�����������-����

!"#���0���%��0���!"#�-�0���%-�0��!"#�'%������ �$ ��8 !"# %-����� �$� ���8/

0=!��������F

� ?I"+��+"!%� �� �%��(��.' ��(�� �%����������������� ����������0��������E�������(�� �� ������� '

� -� �����,�!+J+A"# ������� �����%H?I@�$

� ?����%�%������/4BK� ���%��%�(�����0 0 ��� %��7� ����������'

� '��6� ����� ���� I

�������������������� �����%�����%��

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

!"#��0���%�0��!"#�%����� �$ ��8

("�������������������������� �����%�����%��

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

!"#��0���%�0��!"#�%����� �$� ���8

Key field!� A�����������������/4!LM+�+���� ������ �������������/4*���0;

� 0������%� ����.�N8���Q0�G=W���� � �

� "����% ����� ���7 ������ �� �%8��9�� �I:"?I'

� "���%�� ���% ������� ���� ��%*����� !

� �*����$��� ������� �����������.�����*������ �������*����*�/����$��������%��"�������*� ��/���%�

=� ��� �����

������������������������ �������������� ("�'�����������

������� 1����������0����.3/

Names of sailors who’ve reserved boat #103:

Page 8: Relational Calculus Tuple Relational Calculus TRC Formulas

8

=� ��� ����� -��*����������

� +J?�"�� ������� ��������� �������������.�?I'

� ���� � �����0I:"+J?�"�

� ?�@I?/@+� � �%���%N� �������%(0�'(�%����% ����� �������� ������ �� ��������(���8��9'

� H=G H(�*��� $���������������� ��� ��/���%K

� ��(*���0�� �(����������%������������� �����'

� �*����$ ��/���%� �$������������*����� �/���%I

������������������������ ���������=(����'���������

������� 1���������0����.3�!"#�����������/

Find names of sailors who’ve reserved boat #103: 8��������&�"���� ��N�������

� L�7 ������%0 ���?I�+J?�"���%@I?/@+'���� �� �I:"?I�I:"+J?�"���%I:"@I?/@+'

� -� �� ����(��!��-IO���-44

� ���% ����� ��� ������)� )���������������� ��� ����������%M������!

������������������ ����������� ������5�!"+�'���������-� �����

��������� ���-������-�������$�� ����8/

��-������G=�(��(� ����� H ���G=

� ��������0�+J+A"*����� ��E�������� ��)I:"?I'

� M������%0������)���� �����%���� #��� �%7 $�������� ���7 ��� �� �%(�����%��%)����(��� P

Find sid’s of sailors who’ve reserved both a red and a green boat:

���������������%�����%����� 1���������0���%�0���

!"#�%����� �$ ��8!"#����� ("�'�������-����

����%�����%-����� 1���-������-�0���%-�0��!"#��%-����� �$� ���8/

!��� ������ �

SELECT S.snameFROM Sailors SWHERE NOT EXISTS (SELECT B.bid

FROM Boats B WHERE NOT EXISTS (SELECT R.bid

FROM Reserves RWHERE R.bid=B.bid

AND R.sid=S.sid))

Sailors S such that ...

there is no boat B without ...

a Reserves tuple showing S reserved B

Find sailors who’ve reserved all boats.

'� ��� � ����� & ��""��%� 0�����������$�*�����������"����� �� -���&��$����/���% �"����� �

� � �������� $�����������%��� ����*���$�*��� ������������"�����

� �"���$$������ �����������*����������������� � ���������� �����

� �%������%�"��%-�% ��-�����/���%

��*� % ��"� �� ��� ����$��$��������$� �-�%���������%�)������/���%�������� �$*�-��� -�������

� ��� "���$�����������%��%����*� ��� ��$������ �+�������������� �� �/����������� �

0��������N�������

� ��)���������,��� �����������������)�(��'

COUNT (*)COUNT ( [DISTINCT] A)SUM ( [DISTINCT] A)AVG ( [DISTINCT] A)MAX (A)MIN (A)

SELECT AVG (S.age)FROM Sailors SWHERE S.rating=10

SELECT COUNT (*)FROM Sailors S

single column

SELECT COUNT (DISTINCT S.rating)FROM Sailors SWHERE S.sname=‘Bob’

Page 9: Relational Calculus Tuple Relational Calculus TRC Formulas

9

0��������N�������

COUNT (*)COUNT ( [DISTINCT] A)SUM ( [DISTINCT] A)AVG ( [DISTINCT] A)MAX (A)MIN (A)

SELECT AVG ( DISTINCT S.age)FROM Sailors SWHERE S.rating=10

SELECT S.snameFROM Sailors SWHERE S.rating= (SELECT MAX(S2.rating)

FROM Sailors S2)

single column

.�����"��������$�*����� � ������ �

� "����� �*���0� ���������;

� "���%*���0�*�� ������� ����%*���0

� ����-����� �J;> �������������� ���������� �"� % ��" �� 6� ����� � ��" �������

SELECT S.sname, MAX (S.age)FROM Sailors S

SELECT S.sname, S.ageFROM Sailors SWHERE S.age =

(SELECT MAX (S2.age)FROM Sailors S2)

SELECT S.sname, S.ageFROM Sailors SWHERE (SELECT MAX (S2.age)

FROM Sailors S2)= S.age

W�NH6'S���Q0�G=W

� ��������7 �������%�))��)����������� �����#*�����0��)$����� '

� ��"���"� �-�-���������%�*�"�����*�$ ����������� �$����� �

� �� �%��!���%����)������0���)� � �����������������)�� ��'

� G���������-����,����-*�-"��%����������� �)� �����-*���*������������ $���*� ������ ���I

� ����� �-����-�*������������� ��$��"9��9CK-����-����9C/����� �*�����������*� �I��

SELECT MIN (S.age)FROM Sailors SWHERE S.rating = i

For i = 1, 2, ... , 10: