(
        self,
        relation_a: BaseRelation,
        relation_b: BaseRelation,
        column_names: Optional[List[str]] = None,
        except_operator: str = 'EXCEPT',
    )
return sql
Generate SQL for a query that returns a single row with a two
        columns: the number of rows that are different between the two
        relations and the number of mismatched rows.
Generate SQL for a query that returns a single row with a two
        columns: the number of rows that are different between the two
        relations and the number of mismatched rows.
Generate SQL for a query that returns a single row with a two columns : the number of rows that are different between the two relations and the number of mismatched rows .
def get_rows_different_sql(
        self,
        relation_a: BaseRelation,
        relation_b: BaseRelation,
        column_names: Optional[List[str]] = None,
        except_operator: str = 'EXCEPT',
    ) -> str:
        """Generate SQL for a query that returns a single row with a two
        columns: the number of rows that are different between the two
        relations and the number of mismatched rows.
        """
        # This method only really exists for test reasons.
        names: List[str]
        if column_names is None:
            columns = self.get_columns_in_relation(relation_a)
            names = sorted((self.quote(c.name) for c in columns))
        else:
            names = sorted((self.quote(n) for n in column_names))
        columns_csv = ', '.join(names)

        sql = COLUMNS_EQUAL_SQL.format(
            columns=columns_csv,
            relation_a=str(relation_a),
            relation_b=str(relation_b),
            except_op=except_operator,
        )

        return sql
def get_rows_different_sql ( self , relation_a : BaseRelation , relation_b : BaseRelation , column_names : Optional [ List [ str ] ] = None , except_operator : str = 'EXCEPT' , ) -> str : # This method only really exists for test reasons. names : List [ str ] if column_names is None : columns = self . get_columns_in_relation ( relation_a ) names = sorted ( ( self . quote ( c . name ) for c in columns ) ) else : names = sorted ( ( self . quote ( n ) for n in column_names ) ) columns_csv = ', ' . join ( names ) sql = COLUMNS_EQUAL_SQL . format ( columns = columns_csv , relation_a = str ( relation_a ) , relation_b = str ( relation_b ) , except_op = except_operator , ) return sql