<?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 (); ?> |