docstr: ::
  
      test=> create table a (id integer);
      CREATE TABLE
      test=> create table b (id integer);
      CREATE TABLE
      test=> insert into a(id) values (1), (2), (3);
      INSERT 0 3
      test=> insert into b(id) values (1), (2), (3);
      INSERT 0 3
  
      test=> select * from (select id from a) as a1,
      lateral (select id from b where id=a1.id) as b1;
      id | id
      ----+----
      1 |  1
      2 |  2
      3 |  3
      (3 rows)
code: def test_lateral_subqueries(self, control):
      """
      ::
  
          test=> create table a (id integer);
          CREATE TABLE
          test=> create table b (id integer);
          CREATE TABLE
          test=> insert into a(id) values (1), (2), (3);
          INSERT 0 3
          test=> insert into b(id) values (1), (2), (3);
          INSERT 0 3
  
          test=> select * from (select id from a) as a1,
          lateral (select id from b where id=a1.id) as b1;
          id | id
          ----+----
          1 |  1
          2 |  2
          3 |  3
          (3 rows)
  
      """
      p1 = select(self.a).subquery()
  
      p2 = select(self.b).where(self.b.c.col_b == p1.c.col_a).subquery()
  
      if control == "lateral":
          p2 = p2.lateral()
  
      query = select(p1, p2)
  
      if control == "join":
          query = query.join_from(p1, p2, p1.c.col_a == p2.c.col_b)
  
      froms, start = find_unmatching_froms(query, p1)
  
      if control == "cartesian":
          assert start is p1
          assert froms == {p2}
      else:
          assert start is None
          assert froms is None
  
      froms, start = find_unmatching_froms(query, p2)
  
      if control == "cartesian":
          assert start is p2
          assert froms == {p1}
      else:
          assert start is None
          assert froms is None
  
imports: from sqlalchemy import column
  from sqlalchemy import delete
  from sqlalchemy import func
  from sqlalchemy import Integer
  from sqlalchemy import JSON
  from sqlalchemy import select
  from sqlalchemy import sql
  from sqlalchemy import table
  from sqlalchemy import testing
  from sqlalchemy import true
  from sqlalchemy import update
  from sqlalchemy.testing import config
  from sqlalchemy.testing import engines
  from sqlalchemy.testing import expect_warnings
  from sqlalchemy.testing import fixtures
  from sqlalchemy.testing import is_
  from sqlalchemy.testing.schema import Column
  from sqlalchemy.testing.schema import Table
label_desc: Use image node_id 6 for calling the TestFindUnmatchingFroms obj's underlying member method code with example usage: obj.test_lateral_subqueries(control) without return types