The JOIN reading said that the (actor, movie) parings offer a unique ID for each role, but if an actor played multiple roles in one movie, wouldn't (actor, movie) go with more than one row? Is there any difference at all between the usage of '!=' and '<>' in SQL? Can JOIN connect 3 or more tables in one database? What about in multiple databases? Does knowing the unique id of a staff member count as knowing the staff member, or do you also need their human name? I'm assuming you want their human name without separately checking the tables, so you SHOULD use JOIN even through the movie database already gives you their unique id? Does OUTER JOIN give you rows with NA() values for missing data? Is it true to say that INNER JOIN will never create NA() values? Is it correct to say that INNER JOIN omits rows with keys found in one table but not the other, when using that shared key to connect the tables? "I'm trying to figure out how many rows I can expect to find after using INNER or OUTER JOIN on two tables with 1:1, 1:N, or N:N mappings. I'm going to make some wild guesses, and can you please explain the correct answers?: If we had table A with a rows and table B with b rows, then: Using INNER JOIN to merge tables using a 1:1 key would give us: min(a,b) to max(a,b) rows, or maybe a+b? Using INNER JOIN to merge tables using a 1:N key would give us: at most a*b rows Using INNER JOIN to merge tables using a N:N key would give us: also a*b rows??" Would it be possible to clarify the applications of the cross-product joining of two tables? Can you go over the WHERE statements that use JOIN? I am feeling unsure about ON and USING When doing a JOIN, or JOIN ON or USING, can we get some clarification on what the difference is between something like: SELECT * FROM person INNER JOIN movie ON (person.nm = movie.director) compared to SELECT * FROM person INNER JOIN movie ON (nm = director)? Meaning, what happens when there is no dot operator used to specify a table in that ON conditions? Since joining two tables is temporary for one query, would you need to create a loop if you want to make more queries? In the case of WMDB, is it possible for multiple "staff" to add the same movie? If that happens, are the staff uid stored in a list with the other uid who added the movie or are there multiple entries of the same movie? What's the purpose of self crosses? I understand that in the reading, A and B are aliases of the person table, do we need to create shallow copies of the table we want to perform self crosses on before self crossing? I'm slightly confused about the code for self-crosses (what's happening with aliasing?). "For select * from person, movie where nm = director , is it implied for the SQL query to recognize that nm belongs to person and director belongs to the movie table?" How does deleting keys work, especially in a many-many relationship? I'm bit confused about the cross-product examples given in the readings, could we go over more examples in class?