Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
How To Use UNION to Merge Outputs from Two Queries Together
How To Use UNION to Merge Outputs from Two Queries Together? - MySQL FAQs - SQL SELECT Statements with JOIN and Subqueries
✍: FYIcenter.com
If you have two queries that returns the same row fields, you can merge their outputs together with the UNION operator. The following tutorial exercise shows you how to return all links that were created since year 2006 plus the one more link immediately before that:
mysql> SELECT id, url, created FROM fyi_links ORDER BY created DESC; +-----+-------------------+---------------------+ | id | url | created | +-----+-------------------+---------------------+ | 102 | dba.fyicenter.com | 2006-07-01 12:00:00 | | 103 | sqa.fyicenter.com | 2006-07-01 12:00:00 | | 101 | dev.fyicenter.com | 2006-04-30 00:00:00 | | 104 | www.mysql.com | 2006-01-01 00:00:00 | | 105 | www.oracle.com | 2005-01-01 00:00:00 | | 106 | www.php.net | 2004-01-01 00:00:00 | | 107 | www.winrunner.com | 2003-01-01 00:00:00 | +-----+-------------------+---------------------+ 7 rows in set (0.00 sec) mysql> SELECT id, url, created FROM fyi_links WHERE created > '2005-12-31' ORDER BY created DESC; +-----+-------------------+---------------------+ | id | url | created | +-----+-------------------+---------------------+ | 102 | dba.fyicenter.com | 2006-07-01 12:00:00 | | 103 | sqa.fyicenter.com | 2006-07-01 12:00:00 | | 101 | dev.fyicenter.com | 2006-04-30 00:00:00 | | 104 | www.mysql.com | 2006-01-01 00:00:00 | +-----+-------------------+---------------------+ 4 rows in set (0.00 sec) mysql> SELECT id, url, created FROM fyi_links WHERE created <= '2005-12-31' ORDER BY created DESC LIMIT 1; +-----+----------------+---------------------+ | id | url | created | +-----+----------------+---------------------+ | 105 | www.oracle.com | 2005-01-01 00:00:00 | +-----+----------------+---------------------+ 1 row in set (0.01 sec) mysql> (SELECT id, url, created FROM fyi_links WHERE created > '2005-12-31' ORDER BY created DESC) UNION (SELECT id, url, created FROM fyi_links WHERE created <= '2005-12-31' ORDER BY created DESC LIMIT 1); +-----+-------------------+---------------------+ | id | url | created | +-----+-------------------+---------------------+ | 101 | dev.fyicenter.com | 2006-04-30 00:00:00 | | 102 | dba.fyicenter.com | 2006-07-01 12:00:00 | | 103 | sqa.fyicenter.com | 2006-07-01 12:00:00 | | 104 | www.mysql.com | 2006-01-01 00:00:00 | | 105 | www.oracle.com | 2005-01-01 00:00:00 | +-----+-------------------+---------------------+ 5 rows in set (0.00 sec) mysql> (SELECT id, url, created FROM fyi_links WHERE created > '2005-12-31' ORDER BY created DESC) UNION (SELECT id, url, created FROM fyi_links WHERE created <= '2005-12-31' ORDER BY created DESC LIMIT 1) ORDER BY created DESC; +-----+-------------------+---------------------+ | id | url | created | +-----+-------------------+---------------------+ | 102 | dba.fyicenter.com | 2006-07-01 12:00:00 | | 103 | sqa.fyicenter.com | 2006-07-01 12:00:00 | | 101 | dev.fyicenter.com | 2006-04-30 00:00:00 | | 104 | www.mysql.com | 2006-01-01 00:00:00 | | 105 | www.oracle.com | 2005-01-01 00:00:00 | +-----+-------------------+---------------------+ 5 rows in set (0.00 sec)
Note that the UNION operator damaged the sorting order of each subquery. You need a final "ORDER BY" clause at the UNION level to sort the final output.
2007-05-11, 5606👍, 0💬
Popular Posts:
Rachel opened her math book and found that the sum of the facing pages was 245. What pages did she o...
How To Control Table Widths? - XHTML 1.0 Tutorials - Understanding Tables and Table Cells Usually, b...
How To Merge Values of Two Arrays into a Single Array? - PHP Script Tips - PHP Built-in Functions fo...
What are some uses of Intranets & Extranets? An "intranet" is the generic term for a collect...
What is Concern in AOP? gA concern is a particular goal, concept, or area of interesth There are m...