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


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

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

mysql_query ("CREATE DATABASE quantity041", $handle);
mysql_select_db ("quantity041", $handle);

mysql_query ("CREATE TABLE a (x INTEGER)", $handle);
mysql_query ("CREATE TABLE b (x INTEGER)", $handle);
mysql_query ("CREATE TABLE c (x INTEGER)", $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 OR b 
a OR c
b OR c

a AND b
a AND c
b AND 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 OR b 
a OR c
b OR c

SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b)x
SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c)x
SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c)x
*/

/*
a AND b
a AND c
b AND c

SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b)x
SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c)x
SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c)x
*/

/*
(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 a
) 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
*/

/*
(a OR c) AND b = a AND b OR c AND b

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

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
*/

/*
(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 a UNION SELECT x FROM b)x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";
$result = mysql_query("SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c)x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";
$result = mysql_query("SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c)x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";
$result = mysql_query("SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b)x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";
$result = mysql_query("SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c)x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";
$result = mysql_query("SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c)x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";


$result = mysql_query("SELECT x FROM (SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b)x INTERSECT SELECT x FROM a) x ORDER BY x");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<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");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";

$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");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<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");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";

$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");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<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");
while ($row = mysql_fetch_assoc ($result))
    echo $row ["x"] . "<br>\n";
echo "<br>\n\n";

mysql_close ($handle);
?>