maropu commented on a change in pull request #28151: [SPARK-31383][SQL][DOC]
Clean up the SQL documents in docs/sql-ref*
URL: https://github.com/apache/spark/pull/28151#discussion_r405880362
##########
File path: docs/sql-ref-syntax-qry-select-setops.md
##########
@@ -19,161 +19,178 @@ license: |
limitations under the License.
---
+### Description
+
Set operators are used to combine two input relations into a single one. Spark
SQL supports three types of set operators:
-- `EXCEPT` or `MINUS`
-- `INTERSECT`
-- `UNION`
+
+ - `EXCEPT` or `MINUS`
+ - `INTERSECT`
+ - `UNION`
Note that input relations must have the same number of columns and compatible
data types for the respective columns.
### EXCEPT
+
`EXCEPT` and `EXCEPT ALL` return the rows that are found in one relation but
not the other. `EXCEPT` (alternatively, `EXCEPT DISTINCT`) takes only distinct
rows while `EXCEPT ALL` does not remove duplicates from the result rows. Note
that `MINUS` is an alias for `EXCEPT`.
#### Syntax
+
{% highlight sql %}
[ ( ] relation [ ) ] EXCEPT | MINUS [ ALL | DISTINCT ] [ ( ] relation [ ) ]
{% endhighlight %}
-### INTERSECT
-`INTERSECT` and `INTERSECT ALL` return the rows that are found in both
relations. `INTERSECT` (alternatively, `INTERSECT DISTINCT`) takes only
distinct rows while `INTERSECT ALL` does not remove duplicates from the result
rows.
+#### Examples
-#### Syntax
{% highlight sql %}
-[ ( ] relation [ ) ] INTERSECT [ ALL | DISTINCT ] [ ( ] relation [ ) ]
-{% endhighlight %}
-
-### UNION
-`UNION` and `UNION ALL` return the rows that are found in either relation.
`UNION` (alternatively, `UNION DISTINCT`) takes only distinct rows while `UNION
ALL` does not remove duplicates from the result rows.
-
-#### Syntax
-{% highlight sql %}
-[ ( ] relation [ ) ] UNION [ ALL | DISTINCT ] [ ( ] relation [ ) ]
-{% endhighlight %}
-
-### Examples
-{% highlight sql %}
--- Use number1 and number2 tables to demonstrate set operators.
+-- Use number1 and number2 tables to demonstrate set operators in this page.
SELECT * FROM number1;
-+---+
-| c|
-+---+
-| 3|
-| 1|
-| 2|
-| 2|
-| 3|
-| 4|
-+---+
-
+ +---+
+ | c|
+ +---+
+ | 3|
+ | 1|
+ | 2|
+ | 2|
+ | 3|
+ | 4|
+ +---+
+
SELECT * FROM number2;
-+---+
-| c|
-+---+
-| 5|
-| 1|
-| 2|
-| 2|
-+---+
+ +---+
+ | c|
+ +---+
+ | 5|
+ | 1|
+ | 2|
+ | 2|
+ +---+
SELECT c FROM number1 EXCEPT SELECT c FROM number2;
-+---+
-| c|
-+---+
-| 3|
-| 4|
-+---+
+ +---+
+ | c|
+ +---+
+ | 3|
+ | 4|
+ +---+
SELECT c FROM number1 MINUS SELECT c FROM number2;
-+---+
-| c|
-+---+
-| 3|
-| 4|
-+---+
+ +---+
+ | c|
+ +---+
+ | 3|
+ | 4|
+ +---+
SELECT c FROM number1 EXCEPT ALL (SELECT c FROM number2);
-+---+
-| c|
-+---+
-| 3|
-| 3|
-| 4|
-+---+
+ +---+
+ | c|
+ +---+
+ | 3|
+ | 3|
+ | 4|
+ +---+
SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
-+---+
-| c|
-+---+
-| 3|
-| 3|
-| 4|
-+---+
+ +---+
+ | c|
+ +---+
+ | 3|
+ | 3|
+ | 4|
+ +---+
+{% endhighlight %}
+### INTERSECT
+
+`INTERSECT` and `INTERSECT ALL` return the rows that are found in both
relations. `INTERSECT` (alternatively, `INTERSECT DISTINCT`) takes only
distinct rows while `INTERSECT ALL` does not remove duplicates from the result
rows.
+
+#### Syntax
+
+{% highlight sql %}
+[ ( ] relation [ ) ] INTERSECT [ ALL | DISTINCT ] [ ( ] relation [ ) ]
+{% endhighlight %}
+
+#### Examples
+
+{% highlight sql %}
Review comment:
@huaxingao I moved the examples into the seb-sections of
`EXCEPT/INTERSECT/UNION` for readability. Could you check this?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]