MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
        MySQL provides several MySQL-specific functions that test the
        relationship between minimum bounding rectangles (MBRs) of two
        geometries g1 and
        g2. The return values 1 and 0
        indicate true and false, respectively.
      
A corresponding set of MBR functions defined according to the OpenGIS specification is described later in this section.
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangle of g1 contains the
            minimum bounding rectangle of g2.
            This tests the opposite relationship as
            MBRWithin().
          
mysql>SET @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');mysql>SET @g2 = ST_GeomFromText('Point(1 1)');mysql>SELECT MBRContains(@g1,@g2), MBRWithin(@g2,@g1);+----------------------+--------------------+ | MBRContains(@g1,@g2) | MBRWithin(@g2,@g1) | +----------------------+--------------------+ | 1 | 1 | +----------------------+--------------------+
            MBRContains() and
            Contains() are synonyms.
          
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangle of g1 is covered by the
            minimum bounding rectangle of g2.
            This tests the opposite relationship as
            MBRCovers().
          
            MBRCoveredBy() handles its
            arguments as follows:
          
                If either argument is NULL or an
                empty geometry, the return value is
                NULL.
              
                If either argument is not a syntactically well-formed
                geometry byte string, an
                ER_GIS_INVALID_DATA
                error occurs.
              
                Otherwise, the return value is
                non-NULL.
              
mysql>SET @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');mysql>SET @g2 = ST_GeomFromText('Point(1 1)');mysql>SELECT MBRCovers(@g1,@g2), MBRCoveredby(@g1,@g2);+--------------------+-----------------------+ | MBRCovers(@g1,@g2) | MBRCoveredby(@g1,@g2) | +--------------------+-----------------------+ | 1 | 0 | +--------------------+-----------------------+ mysql>SELECT MBRCovers(@g2,@g1), MBRCoveredby(@g2,@g1);+--------------------+-----------------------+ | MBRCovers(@g2,@g1) | MBRCoveredby(@g2,@g1) | +--------------------+-----------------------+ | 0 | 1 | +--------------------+-----------------------+
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangle of g1 covers the
            minimum bounding rectangle of g2.
            This tests the opposite relationship as
            MBRCoveredBy(). See the
            description of MBRCoveredBy()
            for examples.
          
            MBRCovers() handles its
            arguments as follows:
          
                If either argument is NULL or an
                empty geometry, the return value is
                NULL.
              
                If either argument is not a syntactically well-formed
                geometry byte string, an
                ER_GIS_INVALID_DATA
                error occurs.
              
                Otherwise, the return value is
                non-NULL.
              
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangles of the two geometries
            g1 and
            g2 are disjoint (do not
            intersect).
          
            MBRDisjoint() and
            Disjoint() are synonyms.
          
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangles of the two geometries
            g1 and
            g2 are the same.
          
            MBREqual() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBREquals() instead.
          
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangles of the two geometries
            g1 and
            g2 are the same.
          
            MBREquals(),
            MBREqual(), and
            Equals() are synonyms.
          
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangles of the two geometries
            g1 and
            g2 intersect.
          
            MBRIntersects() and
            Intersects() are synonyms.
          
Two geometries spatially overlap if they intersect and their intersection results in a geometry of the same dimension but not equal to either of the given geometries.
            This function returns 1 or 0 to indicate whether the minimum
            bounding rectangles of the two geometries
            g1 and
            g2 overlap.
          
            MBROverlaps() and
            Overlaps() are synonyms.
          
Two geometries spatially touch if their interiors do not intersect, but the boundary of one of the geometries intersects either the boundary or the interior of the other.
            This function returns 1 or 0 to indicate whether the minimum
            bounding rectangles of the two geometries
            g1 and
            g2 touch.
          
            Returns 1 or 0 to indicate whether the minimum bounding
            rectangle of g1 is within the
            minimum bounding rectangle of g2.
            This tests the opposite relationship as
            MBRContains().
          
mysql>SET @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');mysql>SET @g2 = ST_GeomFromText('Polygon((0 0,0 5,5 5,5 0,0 0))');mysql>SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1);+--------------------+--------------------+ | MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) | +--------------------+--------------------+ | 1 | 0 | +--------------------+--------------------+
            MBRWithin() and
            Within() are synonyms.
          
        The OpenGIS specification defines the following functions that
        test the relationship between two geometry values
        g1 and g2.
        The MySQL implementation uses minimum bounding rectangles, so
        these functions return the same result as the corresponding
        MBR-based functions described earlier in this section. The
        return values 1 and 0 indicate true and false, respectively.
      
These functions support all argument type combinations except those that are inapplicable according to the Open Geospatial Consortium specification.
            MBRContains() and
            Contains() are synonyms. For
            more information, see the description of
            MBRContains().
          
            Contains() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBRContains() instead.
          
            MBRDisjoint() and
            Disjoint() are synonyms. For
            more information, see the description of
            MBRDisjoint().
          
            Disjoint() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBRDisjoint() instead.
          
            MBREquals() and
            Equals() are synonyms. For
            more information, see the description of
            MBREquals().
          
            Equals() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBREquals() instead.
          
            MBRIntersects() and
            Intersects() are synonyms.
            For more information, see the description of
            MBRIntersects().
          
            Intersects() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBRIntersects() instead.
          
            MBROverlaps() and
            Overlaps() are synonyms. For
            more information, see the description of
            MBROverlaps().
          
            Overlaps() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBROverlaps() instead.
          
            MBRWithin() and
            Within() are synonyms. For
            more information, see the description of
            MBRWithin().
          
            Within() is deprecated;
            expect it to be removed in a future MySQL release. Use
            MBRWithin() instead.