diff --git a/doc/src/sgml/json.sgml b/doc/src/sgml/json.sgml
index 118fb35..f5c8fca 100644
--- a/doc/src/sgml/json.sgml
+++ b/doc/src/sgml/json.sgml
@@ -300,11 +300,21 @@ SELECT '{"foo": {"bar": "baz"}}'::jsonb @&gt; '{"foo": {}}'::jsonb;
    The general principle is that the contained object must match the
    containing object as to structure and data contents, possibly after
    discarding some non-matching array elements or object key/value pairs
-   from the containing object.
+   from the containing object.  Containment is <emphasis>nested</>.
    But remember that the order of array elements is not significant when
    doing a containment match, and duplicate array elements are effectively
    considered only once.
+   This example shows containment with complex nesting:
   </para>
+<programlisting>
+-- By convention, the "doc" jsonb column has an object at the top
+-- level.  Each object contains a "tags" array, which itself
+-- contains key/value pairs.  Often, "term" tags are available among
+-- tag pairs.
+--
+-- Return "site_name" where at least these two terms appear:
+SELECT doc->'site_name' from websites where doc @&gt; '{"tags":[{"term":"paris" }, {"term":"food"}]}';
+</programlisting>
 
   <para>
    As a special exception to the general principle that the structures
