Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara menggunakan INNER JOIN di SQL

Pada artikel ini, kita akan mempelajari konsep INNER JOIN dan cara menggunakannya dalam SQL dengan klausa WHERE.

Apa itu INNER JOIN di SQL?

Inner Join adalah jenis join dalam SQL. Inner Join di SQL adalah gabungan yang banyak digunakan. Gabung ini hanya mengembalikan baris-baris yang umum di kedua tabel. Inner join digunakan untuk menggabungkan dua tabel.

Sintaks Inner Join di SQL:

SELECT table1.columname1, table1.columnname2, table2.columnname1, table2.columnname2 FROM TABLE1 INNER JOIN TABLE2 ON table1.column = table2.column;

Table1.column =table2.column adalah kolom umum yang memelihara hubungan parent-child antara dua tabel ini.

Ada beberapa langkah yang harus kita gunakan dalam Inner Join dalam query SQL:

1. Buat database baru atau gunakan database yang sudah ada dengan memilih database menggunakan kata kunci USE diikuti dengan nama database.

2. Buat tabel baru di dalam database yang dipilih, atau Anda dapat menggunakan tabel yang sudah dibuat.

3. Jika tabel baru dibuat, masukkan record dalam database yang baru dibuat menggunakan query INSERT.

4. Lihat data yang dimasukkan menggunakan kueri SELECT tanpa kueri Gabung Dalam.

5 Sekarang, kita siap untuk menggunakan Inner Join dalam query SQL.

Langkah 1:Buat database baru atau gunakan database yang sudah dibuat.

Saya sudah membuat database. Saya akan menggunakan nama database yang sudah saya buat, Perusahaan.

USE Company;

Perusahaan adalah nama database.

Bagi yang belum membuat database, ikuti query di bawah ini untuk membuat database:

CREATE DATABASE database_name;

Setelah membuat database, pilih database menggunakan kata kunci USE diikuti dengan nama database.

Langkah 2:Buat tabel baru atau gunakan tabel yang sudah ada:

Saya sudah membuat tabel. Saya akan menggunakan tabel yang ada bernama Karyawan dan Manajer saat kami menjalankan kueri Gabung Dalam.

Untuk membuat tabel baru, ikuti sintaks CREATE TABLE di bawah ini:

CREATE TABLE table_name(

columnname1 datatype(column size),

columnname2 datatype(column size),

columnname3 datatype(column size)

);

Langkah 3:Sisipkan catatan di tabel yang baru dibuat menggunakan kueri INSERT

Gunakan sintaks di bawah ini untuk menyisipkan catatan baru ke dalam tabel:

INSERT INTO table_name VALUES(value1, value2, value3);

Langkah 4: Melihat catatan menggunakan kueri SELECT.

Lihat catatan dari tabel menggunakan sintaks berikut:

SELECT * FROM table_name;

Kueri berikut akan menampilkan catatan Karyawan.

SELECT * FROM Employees;

Output dari query SELECT di atas adalah:

KARYAWAN FIRST_NAME LAST_NAME GAJI KOTA DEPARTEMEN MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50.000 MUMBAI C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH BAIK 60500 MUMBAI UJI 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUCHIKA AGRWAL 60000 DELHI ORACLE 1
5001 ARKIT SHARMA 55500 DELHI UJI 4
5002 SANKET CHAUHAN 70000 HYDERABAD JAVA 3
5003 ROSHAN NEHTE 48500 CHANDIGARH C# 5
6001 RAHUL NIKAM 54500 BANGALORE UJI 4
6002 ATIS JADHAV 60500 BANGALORE C# 5
6003 NIKITA INGALE 65000 HYDERABAD ORACLE 1

Kueri berikut akan menampilkan catatan Manajer.

SELECT * FROM Manager;

Output dari query SELECT di atas adalah:

Pengelola nama_manajer manajer_departemen
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra UJI
5 Akash Kadam C#

Kueri berikut akan menampilkan catatan Laptop.

SELECT * FROM Laptop;

Output dari query SELECT di atas adalah:

LAPTOPID NAMA KARYAWAN
101 DELL NULL
102 HP 1002
103 LENOVO NULL
104 HP 3003
105 DELL 4002
106 LENOVO 4003
107 DELL 5001
108 HP NULL
109 DELL NULL
110 HP NULL
111 LENOVO 2002
112 LENOVO 6003
113 HP 1003

Langkah 5:Kami siap menggunakan INNER JOIN dalam kueri

Mari kita pahami Inner Join dengan bantuan contoh.

Contoh 1: Tulis query untuk menampilkan id karyawan, nama depan, nama belakang, gaji, kota dari tabel karyawan, dan id manajer dan nama manajer dari tabel manajer menggunakan Inner join.

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, E.CITY, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID;

Dalam kueri di atas, kami telah mengambil id karyawan, nama depan, nama belakang, gaji, kota dari tabel karyawan dan id manajer, nama manajer dari tabel manajer di mana kolom id manajer tabel karyawan sama dengan kolom id manajer tabel manajer. Kueri akan mengembalikan semua catatan kecocokan dari kedua tabel. Id manajer adalah kolom umum di antara kedua tabel. E adalah nama alias untuk tabel karyawan, sedangkan M untuk tabel manager. Kolom id manajer berfungsi sebagai kunci asing di tabel karyawan. ID pengelola berfungsi sebagai kunci utama dalam tabel pengelola, yang membuat hubungan induk-anak antara kedua tabel.

Output dari query di atas adalah:

KARYAWAN FIRST_NAME LAST_NAME GAJI KOTA DEPARTEMEN MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
4003 RUCHIKA AGRWAL 60000 DELHI ORACLE 1
6003 NIKITA INGALE 65000 HYDERABAD ORACLE 1
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2002 BHAVESH JAIN 65500 PUNE FMW 2
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
5002 SANKET CHAUHAN 70000 HYDERABAD JAVA 3
4001 RAJESH BAIK 60500 MUMBAI UJI 4
5001 ARKIT SHARMA 55500 DELHI UJI 4
6001 RAHUL NIKAM 54500 BANGALORE UJI 4
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
2003 RUCHIKA JAIN 50.000 MUMBAI C# 5
5003 ROSHAN NEHTE 48500 CHANDIGARH C# 5
6002 ATIS JADHAV 60500 BANGALORE C# 5

Catatan ditampilkan dalam urutan menaik dengan id pengelola default.

Contoh 2: Tulis kueri untuk menampilkan id karyawan, nama depan, nama belakang, kota, dan departemen dari tabel karyawan dan id manajer dan nama manajer dari tabel manajer menggunakan Inner Join di mana departemen karyawan adalah C#.

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.CITY, E.DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE DEPARTMENT = ‘C#’;

Dalam kueri di atas, kami telah mengambil id karyawan, nama depan, nama belakang, kota, dan departemen dari tabel karyawan, id manajer, dan nama manajer dari tabel manajer di mana id manajer dari tabel karyawan sama dengan id manajer dari tabel manajer saja catatan karyawan yang departemen karyawannya adalah C#.

Keluaran dari kueri di atas adalah:

KARYAWAN FIRST_NAME LAST_NAME GAJI KOTA DEPARTEMEN MANAGERID
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
2003 RUCHIKA JAIN 50.000 MUMBAI C# 5
5003 ROSHAN NEHTE 48500 CHANDIGARH C# 5
6002 ATIS JADHAV 60500 BANGALORE C# 5

Pada output di atas, kita dapat melihat hanya record yang diambil dari karyawan yang departemennya adalah C#. Kami menggunakan klausa WHERE dengan INNER join.

Contoh 3: Tulis query untuk menampilkan id karyawan, nama depan, gaji, kota, dan departemen dari tabel karyawan, dan id laptop dan nama laptop dari tabel laptop menggunakan Inner Join.

SELECT E.EMPLOYEEID, E.FIRST_NAME, E.SALARY, E.CITY, E.DEPARTMENT, L.LAPTOPID, L.NAME FROM EMPLOYEES E INNER JOIN LAPTOP L ON E.EMPLOYEEID = L.EMPLOYEEID;

Dalam kueri di atas, kami telah mengambil id karyawan, nama depan, gaji, kota, dan departemen dari tabel karyawan, dan id laptop, dan nama dari tabel laptop di mana id karyawan dari tabel karyawan sama dengan id karyawan dari meja laptop . ID Karyawan adalah kunci asing di tabel Laptop, yang membuat hubungan induk-anak antara tabel Karyawan dan tabel Laptop.

Keluaran dari kueri di atas adalah:

KARYAWAN FIRST_NAME GAJI KOTA DEPARTEMEN LAPTOPID NAMA
1002 VAIBHAV 60000 NOIDA C# 102 HP
3003 DEEPAM 58500 MUMBAI JAVA 104 HP
4002 ASHWINI 54500 NOIDA JAVA 105 DELL
4003 RUCHIKA 60000 DELHI ORACLE 106 LENOVO
5001 ARKIT 55500 DELHI UJI 107 DELL
2002 BHAVESH 65500 PUNE FMW 111 LENOVO
6003 NIKITA 65000 HYDERABAD ORACLE 112 LENOVO
1003 NIKHIL 50500 JAIPUR FMW 113 HP

Hanya catatan tersebut yang ditampilkan dalam output yang diberikan kepada siapa Laptop ditugaskan.

Contoh 4: Tulis kueri untuk menampilkan id karyawan, nama depan, gaji, dan departemen dari tabel karyawan, dan ID manajer dan nama manajer dari tabel manajer menggunakan gabungan dalam di mana gaji> 57000 atau departemen adalah Oracle.

SELECT EMPLOYEEID, FIRST_NAME, SALARY, DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID = M.MANAGERID WHERE SALARY > 57000 OR DEPARTMENT = 'ORACLE';

Dalam kueri di atas, kami telah mengambil id karyawan, nama depan, gaji, dan departemen dari tabel karyawan, dan id manajer dan nama manajer dari tabel manajer di mana id manajer dari tabel karyawan sama dengan id manajer dari manajer hanya karyawan yang gaji lebih besar dari 57000 atau Departemen adalah Oracle.

Keluaran dari kueri di atas adalah:

KARYAWAN FIRST_NAME LAST_NAME GAJI KOTA DEPARTEMEN MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
4003 RUCHIKA AGRWAL 60000 DELHI ORACLE 1
6003 NIKITA INGALE 65000 HYDERABAD ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
5002 SANKET CHAUHAN 70000 HYDERABAD JAVA 3
4001 RAJESH BAIK 60500 MUMBAI UJI 4
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
6002 ATIS JADHAV 60500 BANGALORE C# 5

Dalam output di atas, hanya catatan karyawan yang ditampilkan yang gajinya lebih besar dari 57000 atau departemen karyawan adalah 'Oracle'. Operator OR menampilkan catatan jika salah satu kondisi yang diberikan dalam kueri benar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permata T-SQL yang Diabaikan

  2. Cadangan hanya basis data di WHM

  3. Pengantar Hadoop dan Big Data

  4. Cara Menyalin Data Dari Satu Tabel ke Tabel Lainnya di SQL

  5. Seberapa Cepat ODBC? Perbandingan "Termuat".