A computing device for performing a join operation between a first table and a second table, comprising: a processor configured to: select at least one pair of columns, wherein each pair includes a source column of the first table and a target column of the second table; for each pair: detect that the columns in the pair contain respective data with different data granularities; modify the data in one of the columns so that the modified data has the same data granularity as the data in the other column to facilitate generating corresponding matches between the source and target columns; and generate an example that includes an element from the source column and a corresponding potential matching element from the target column; for each example, based on the example programmatically generate a script that, when performed on the source column of the selected pair of columns of the example, produces a value that is consistent with the target column of the example; for each script, apply that script to other elements in the source column and determine that an output generated by that script is in the target column; for the script for which the generated output meets a selected matching criterion when compared to the elements of the target column, convey the output generated by that script for display on a display device; and in response to an input signal accepting the conveyed script, perform a join operation on the two tables at least in part by performing the conveyed script on the source column. a processor configured to: select at least one pair of columns, wherein each pair includes a source column of the first table and a target column of the second table; for each pair: detect that the columns in the pair contain respective data with different data granularities; modify the data in one of the columns so that the modified data has the same data granularity as the data in the other column to facilitate generating corresponding matches between the source and target columns; and generate an example that includes an element from the source column and a corresponding potential matching element from the target column; detect that the columns in the pair contain respective data with different data granularities; modify the data in one of the columns so that the modified data has the same data granularity as the data in the other column to facilitate generating corresponding matches between the source and target columns; and generate an example that includes an element from the source column and a corresponding potential matching element from the target column; for each example, based on the example programmatically generate a script that, when performed on the source column of the selected pair of columns of the example, produces a value that is consistent with the target column of the example; for each script, apply that script to other elements in the source column and determine that an output generated by that script is in the target column; for the script for which the generated output meets a selected matching criterion when compared to the elements of the target column, convey the output generated by that script for display on a display device; and in response to an input signal accepting the conveyed script, perform a join operation on the two tables at least in part by performing the conveyed script on the source column.