Looks ok to me when I test like this:
CREATE table Cars (BarCode int, Description varchar(20));
INSERT INTO Cars (BarCode, Description) VALUES (1000,'Alfa'), (1001,'Citroen'), (1002,'Ford');
CREATE table RaceStats (BarCode int, RaceTime float, TrackLength float);
INSERT INTO RaceStats (BarCode, RaceTime, TrackLength) VALUES (1000,0,0), (1001,1,1), (1002,2,2);
SELECT Cars.Description,RaceStats.RaceTime, RaceStats.TrackLength
FROM Cars
INNER JOIN RaceStats ON Cars.BarCode = RaceStats.BarCode;
SQL Server 2017 | db<>fiddle[
^]
A more advanced database design could look like this:
CREATE TABLE [Cars] (
[BarCode] int PRIMARY KEY,
[Description] varchar(20)
)
GO
CREATE TABLE [RaceStats] (
[id] int PRIMARY KEY IDENTITY(1, 1),
[BarCode] int,
[RaceTime] float,
[TrackLength] float,
[RaceDate] datetime
)
GO
ALTER TABLE [RaceStats] ADD FOREIGN KEY ([BarCode]) REFERENCES [Cars] ([BarCode])
GO
Here is a diagram that shows the relation defined by the Foreign Key:
dbdiagram.io - Database Relationship Diagrams Design Tool[
^]