How much of the 8GB is available to MySQL? Assuming half ie 4GB, then innodb_buffer_pool_size should be about 3GB.
For a very rough idea of the mem demands of a query, multiply all the row estimates in the Explain result. On that measure, your query is looking at billions of rows. I seriously doubt 4GB on a Windows system is anywhere adequate for that.
For a different estimate estimate of the memory demands of that query, let's see the result of ...
ifnull(engine,'TOTALS') as engine,
concat(data,' GB') as data,
concat(indexes,' GB') as indexes,
concat(tot,' GB') as total,
if(engine is null,-1,tot) as ord
round( sum(data_length)/1024/1024/1024, 2 ) as data,
round( sum(index_length)/1024/1024/1024, 2 ) as indexes,
round( sum(data_length+index_length)/1024/1024/1024, 2 ) as tot
where table_schema-... and table_name in(...)
group by engine with rollup
order by list.ord desc;
substituting the quoted schema name and tablk names for the ellipses.
I don't know how you produced your DDL, but without spending half an hour massaging it I can't work with it, so please post it in human-readable form the simplest way is to run the Show Create Table cmds terminated by \G in the mysql client program, copy & paste the results.