code: def testReadResultSetJoinQuery(self):
      get_next = self.getNext(
          self._createSqlDataset(
              query="SELECT students.first_name, state, motto FROM students "
              "INNER JOIN people "
              "ON students.first_name = people.first_name "
              "AND students.last_name = people.last_name",
              output_types=(
                  dtypes.string,
                  dtypes.string,
                  dtypes.string,
              ),
          )
      )
  
      self.assertEqual(
          (b"John", b"California", b"Hi!"), self.evaluate(get_next())
      )
      with self.assertRaises(errors.OutOfRangeError):
          self.evaluate(get_next())
  
imports: import os
  from absl.testing import parameterized
  import sqlite3
  from tensorflow.python.data.experimental.ops import readers
  from tensorflow.python.data.kernel_tests import checkpoint_test_base
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.ops import array_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the SqlDatasetTest obj's underlying member method code with example usage: obj.testReadResultSetJoinQuery() without return types