| MySQL 5.6.14 Source Code Document
    | 
#include <table.h>

| Public Attributes | |
| List< TABLE_LIST > | join_list | 
| table_map | used_tables | 
| table_map | not_null_tables | 
| struct st_join_table * | first_nested | 
| uint | nj_total | 
| uint | nj_counter | 
| nested_join_map | nj_map | 
| table_map | sj_depends_on | 
| table_map | sj_corr_tables | 
| uint | query_block_id | 
| List< Item > | sj_outer_exprs | 
| List< Item > | sj_inner_exprs | 
| Semijoin_mat_optimize | sjm | 
Struct st_nested_join is used to represent how tables are connected through outer join operations and semi-join operations to form a query block. Out of the parser, inner joins are also represented by st_nested_join structs, but these are later flattened out by simplify_joins(). Some outer join nests are also flattened, when it can be determined that they can be processed as inner joins instead of outer joins.
| struct st_join_table* st_nested_join::first_nested | 
| uint st_nested_join::nj_counter | 
| nested_join_map st_nested_join::nj_map | 
| uint st_nested_join::nj_total | 
| uint st_nested_join::query_block_id | 
| table_map st_nested_join::sj_corr_tables | 
| table_map st_nested_join::sj_depends_on |