<?php
session_start ();
include ("/home/david/MySQLTEST.php");
$db = new PDO ("mysql: host=localhost", $db_user, $db_password);
$sql = "CREATE DATABASE q20250313" . session_id () . "; ";
$db->query ($sql);
try {
$sql = "USE q20250313" . session_id () . "; ";
$db->query ($sql);
$sql = "CREATE TABLE A (x INTEGER); ";
$sql .= "CREATE TABLE B (x INTEGER); ";
$sql .= "CREATE TABLE C (x INTEGER); ";
$db->query ($sql);
for ($i = 0; $i < 32; $i++) {
$sql = "INSERT INTO A (x) VALUES (\"" . rand () % 64 . "\"); ";
$sql .= "INSERT INTO B (x) VALUES (\"" . rand () % 32 . "\"); ";
$sql .= "INSERT INTO C (x) VALUES (\"" . rand () % 128 . "\"); ";
$db->query ($sql);
}
$sql = "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; ";
$stmt = $db->query ($sql);
while ($row = $stmt->fetch ())
echo $row [0] . ", ";
echo "<br>\n";
$sql = "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; ";
$stmt = $db->query ($sql);
while ($row = $stmt->fetch ())
echo $row [0] . ", ";
echo "<br>\n";
$sql = "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; ";
$stmt = $db->query ($sql);
while ($row = $stmt->fetch ())
echo $row [0] . ", ";
echo "<br>\n";
$sql = "SELECT x FROM (
SELECT x FROM (SELECT x FROM A INTERSECT SELECT FROM B) x
INTERSECT
SELECT x FROM (SELECT x FROM A INTERSECT SELECT FROM C) x
) x ORDER BY x; ";
$stmt = $db->query ($sql);
while ($row = $stmt->fetch ())
echo $row [0] . ", ";
echo "<br>\n";
$sql = "SELECT x FROM (
SELECT x FROM (SELECT x FROM A UNION SELECT FROM C) x
INTERSECT
SELECT x FROM B
) x ORDER BY x; ";
$stmt = $db->query ($sql);
while ($row = $stmt->fetch ())
echo $row [0] . ", ";
echo "<br>\n";
$sql = "SELECT x FROM (
SELECT x FROM (SELECT x FROM A INTERSECT SELECT x FROM B) x
UNION
SELECT x FROM (SELECT x FROM B INTERSECT SELECT x FROM C) x
) x ORDER BY x; ";
$stmt = $db->query ($sql);
while ($row = $stmt->fetch ())
echo $row [0] . ", ";
echo "<br>\n";
$sql = "DROP DATABASE q20250313" . session_id () . "; ";
$db->query ($sql);
}
catch (Exception $e) {
$sql = "DROP DATABASE q20250313" . session_id () . "; ";
$db->query ($sql);
}
session_destroy ();
?>
|