Saya tidak yakin, jika Anda mengerti untuk apa kunci asing digunakan. Kunci asing pada dasarnya mengatakan "untuk entri ini harus ada entri di tabel induk". Anda mengatakan user_id is foreign key in vehicle table
, yang tidak jelas bagi saya.
Jadi, anggap Anda memiliki definisi tabel seperti ini:
CREATE TABLE vehicles
(`id_car` int, `car_model` varchar(2), `car_owner` int);
CREATE TABLE users
(`user_id` int, `user_name` varchar(5), `user_phone` varchar(7)
, CONSTRAINT `fk_your_foreign_key` FOREIGN KEY (user_id) REFERENCES vehicles(car_owner)
);
Saat Anda ingin memasukkan pengguna baru ke dalam tabel, user_id harus merupakan entri yang ada di kolom car_owner di tabel kendaraan.
Kunci asing ada untuk menerapkan aturan bisnis. Apakah setiap pengguna harus menjadi pemilik mobil? Atau sebaliknya, apakah setiap mobil harus dimiliki oleh seseorang? Jika Anda dapat menjawab kedua pertanyaan dengan tidak, maka jangan terapkan kunci asing apa pun untuk kasus ini. Tapi lakukanlah, jika Anda bisa menjawab ya dengan pasti.
Untuk mendapatkan informasi yang Anda cari, lakukan saja
SELECT
*
FROM
vehicles
INNER JOIN users ON vehicles.car_owner = users.user_id