Mengambil Semua Kolom dengan SELECT Statement
Ketika kita ingin menampilkan semua kolom dari sebuah tabel, kita bisa menggunakan SELECT Statement dengan simbol wildcard *. Wildcard * memungkinkan kita untuk mengambil semua kolom tanpa harus menyebutkan satu per satu.
Namun, meskipun cara ini praktis, penggunaan wildcard * perlu dilakukan dengan hati-hati, terutama jika tabel memiliki banyak kolom atau jika hanya beberapa kolom yang diperlukan. Mengambil semua kolom tanpa alasan yang jelas bisa memperlambat kinerja query, terutama jika data yang diambil sangat besar. Oleh karena itu, sebaiknya gunakan wildcard * hanya jika semua data benar-benar diperlukan.
Untuk mengambil semua kolom dari tabel products, kita bisa menggunakan query berikut:
SELECT * FROM products;
Jika tabel products berisi data seperti ini:
| prod_id | prod_name    | prod_price | prod_vendor | stock_qty |
|---------|---------------|------------|-------------|-----------|
| ANV01Â Â | 0.5 ton anvil | 5.99Â Â Â Â Â Â | Vendor AÂ Â Â | 20Â Â Â Â Â Â Â |
| ANV02  | 1 ton anvil  | 9.99      | Vendor A   | 15       |
| ANV03  | 2 ton anvil  | 14.99     | Vendor B   | 30       |
| OL1    | Oil can      | 8.99      | Vendor B   | 50       |
Maka hasil dari perintah ini akan menampilkan semua kolom (prod_id, prod_name, prod_price, prod_vendor, stock_qty) dari tabel products.
Catatan Penting
Menggunakan wildcard * memudahkan pengambilan semua kolom dalam satu query, tetapi bisa mengurangi kinerja jika tabel yang diambil memiliki banyak kolom atau data yang sangat besar. Jadi, jika kita hanya memerlukan beberapa kolom tertentu, lebih baik menyebutkan nama-nama kolom tersebut secara langsung agar query tetap efisien.
Membatasi Hasil Query dengan LIMIT
Dalam SQL, perintah LIMIT berfungsi untuk membatasi jumlah data yang ditampilkan dari hasil query. LIMIT sangat berguna ketika kita hanya ingin mengambil sejumlah data tertentu dari tabel, seperti menampilkan sampel atau hanya beberapa data pertama dari hasil query yang besar.
LIMIT digunakan dengan menyebutkan jumlah data yang diinginkan setelah kata kunci tersebut. Ketika LIMIT diikuti oleh satu angka, MySQL akan mengambil sejumlah baris data mulai dari baris pertama hingga jumlah yang ditentukan.
Contoh berikut menunjukkan cara menggunakan LIMIT untuk mengambil 5 data pertama dari kolom prod_name dalam tabel products:
SELECT prod_name FROM products LIMIT 5;
Maka hasil dari query ini hanya akan menampilkan 5 baris pertama:
| prod_name    |
|---------------|
| 0.5 ton anvil |
| 1 ton anvil  |
| 2 ton anvil  |
| Oil can      |
| Fuses        |
Penggunaan LIMIT dan OFFSET dalam Pengambilan Data
Kita bisa membatasi jumlah baris yang diambil dan juga menentukan dari baris mana data diambil dengan menggunakan OFFSET. Dalam MySQL, OFFSET ditulis bersamaan dengan LIMIT untuk menentukan titik awal pengambilan data. Contohnya:
SELECT prod_name FROM products LIMIT 5 OFFSET 5;
Query ini akan mengambil 5 baris data, dimulai dari baris ke-6.
Ada juga cara lain untuk menulis LIMIT dengan OFFSET menggunakan dua angka setelah LIMIT, seperti:
SELECT prod_name FROM products LIMIT 5, 5;
Penulisan ini memiliki arti yang sama, yaitu mengambil 5 baris mulai dari baris ke-6, di mana angka pertama (5) adalah OFFSET dan angka kedua (5) adalah jumlah data yang ingin diambil.
Manfaat LIMIT dan OFFSET
- LIMIT tanpa OFFSET memudahkan kita untuk mengambil sejumlah data awal dari hasil query.
- Kombinasi LIMIT dan OFFSET sangat berguna untuk pengaturan data dalam aplikasi seperti tampilan halaman (*pagination*), di mana setiap halaman memerlukan jumlah data yang sama tetapi dimulai dari posisi yang berbeda.
Mengambil Data Unik dengan DISTINCT
Dalam SQL, perintah DISTINCT digunakan dalam SELECT Statement untuk mendapatkan data tanpa duplikasi. Jika ada data yang sama di suatu kolom dan kita hanya ingin menampilkan nilai-nilai yang berbeda, DISTINCT memastikan setiap nilai muncul satu kali dalam hasil query.
DISTINCT ditempatkan setelah kata kunci SELECT dan sebelum nama kolom yang ingin diambil. Perintah ini memberi tahu MySQL untuk hanya menampilkan data unik dari kolom tersebut dan menghapus baris-baris yang memiliki nilai yang sama.
Sintaks untuk menggunakan DISTINCT adalah sebagai berikut:
SELECT DISTINCT column_name FROM table_name;
- DISTINCT: menginstruksikan SQL untuk hanya menampilkan nilai unik di kolom yang ditentukan.
- column_name: nama kolom yang ingin diambil datanya secara unik.
- FROM: menunjukkan tabel asal data.
Misalnya, kita ingin mendapatkan data unik dari kolom vend_id di tabel products. Tanpa menggunakan DISTINCT, jika ada beberapa produk dari vendor yang sama, maka setiap ID vendor akan muncul beberapa kali dalam hasil query. Dengan DISTINCT, kita bisa memastikan hasilnya hanya menampilkan setiap ID vendor satu kali.
Contohnya adalah sebagai berikut:
SELECT DISTINCT vend_id FROM products;
Jika tabel products memiliki data seperti ini:
| vend_id |
|---------|
| 1001Â Â Â |
| 1001Â Â Â |
| 1002Â Â Â |
| 1003Â Â Â |
| 1003Â Â Â |
| 1003Â Â Â |
| 1004Â Â Â |
Hasil dari query tersebut hanya akan menunjukkan ID vendor yang unik, sehingga tampilannya akan seperti ini:
| vend_id |
|---------|
| 1001Â Â Â |
| 1002Â Â Â |
| 1003Â Â Â |
| 1004Â Â Â |
Catatan Penting
- DISTINCT berlaku untuk kombinasi kolom yang dipilih dalam query. Jika lebih dari satu kolom digunakan dengan DISTINCT, maka SQL akan memastikan kombinasi kolom tersebut unik.
- DISTINCT hanya menghapus duplikasi dari kolom yang ditentukan dan tidak mempengaruhi kolom lain di tabel.