No clipping or even-odd-rule required:
\documentclass[tikz,border=5]{standalone}
\tikzset{%
v 0/.style={fill=white}, v 1/.style={fill=blue!30},
pics/venn/.style args={#1#2#3#4}{code={%
\fill [v #1/.try] (-2,-1.5) rectangle (2,1.5);
\fill [v #2/.try] (90:sin 60) arc (120:-120:1) arc (-60:60:1);
\fill [v #3/.try] (90:sin 60) arc (60:300:1) arc (240:120:1);
\fill [v #4/.try] (90:sin 60) arc (120:240:1) arc (-60:60:1);
\draw (-2,-1.5) rectangle (2,1.5)
(90:sin 60) arc (120:-120:1) arc (-60:60:1)
arc (60:300:1) arc (240:120:1) -- cycle;
}}}
\pgfmathsetbasenumberlength{4}% <- Very important!
\begin{document}
\begin{tikzpicture}[x=1em,y=1em]
\foreach \i in {0,...,15}{
\pgfmathdectobase\n{\i}{2}
\pic at ({mod(\i, 4)*6}, {-floor(\i/4)*4}) {venn/.expanded=\n};
}
\end{tikzpicture}
\end{document}

This could be applied as follows:
\documentclass[border=5]{standalone}
\usepackage{tikz,array,centernot,amsmath,mathrsfs}
\setlength{\extrarowheight}{2em}
\tikzset{%
v 0/.style={fill=white}, v 1/.style={fill=blue!30},
pics/venn/.style args={#1#2#3#4}{code={%
\fill [v #4/.try] (-2,-1.5) rectangle (2,1.5);
\fill [v #3/.try] (90:sin 60) arc (120:-120:1) arc (-60:60:1);
\fill [v #2/.try] (90:sin 60) arc (60:300:1) arc (240:120:1);
\fill [v #1/.try] (90:sin 60) arc (120:240:1) arc (-60:60:1);
\draw (-2,-1.5) rectangle (2,1.5)
(90:sin 60) arc (120:-120:1) arc (-60:60:1)
arc (60:300:1) arc (240:120:1) -- cycle;
}}}
\newcommand\venn[2][]{{\tikz[every venn/.try, #1]\pic{venn/.expanded=#2};}}
\tikzset{every venn/.style={x=1em, y=1em, baseline=-.666ex,
v 1/.style={fill=gray}}}
\begin{document}
$\displaystyle
\begin{array}{|c|c|c|c|}
\hline
\textrm{Truth Table} & \textrm{Venn Diagram} & \textrm{Connective} & \textrm{Connective Name} \\
\hline
FFFF & \venn{0000} & \mathscr{P} \perp \mathscr{Q} & \textrm{Contradiction} \\
FFFT & \venn{0001} & \mathscr{P} \overline{\lor} \mathscr{Q} & \textrm{Nondisjunction (Nor)} \\
FFTF & \venn{0010} & \mathscr{P} \centernot\impliedby \mathscr{Q} & \textrm{Converse Nonimplication} \\[2em]
\hline
\end{array}
$
\end{document}

And here's a 3-variable version:
\documentclass[tikz,border=5]{standalone}
\tikzset{v 0/.style={fill=white}, v 1/.style={fill=blue!30},
venn path 1/.style={insert path={
(90:1/sqrt 3) arc (60:120:1) arc (180:0:1) arc (60:120:1) -- cycle }},
venn path 2/.style={insert path={
(90:1/sqrt 3) arc (120:180:1) arc (240:180:1) arc (120:60:1) -- cycle }},
venn path 3/.style={insert path={
(90:1/sqrt 3) arc (120:180:1) arc (240:300:1) arc (0:60:1) -- cycle }},
pics/venn 3/.style args={#1#2#3#4#5#6#7#8}{code={%
\fill [v #1] (-2,-2) rectangle (2,2);
\fill [v #2, rotate=240, venn path 1];
\fill [v #3, rotate=120, venn path 1];
\fill [v #4, venn path 1];
\fill [v #5, rotate=240, venn path 2];
\fill [v #6, rotate=120, venn path 2];
\fill [v #7, venn path 2];
\fill [v #8, venn path 3];
\draw (90:1/sqrt 3) circle [radius=1] (210:1/sqrt 3) circle [radius=1]
(330:1/sqrt 3) circle [radius=1] (-2, -2) rectangle (2,2);
}}}
\pgfmathsetbasenumberlength{8}% Still very important!
\begin{document}
\begin{tikzpicture}[x=1em,y=1em]
\foreach \i in {0,...,255}{
\pgfmathdectobase\n{\i}{2}
\pic at ({mod(\i, 16)*4}, {-floor(\i/16)*4}) {venn 3/.expanded=\n};
}
\end{tikzpicture}
\end{document}
