表在BigQuery中联接

Do you know if there's a way to join two tables by, for example, using a foreign key constraint like in MySQL (I don't seem to find anything about this) ? If not, is there a replacement ?

Thanks!

I interpret your question as below -

Is there a way to limit the values that can be used on the tableX to only the IDs that exist on the tableY? For example via using a foreign key constraint like in MySQL!

BigQuery does not provide any direct mechanism for this to happen.
But you can easily achieve this by yourself.

For example, assume you need to insert some data to tableX, but you want to make sure that only those rows will be inserted where id in that new data is in tableY

So, you can "enforce" this via below query

#standardSQL
SELECT n.*
FROM newData AS n
JOIN tableY AS y
ON n.id = y.id

... you can run this query with tableX as destination and ONLY needed rows will be inserted

Hope you got an idea

Also you can check existing related feature requests -
https://issuetracker.google.com/issues/35906045
https://issuetracker.google.com/issues/35906043

Since you asked two questions (Stack Overflow suggests asking 1 question per question), I'll answer one:

Also, do you know if there's a way to join two tables by, for example, using a foreign key

In BigQuery you can join tables by any key - even by keys defined on the fly (this is pretty useful when you need to join two tables from different datasets that choose to encode identical values in different ways).

Why would you need a foreign key to do these joins?