/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/www-intel-compute-stick-2022-06-13/031/sqlquantity.php


<?php 
include ('/home/david/mysqldata.php');

$handle = mysql_connect ("127.0.0.1", $MYSQL_NAME, $MYSQL_PASSWORD);

mysql_query ("CREATE DATABASE menge007", $handle);
mysql_query ("USE menge007", $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 () % 12 ."\")", $handle);
    mysql_query ("INSERT INTO b VALUES (\"". rand () % 12 ."\")", $handle);
    mysql_query ("INSERT INTO c VALUES (\"". rand () % 12 ."\")", $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);
?>