SQL ORDER BY
ORDER BY klausa digunakan dalam sebuah pernyataan SELECT untuk mengurutkan hasil baik dalam menaik atau menurun. Oracle macam hasil query dalam urutan secara default.
Sintaks untuk menggunakan SQL ORDER BY klausa untuk mengurutkan data adalah:
Sintaks untuk menggunakan SQL ORDER BY klausa untuk mengurutkan data adalah:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1 [, column2, .. columnN] [DESC]];
Tabel [karyawan]:
id | name | dept | age | salary | location |
---|---|---|---|---|---|
100 | Ramesh | Electrical | 24 | 25000 | Bangalore |
101 | Hrithik | Electronics | 28 | 35000 | Bangalore |
102 | Harsha | Aeronautics | 28 | 35000 | Mysore |
103 | Soumya | Electronics | 22 | 20000 | Bangalore |
104 | Priya | InfoTech | 25 | 30000 | Mangalore |
Untuk Contoh: Jika Anda ingin mengurutkan tabel karyawan dengan gaji karyawan, query sql akan.
SELECT name, salary FROM employee ORDER BY salary;
Outputnya akan seperti
name salary
---------- ----------
Soumya 20000
Ramesh 25000
Priya 30000
Hrithik 35000
Harsha 35000
Permintaan pertama macam hasil sesuai dengan nama dan kemudian menampilkannya.
Anda juga dapat menggunakan lebih dari satu kolom pada klausa ORDER BY.
Jika Anda ingin mengurutkan tabel karyawan dengan nama dan gaji, query akan seperti,
SELECT name, salary FROM employee ORDER BY name, salary;
Outputnya akan seperti:
name salary
------------- -------------
Soumya 20000
Ramesh 25000
Priya 30000
Harsha 35000
Hrithik 35000
CATATAN:Kolom ditentukan dalam klausa ORDER BY harus menjadi salah satu kolom yang dipilih dalam daftar kolom SELECT.
Anda dapat mewakili kolom dalam klausa ORDER BY dengan menentukan posisi kolom dalam daftar SELECT, alih-alih menulis nama kolom.
Pertanyaan di atas juga dapat ditulis sebagai diberikan di bawah,
SELECT name, salary FROM employee ORDER BY 1, 2;
Secara default, ORDER BY Clause macam data dalam urutan menaik. Jika Anda ingin mengurutkan data dalam urutan, Anda harus secara eksplisit menentukan itu seperti yang ditunjukkan di bawah ini.
SELECT name, salary FROM employee ORDER BY name, salary DESC;
Pertanyaan di atas macam hanya kolom 'gaji' dalam urutan dan kolom 'nama' by order ascending.
Jika Anda ingin memilih kedua nama dan gaji dalam urutan, query akan seperti yang diberikan di bawah ini.
SELECT name, salary FROM employee ORDER BY name DESC, salary DESC;
Cara menggunakan ekspresi dalam ORDER BY Clause?
Ekspresi dalam ORDER BY klausa dari pernyataan SELECT.
Sebagai contoh: Jika Anda ingin menampilkan nama karyawan, gaji saat ini, dan peningkatan 20% pada gaji hanya para karyawan untuk siapa persentase kenaikan gaji lebih besar dari 30000 dan dalam urutan kenaikan harga, pernyataan SELECT dapat ditulis sebagai ditunjukkan di bawah ini
SELECT name, salary, salary*1.2 AS new_salary FROM employee WHERE salary*1.2 > 30000 ORDER BY new_salary DESC;
Output untuk pertanyaan di atas adalah sebagai berikut.
name salary new_salary
---------- ---------- -------------
Hrithik 35000 37000
Harsha 35000 37000
Priya 30000 36000
CATATAN:Alias didefinisikan dalam Pernyataan SELECT dapat digunakan dalam ORDER BY Clause.
Komentar
Posting Komentar