<?php
include ('/home/david/mysqldata.php');
$handle = mysql_connect ("127.0.0.1", $MYSQL_NAME, $MYSQL_PASSWORD);
mysql_query ("CREATE DATABASE menge008", $handle);
mysql_query ("USE menge008", $handle);
mysql_query ("CREATE TABLE a (x VARCHAR (4))", $handle);
mysql_query ("CREATE TABLE b (x VARCHAR (4))", $handle);
mysql_query ("CREATE TABLE c (x VARCHAR (4))", $handle);
for ($i = 0; $i < 20; $i++) {
mysql_query ("INSERT INTO a VALUES (\"". rand () % 64 ."\")", $handle);
mysql_query ("INSERT INTO b VALUES (\"". rand () % 64 ."\")", $handle);
mysql_query ("INSERT INTO c VALUES (\"". rand () % 64 ."\")", $handle);
}
/*
A AND B
A AND C
B AND C
A OR B
A OR C
B OR C
(A OR B) AND C = A AND C OR B AND C
(A OR C) AND B = A AND B OR C AND B
(B OR C) AND A = B AND A OR C AND A
*/
/*
A AND B
A AND C
B AND C
A OR B
A OR C
B OR C
SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b)x ORDER BY x
SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c)x ORDER BY x
SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c)x ORDER BY x
SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b)x ORDER BY x
SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c)x ORDER BY x
SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c)x ORDER BY x
*/
$result=mysql_query ("SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
/*
(A OR B) AND C = A AND C OR B AND C
SELECT x FROM (
SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b)x
INTERSECT
SELECT x FROM c
)x ORDER BY x
SELECT x FROM (
SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c)x
UNION
SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c)x
)x ORDER BY x
*/
$result=mysql_query ("SELECT x FROM (SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b)x INTERSECT SELECT x FROM c)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c)x UNION SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c)x)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
/*
(A OR C) AND B = A AND B OR C AND B
SELECT x (
SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c)x
INTERSECT
SELECT x FROM b
)x ORDER BY x
SELECT x (
SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b)x
UNION
SELECT x FROM (SELECT x FROM c INTERSECT SELECT x FROM b)x
)x ORDER BY x
*/
$result=mysql_query ("SELECT x FROM (SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c)x INTERSECT SELECT x FROM b)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b)x UNION SELECT x FROM (SELECT x FROM c INTERSECT SELECT x FROM b)x)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
/*
(B OR C) AND A = B AND A OR C AND A
SELECT x FROM (
SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c)x
INTERSECT
SELECT x FROM a
)x ORDER BY x
SELECT x FROM (
SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM a)x
UNION
SELECT x FROM (SELECT x FROM c INTERSECT SELECT x FROM a)x
)x ORDER BY x
*/
$result=mysql_query ("SELECT x FROM (SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c)x INTERSECT SELECT x FROM a)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
$result=mysql_query ("SELECT x FROM (SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM a)x UNION SELECT x FROM (SELECT x FROM c INTERSECT SELECT x FROM a)x)x ORDER BY x", $handle);
while ($row = mysql_fetch_assoc ($result))
echo $row ["x"] . "<br>\n";
echo "<br><br>\n\n";
mysql_close ($handle);
?>