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!
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 thetableY
? 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