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

SQL Pilih Berbeda

Kueri SQL DISTINCT digunakan untuk mengambil nilai unik dari tabel menggunakan pernyataan SELECT dalam SQL.

Mungkin ada situasi yang muncul saat Anda ingin mengambil nilai unik dari tabel, tetapi nilai duplikat juga ada di dalam tabel. Dalam kasus seperti itu, Anda harus menggunakan kueri SELECT DISTINCT untuk menghilangkan nilai duplikat dan mengambil nilai unik dari tabel.

Sintaks dari pernyataan SELECT DISTINCT:

SELECT DISTINCT columnname1, columnname2 FROM table_name;

Pertimbangkan tabel karyawan yang ada yang memiliki catatan berikut:

KARYAWAN FIRST_NAME LAST_NAME GAJI KOTA DEPARTEMEN MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE 1
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 UJI 4
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

Mari kita pahami SELECT DISTINCT dengan bantuan sebuah contoh.

Contoh 1: Tulis kueri untuk mengambil detail karyawan yang gaji karyawannya lebih besar dari 55000 tanpa menggunakan kata kunci DISTINCT.

SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

Dalam pernyataan di atas, kami telah mengambil detail karyawan dari tabel karyawan yang gaji karyawannya lebih besar dari 55000, termasuk nilai duplikatnya.

Output untuk pernyataan berikut:

KARYAWAN FIRST_NAME LAST_NAME GAJI KOTA DEPARTEMEN MANAGERID
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE 1
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH BAIK 60500 MUMBAI UJI 4
4003 RUCHIKA AGRWAL 60000 DELHI ORACLE 1
5001 ARKIT SHARMA 55500 DELHI UJI 4

Hasil di atas menunjukkan bahwa kami telah mengambil detail karyawan, termasuk nilai duplikat.

Contoh 2: Tulis kueri untuk menampilkan gaji karyawan dari tabel karyawan yang gaji karyawannya lebih besar dari 55000 menggunakan kata kunci DISTINCT.

SELECT DISTINCT (SALARY) FROM EMPLOYEES WHERE SALARY > 55000;

Dalam pernyataan di atas, kami mengambil gaji karyawan dari tabel karyawan yang gajinya lebih besar dari 55000, di mana kami menghilangkan nilai duplikat. Gaji yang berbeda akan menampilkan gaji unik dari tabel karyawan.

Output untuk pernyataan berikut:

GAJI
65000
60000
55500
65500
58500
60500

Pada contoh pertama, kami telah mengambil detail karyawan yang gajinya lebih besar dari 55000. Hasil kueri menyertakan nilai duplikat. Namun pada contoh kedua, kita mengeksekusi query yang sama untuk menampilkan gaji karyawan yang gajinya lebih besar dari 55000. Query tersebut menampilkan hasil yang menghilangkan nilai duplikat karena kita menggunakan kata kunci DISTINCT diikuti oleh kolom gaji.

Contoh 3: Tulis kueri untuk menampilkan kota karyawan dan gaji dari tabel karyawan tanpa menggunakan kata kunci yang berbeda.

SELECT SALARY, CITY FROM EMPLOYEES;

Kami telah menampilkan gaji karyawan dan nama kota dari tabel karyawan pada pernyataan di atas, termasuk nilai duplikat.

Output untuk pernyataan berikut:

GAJI KOTA
65500 PUNE
60000 NOIDA
50500 JAIPUR
55500 CHANDIGARH
65500 PUNE
50.000 MUMBAI
55500 PUNE
50500 JAIPUR
58500 MUMBAI
60500 MUMBAI
54500 NOIDA
60000 DELHI
55500 DELHI

Contoh 4: Tulis kueri untuk menampilkan kota karyawan dan gaji dari tabel karyawan menggunakan kata kunci yang berbeda.

PILIH GAJI BERBEDA, KOTA DARI KARYAWAN;

Kami telah mengambil gaji karyawan dan kota dari tabel karyawan dalam pernyataan di atas. Tetapi kami telah mengambil nilai unik yang tidak diulang di seluruh tabel menggunakan kata kunci DISTINCT.

Output untuk pernyataan berikut:

GAJI KOTA
65500 PUNE
60000 NOIDA
50500 JAIPUR
55500 CHANDIGARH
50.000 MUMBAI
55500 PUNE
58500 MUMBAI
60500 MUMBAI
54500 NOIDA
60000 DELHI
55500 DELHI

Contoh 5: Tulis kueri untuk menampilkan nama belakang karyawan dan departemen dari tabel karyawan di mana nama departemen dimulai dengan 'O' tanpa menggunakan kata kunci DISTINCT;

SELECT LAST_NAME, DEPARTMENT FROM EMPLOYEES WHERE DEPARTMENT LIKE 'O%';

Dalam pernyataan di atas, kami mengambil nama belakang karyawan, departemen dari tabel karyawan dari karyawan yang nama departemennya dimulai dengan 'O', termasuk nilai duplikat.

Output untuk pernyataan berikut:

LAST_NAME DEPARTEMEN
MISHRA ORACLE
SHARMA ORACLE
SHARMA ORACLE
AGARWAL ORACLE

Hanya empat catatan yang ditampilkan dari karyawan yang departemennya dimulai dengan 'O'.

Contoh 6: Tulis kueri untuk menampilkan nama belakang karyawan dan departemen dari tabel karyawan di mana nama departemen dimulai dengan 'O' menggunakan kata kunci DISTINCT;

SELECT DISTINCT LAST_NAME, DEPARTMENT FROM EMPLOYEES WHERE DEPARTMENT LIKE 'O%';

Kami telah menggunakan kueri yang sama pada contoh 5, hanya menambahkan kata kunci DISTINCT tepat sebelum nama kolom yang akan menampilkan nilai unik dari tabel karyawan yang nama departemennya dimulai dengan 'O'.

Output untuk pernyataan berikut:

LAST_NAME DEPARTEMEN
MISHRA ORACLE
SHARMA ORACLE
AGARWAL ORACLE

Kueri yang sama yang telah kami jalankan dalam kueri di atas, kami menambahkan kata kunci DISTINCT tepat sebelum kolom. Output yang kita peroleh berbeda dengan contoh di atas karena tampilan hasil memiliki nilai yang unik.

Contoh 7: Tulis kueri untuk menghitung gaji karyawan dari tabel karyawan tanpa menggunakan kata kunci yang berbeda.

SELECT COUNT (SALARY) AS TOTAL SALARY FROM EMPLOYEES;

Dalam pernyataan di atas, kami telah menghitung jumlah total gaji dari tabel karyawan, termasuk nilai duplikat.

Output untuk pernyataan berikut:

TOTAL GAJI
13

Contoh 8: Tulis kueri untuk menghitung gaji karyawan dari tabel karyawan menggunakan kata kunci yang berbeda.

SELECT COUNT(DISTINCT SALARY) AS TOTAL SALARY FROM EMPLOYEES;

Dalam pernyataan di atas, kami telah menghitung jumlah total gaji dari tabel karyawan, tidak termasuk nilai duplikat.

Output untuk pernyataan berikut:

TOTAL GAJI
8


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Rencana Paralel Memulai – Bagian 5

  2. Kiat untuk Menyimpan Cadangan TimescaleDB Anda di Cloud

  3. Perubahan Konektor Data pada tahun 2020.24

  4. Kebiasaan buruk:Menghitung baris dengan cara yang sulit

  5. SQL UPDATE :Pelajari Cara Memperbarui Nilai Dalam Tabel