278 lines
17 KiB
XML
278 lines
17 KiB
XML
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|||
|
|
|||
|
<svg
|
|||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|||
|
xmlns:cc="http://creativecommons.org/ns#"
|
|||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
|||
|
xmlns="http://www.w3.org/2000/svg"
|
|||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|||
|
width="195.6194mm"
|
|||
|
height="147.07428mm"
|
|||
|
viewBox="0 0 195.6194 147.07428"
|
|||
|
version="1.1"
|
|||
|
id="svg8"
|
|||
|
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
|||
|
sodipodi:docname="2018-01-31-parts_of_sql.svg">
|
|||
|
<defs
|
|||
|
id="defs2">
|
|||
|
<marker
|
|||
|
inkscape:stockid="Arrow1Lend"
|
|||
|
orient="auto"
|
|||
|
refY="0"
|
|||
|
refX="0"
|
|||
|
id="marker1545"
|
|||
|
style="overflow:visible"
|
|||
|
inkscape:isstock="true">
|
|||
|
<path
|
|||
|
id="path1543"
|
|||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
|||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
|||
|
inkscape:connector-curvature="0" />
|
|||
|
</marker>
|
|||
|
<marker
|
|||
|
inkscape:stockid="Arrow1Lend"
|
|||
|
orient="auto"
|
|||
|
refY="0"
|
|||
|
refX="0"
|
|||
|
id="marker1217"
|
|||
|
style="overflow:visible"
|
|||
|
inkscape:isstock="true">
|
|||
|
<path
|
|||
|
id="path1215"
|
|||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
|||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
|||
|
inkscape:connector-curvature="0" />
|
|||
|
</marker>
|
|||
|
<marker
|
|||
|
inkscape:isstock="true"
|
|||
|
style="overflow:visible"
|
|||
|
id="marker1175"
|
|||
|
refX="0"
|
|||
|
refY="0"
|
|||
|
orient="auto"
|
|||
|
inkscape:stockid="Arrow1Lend"
|
|||
|
inkscape:collect="always">
|
|||
|
<path
|
|||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
|||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
|||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|||
|
id="path1173"
|
|||
|
inkscape:connector-curvature="0" />
|
|||
|
</marker>
|
|||
|
<marker
|
|||
|
inkscape:stockid="Arrow1Lend"
|
|||
|
orient="auto"
|
|||
|
refY="0"
|
|||
|
refX="0"
|
|||
|
id="Arrow1Lend"
|
|||
|
style="overflow:visible"
|
|||
|
inkscape:isstock="true"
|
|||
|
inkscape:collect="always">
|
|||
|
<path
|
|||
|
id="path848"
|
|||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
|||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
|||
|
inkscape:connector-curvature="0" />
|
|||
|
</marker>
|
|||
|
</defs>
|
|||
|
<sodipodi:namedview
|
|||
|
id="base"
|
|||
|
pagecolor="#ffffff"
|
|||
|
bordercolor="#666666"
|
|||
|
borderopacity="1.0"
|
|||
|
inkscape:pageopacity="0.0"
|
|||
|
inkscape:pageshadow="2"
|
|||
|
inkscape:zoom="0.7"
|
|||
|
inkscape:cx="154.41551"
|
|||
|
inkscape:cy="77.010708"
|
|||
|
inkscape:document-units="mm"
|
|||
|
inkscape:current-layer="layer1"
|
|||
|
showgrid="false"
|
|||
|
fit-margin-top="0"
|
|||
|
fit-margin-left="0"
|
|||
|
fit-margin-right="0"
|
|||
|
fit-margin-bottom="0"
|
|||
|
inkscape:window-width="1920"
|
|||
|
inkscape:window-height="1031"
|
|||
|
inkscape:window-x="0"
|
|||
|
inkscape:window-y="1"
|
|||
|
inkscape:window-maximized="1" />
|
|||
|
<metadata
|
|||
|
id="metadata5">
|
|||
|
<rdf:RDF>
|
|||
|
<cc:Work
|
|||
|
rdf:about="">
|
|||
|
<dc:format>image/svg+xml</dc:format>
|
|||
|
<dc:type
|
|||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|||
|
<dc:title></dc:title>
|
|||
|
</cc:Work>
|
|||
|
</rdf:RDF>
|
|||
|
</metadata>
|
|||
|
<g
|
|||
|
inkscape:label="Layer 1"
|
|||
|
inkscape:groupmode="layer"
|
|||
|
id="layer1"
|
|||
|
transform="translate(-7.1997539,-2.9412171)">
|
|||
|
<text
|
|||
|
xml:space="preserve"
|
|||
|
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
|||
|
x="9.0714293"
|
|||
|
y="33.92857"
|
|||
|
id="text12"><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
id="tspan10"
|
|||
|
x="9.0714293"
|
|||
|
y="33.92857"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">SELECT [DISTINCT] <tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ff0000"
|
|||
|
id="tspan26">target-list</tspan></tspan><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="9.0714293"
|
|||
|
y="47.219749"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
|||
|
id="tspan14" /><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="9.0714293"
|
|||
|
y="60.448914"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
|||
|
id="tspan16" /><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="9.0714293"
|
|||
|
y="73.678078"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
|||
|
id="tspan18">FROM <tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ff0000"
|
|||
|
id="tspan28">relation-list</tspan></tspan><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="9.0714293"
|
|||
|
y="86.969261"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
|||
|
id="tspan20" /><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="9.0714293"
|
|||
|
y="100.19843"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
|||
|
id="tspan22" /><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="9.0714293"
|
|||
|
y="113.42759"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
|
|||
|
id="tspan24">WHERE <tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ff0000"
|
|||
|
id="tspan30">condition</tspan></tspan></text>
|
|||
|
<g
|
|||
|
id="g1131"
|
|||
|
class="fragment">
|
|||
|
<text
|
|||
|
id="text34"
|
|||
|
y="86.845245"
|
|||
|
x="11.339282"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
|||
|
xml:space="preserve"><tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
y="86.845245"
|
|||
|
x="11.339282"
|
|||
|
id="tspan32"
|
|||
|
sodipodi:role="line">A list of relation names </tspan><tspan
|
|||
|
id="tspan36"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
y="95.664688"
|
|||
|
x="11.339282"
|
|||
|
sodipodi:role="line">(possibly with a range-variable after each name)</tspan></text>
|
|||
|
<path
|
|||
|
inkscape:connector-curvature="0"
|
|||
|
id="path38"
|
|||
|
d="M 95.249999,84.577379 107.34524,76.261904"
|
|||
|
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
|
|||
|
</g>
|
|||
|
<g
|
|||
|
id="g1253"
|
|||
|
transform="translate(23.434524,-37.041667)"
|
|||
|
class="fragment">
|
|||
|
<text
|
|||
|
xml:space="preserve"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
|||
|
x="-7.5595274"
|
|||
|
y="89.869057"
|
|||
|
id="text1163"><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="-7.5595274"
|
|||
|
y="89.869057"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
id="tspan1161">A list of attributes of relations in <tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ff0000"
|
|||
|
id="tspan1171">relation-list</tspan></tspan></text>
|
|||
|
<path
|
|||
|
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1217)"
|
|||
|
d="M 95.249999,84.577379 107.34524,76.261904"
|
|||
|
id="path1165"
|
|||
|
inkscape:connector-curvature="0" />
|
|||
|
</g>
|
|||
|
<g
|
|||
|
transform="translate(21.166667,-64.255953)"
|
|||
|
id="g1524"
|
|||
|
class="fragment">
|
|||
|
<text
|
|||
|
id="text1211"
|
|||
|
y="195.70239"
|
|||
|
x="-14.363099"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
|||
|
xml:space="preserve"><tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
y="195.70239"
|
|||
|
x="-14.363099"
|
|||
|
sodipodi:role="line"
|
|||
|
id="tspan1255">Comparisons (‘=’, ‘<>’, ‘<‘, ‘>’, ‘<=’, ‘>=’) and other </tspan><tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
y="204.52184"
|
|||
|
x="-14.363099"
|
|||
|
sodipodi:role="line"
|
|||
|
id="tspan1263">boolean predicates, combined using AND, OR, and NOT </tspan><tspan
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
y="213.34128"
|
|||
|
x="-14.363099"
|
|||
|
sodipodi:role="line"
|
|||
|
id="tspan1257">(a boolean formula)</tspan></text>
|
|||
|
<path
|
|||
|
inkscape:connector-curvature="0"
|
|||
|
id="path1213"
|
|||
|
d="m 86.858927,189.88154 -5.367258,-8.31547"
|
|||
|
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1175)"
|
|||
|
sodipodi:nodetypes="cc" />
|
|||
|
</g>
|
|||
|
<g
|
|||
|
id="g2074"
|
|||
|
class="fragment">
|
|||
|
<text
|
|||
|
xml:space="preserve"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
|||
|
x="19.654758"
|
|||
|
y="8.3017855"
|
|||
|
id="text1532"><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="19.654758"
|
|||
|
y="8.3017855"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
id="tspan1590">(optional) keyword indicating that the answer </tspan><tspan
|
|||
|
sodipodi:role="line"
|
|||
|
x="19.654758"
|
|||
|
y="17.121229"
|
|||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#666666;stroke-width:0.26458332"
|
|||
|
id="tspan1597">should not contain duplicates</tspan></text>
|
|||
|
<path
|
|||
|
sodipodi:nodetypes="cc"
|
|||
|
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1545)"
|
|||
|
d="m 81.567261,18.733908 4.838099,7.55953"
|
|||
|
id="path1534"
|
|||
|
inkscape:connector-curvature="0" />
|
|||
|
</g>
|
|||
|
</g>
|
|||
|
</svg>
|