Salah satu masalah paling umum yang melibatkan query database adalah mencari nilai terbesar/terkecil pada tiap kategori/tipe. Sebagai contoh adalah mencari pencetak gol terbanyak pada masing-masing dari 4 klub teratas sepak bola Liga Inggris berikut ini. Show
Nama Klub Gol ------------------------------------------ Sergio Agüero Man City 23 Edin Džeko Man City 14 Mario Balotelli Man City 13 Wayne Rooney Man United 27 Javier Hernández Man United 10 Robin Van Persie Arsenal 30 Emmanuel Adebayor Tottenham 17 Jermain Defoe Tottenham 11 Rafael Van der Vaart Tottenham 11 Berikut ini adalah hasil yang diinginkan. Nama Klub Gol ------------------------------------------ Robin Van Persie Arsenal 30 Wayne Rooney Man United 27 Sergio Agüero Man City 23 Emmanuel Adebayor Tottenham 17 Untuk menghasilkan keluaran seperti di atas, paling tidak kita membutuhkan dua langkah. Mencari jumlah gol yang diinginkan, kemudian tampilkan field lainnya berdasarkan gol yang sudah dicari tadi. Langkah pertama adalah mencari gol terbanyak pada masing-masing klub tanpa melihat siapa pencetak golnya. SELECT Klub, MAX(Gol) as maxGol FROM `skorer` GROUP BY Klub Klub maxGol --------------------- Arsenal 30 Man City 23 Man United 27 Tottenham 17 Hasil bisa berbeda tergantung teknik penyortingan yang digunakan. Pada contoh di atas penyortingan menaik (ascending) berdasarkan field “Klub”. Langkah kedua adalah menampilkan field sisanya (Nama) dengan cara menggabungkan table hasil query pertama dengan table mula-mula (skorer). SELECT b.Nama, b.Klub, b.Gol FROM ( SELECT Klub, MAX(Gol) AS maxGol FROM `skorer` GROUP BY Klub ) AS a INNER JOIN `skorer` AS b ON a.Klub = b.Klub AND a.maxGol = b.Gol Nama Klub Gol ------------------------------------------ Sergio Agüero Man City 23 Wayne Rooney Man United 27 Robin Van Persie Arsenal 30 Emmanuel Adebayor Tottenham 17 Jika ingin diurutkan sesuai contoh, tinggal tambahkan Sebenarnya ada query yang lebih singkat untuk menampilkan hasil seperti di atas, yaitu dengan menggunakan sub-query untuk mencari gol terbanyak pada masing-masing klub. SELECT * FROM `skorer` WHERE Gol = ( SELECT MAX(Gol) FROM `skorer` AS a WHERE a.Klub = skorer.Klub ) About SibudiUbuntu user | Loves books | Blogger | Web Developer | Learn PHP, JavaScript, Ruby & Python the hard way 03. August 2012 by Sibudi Panduan ini memberikan gambaran singkat pada pembaca terkait operasi atau query umum yang digunakan untuk mengekstrak data pada database relasional. Hal yang akan dipelajari antara lain:
Pada Chapter 4, kita akan menggunakan skema database relasional yang ditampilkan pada Gambar 1.2. Mengakses SQL dari Microsoft AccessUntuk melakukan query menggunakan SQL jalankan langkah berikut:
Gambar 4.1: tahapan melakukan query menggunakan SQL. Memilih Kolom dari Sebuah TabelUntuk memilih kolom pada sebuah tabel, kita dapat menggunakan perintah
Gambar 4.2: Format memilih kolom dalam sebuah tabel. Contoh 4.1
(Memilih kolom pada tabel Barang) Lakukan proses pengambilan data query:
output:
Contoh 4.2 (Memilih seluruh kolom pada tabel Barang) Lakukan proses pengambilan seluruh kolom pada tabel query: output:
Memilih Nilai Unik Pada TabelPeritah
Gambar 4.3: Format memilih nilai unik pada tabel. Contoh 4.3 (Mencari jumlah pembeli yang telah melakukan pembelian) Hitung jumlah pembeli yang telah melakukan pembelian menggunakan tabel
query:
output:
Melakukan Filter pada TabelTerkadang tidak semua nilai kita inginkan untuk ada dalam data yang kita miliki. Filter terhadap data perlu dilakukan. Filter data dilakukan dengan menggunakan fungsi
Gambar 4.4: Format operasi melakukan filter data.
Operator PerbandinganOperator perbandingan yang digunakan dalam SQL, antara lain:
Contoh 4.4 (Mencari data pesanan dengan jumlah
pesanan produk lebih besar dari 3) Hitung jumlah pesanan dengan jumlah pesanan ( query:
output:
Operator AND, OR dan NOTKlausa
Operator Contoh 4.5 (Mencari jumlah pesanan produk dengan kode barang tertentu) Hitung jumlah pesanan dengan jumlah pesanan ( query:
output:
Melakukan Filter KarakterFilter karakter dapat dilakukan dengan menggunakan opertor
Beberapa contoh penerapan wildcard character ditampilkan pada Tabel 4.2 Tabel 4.2: Contoh penggunaan wildcard.
Filter NULL ValuesNilai
Operator INOperator
Gambar 4.5: Format operasi melakukan filter data pada beberapa nilai. Contoh 4.6 (Mencari jumlah pesanan produk dengan kode barang tertentu 2) Hitung jumlah pesanan produk dengan kode barang “Ma0”, “Ma2”, dan “Ma4”! query:
output:
Operator BETWEENOperator
Gambar 4.6: Format operasi melakukan filter data menggunakan rentang nilai. Contoh 4.7 (Mencari jumlah pesanan produk pada rentang tanggal tertentu) Hitung jumlah pesanan produk pada tanggal 1/1/2019 sampai 2/2/2019! (format tanggal bulan/hari/tahun) query:
output:
Melakukan Operasi Untuk Membentuk Kolom BaruUntuk membentuk kolom baru pada data, operasi matematis (penjumlahan, pengurangan, transformsi, dll) dapat dilakukan pada SQL melalui baris fungsi SELECT. Kolom baru yang terbentuk selanjutnya dapat diberikan nama baru sesuai dengan kemauan pembaca menggunakan fungsi AS. Format operasi tersebut ditampilkan pada Gambar 4.7.
Gambar 4.7: format operasi untuk membentuk kolom baru. Operator MatematikaOperator matematika yang digunakan dalam SQL antara lain:
Contoh 4.8 (Menghitung keuntungan masing-masing produk) Lakukan pengambilan data query:
output:
FungsiFungsi-fungsi yang dapat digunakan dapat dilihat pada halaman <https://www.w3schools.com/sql/sql_ref_msaccess.asp > Contoh 4.9 (Memecah tanggal ke dalam kolm masing-masing) Lakukan operasi untuk memperoleh bulan dan tahun transaksi berlangsung! query:
output:
Menghitung Nilai Aggregat Suatu Variabel dan Mengurutkan NilainyaPehitungan nilai aggregat berguna jika kita ingin mengetahui nilai statistik dari sejumlah kelompok data, seperti: menghitung jumlah transaksi yang dilakukan masing-masing pelanggan. Agar dapat melakukannya data perlu dikelompokkan terlebih dahulu berdasarkan variabel pengelompok. Fungsi yang digunakan untuk melakukannya adalah fungsi GROUP BY. Hasil yang diperoleh selanjutnya dapat diurutkan nilainnya menggunakan fungsi ORDER BY. Format perhitungan nilai aggregat data ditampilkan pada Gambar 4.8
Gambar 4.8: format operasi untuk membentuk aggregat data. Fungsi-fungsi yang dapat digunakan untuk memperoleh aggregat nilai antara lain:
Contoh 4.10 (Menghitung jumlah pembelian suatu konsumen terhadap sebuah produk) Lakukan perhitungan untuk memperoleh nilai total pembelian konsumen terhadap produk makaroni rasa-rasa original (id_barang = “Ma0”) dan tentutan konsumen mana yang melakukan total pembelian tertinggi! query:
output:
Menggabungkan Dua Buah Tabel DataMenggabungkan dua buah tabel data berdasarkan kolom primary key pada tabel pertama dan kolom foreign key pada tabel kedua merupakan operasi yang sering dilakukan pada database. SUatu tabel sering-kali membutuhkan informasi lain untuk memudahkan kita membacanya (contoh: mengabungkan tabel 1 dan tabel 2 untuk memperoleh informasi nama produk yang ada pada tabel 2 menggunakan kolom kunci yang ada pada kedua tabel). Format umum proses penggabungan tabel ditampilkan pada gambar berikut:
Gambar 4.9: format menggabungkan tabel melalui inner join. Terdapat beberapa jenis join yang ada pada SQL, antara lain:
Visualisasi proses join dapat dilihat pada gambar berikut:
Gambar 4.10: visualisasi variasi join pada SQL. Contoh 4.11 (Menggabungkan tabel barang dan pesanan) Gabungkan tabel barang dan pesanan menggunakan elemen kunci query:
output:
Query LainnyaMenghitung Usia KonsumenBuatlah sebuah query untuk menghitung usia konsumen! (gunakan fungsi query:
output:
Mencari Tanggal Pembelian Pertama dan Terakhir KonsumenBuatlah sebuah query yang dapat digunakan untuk menentukan tanggal transaksi pertama dan terakhir konsumen! query:
output:
Menghitung Penjualan Bulanan Masing-Masing ProdukBuatlah sebuah query untuk menghitung total penjualan masing-masing produk tiap bulan! (gunakan fungsi DATEPART() untuk memisahkan hari, bulan, dan tahun) query:
output:
Menghitung Jumlah Transaksi Setiap KonsumenBuatlah sebuah query untuk menghitung jumlah transaksi masing-masing konsumen! (gunakan fungsi query:
output:
Apa urutan perintah SQL yang benar?Perintah Dasar SQL / Structured Query Language. Perintah SELECT.. Perintah SELECT DISTINCT.. Perintah WHERE.. Perintah (operator) AND, OR dan NOT.. Perintah ORDER BY.. Perintah INSERT INTO.. Perintah UPDATE.. Perintah DELETE.. Apa saja 3 jenis SQL?Jenis-Jenis Perintah SQL. DDL (Data Definition Language). 2. DML (Data Manipulation Language). 3. DCL (Data Control Language). Apa itu group by SQL?SQL GROUP BY digunakan untuk mengelompokkan data (record) yang memiliki nilai yang sama. seperti “menemukan jumlah data barang sesuai dengan kategori”. SQL GROUP BY sering digunakan pada fungsi agregat seperti (COUNT(), MAX(), MIN(), SUM(), AVG()) yang menampilkan beberapa kolom.
Apa saja perintah DML?Perintah dalam DML juga terbagi ke dalam empat jenis. Beberapa di antaranya adalah insert, select, update, dan delete.
Ringkasan: Dalam tutorial ini, Anda akan belajar cara menggunakan pernyataan SQL Server Pengantar SQL Server SELECT TOPKlausul Karena urutan baris yang disimpan dalam tabel tidak ditentukan, pernyataan Berikut ini menunjukkan sintaks dari klausa 0 dengan pernyataan 1:
Dalam sintaks ini, pernyataan 1 dapat memiliki klausa lain seperti 3, 4, 5, dan 6. SELECT TOP 10 product_name, list_price FROM production.products ORDER BY list_price DESC; Code language: SQL (Structured Query Language) (sql)7Mengikuti kata kunci 0 adalah ekspresi yang menentukan jumlah baris yang akan dikembalikan. Ekspresi dievaluasi ke nilai float jika 9 digunakan, jika tidak, itu dikonversi ke nilai 0. SELECT TOP 10 product_name, list_price FROM production.products ORDER BY list_price DESC; Code language: SQL (Structured Query Language) (sql)9Kata kunci 9 menunjukkan bahwa kueri mengembalikan N persentase pertama dari baris, di mana N adalah hasil dari 7. SELECT TOP 1 PERCENT product_name, list_price FROM production.products ORDER BY list_price DESC; Code language: SQL (Structured Query Language) (sql)66 memungkinkan Anda untuk mengembalikan lebih banyak baris dengan nilai yang cocok dengan baris terakhir dalam set hasil terbatas. Perhatikan bahwa 6 dapat menyebabkan lebih banyak baris dikembalikan daripada yang Anda tentukan dalam ekspresi. Misalnya, jika Anda ingin mengembalikan produk paling mahal, Anda dapat menggunakan 9. Namun, jika dua atau lebih produk memiliki harga yang sama dengan produk paling mahal, maka Anda melewatkan produk termahal lainnya dalam hasil yang ditetapkan. Untuk menghindari ini, Anda dapat menggunakan 0. Ini akan mencakup tidak hanya produk mahal pertama tetapi juga yang kedua, dan seterusnya. Kami akan menggunakan tabel 1 dalam database sampel untuk demonstrasi. 1) Menggunakan SELECT TOP 10 product_name, list_price FROM production.products ORDER BY list_price DESC; Code language: SQL (Structured Query Language) (sql)0 dengan nilai konstanContoh berikut menggunakan nilai konstan untuk mengembalikan 10 produk termahal teratas.
Inilah hasilnya: 2) Menggunakan SELECT TOP 10 product_name, list_price FROM production.products ORDER BY list_price DESC; Code language: SQL (Structured Query Language) (sql)0 untuk mengembalikan persentase barisContoh berikut menggunakan 9 untuk menentukan jumlah produk yang dikembalikan dalam set hasil. Tabel 1 memiliki baris 6, oleh karena itu, satu persen dari 6 adalah nilai fraksi ( 8), SQL Server membulatkannya ke seluruh nomor berikutnya yang empat ( 9) dalam kasus ini.
Outputnya adalah: 3) Menggunakan SELECT TOP0 untuk memasukkan baris yang sesuai dengan nilai di baris terakhirPernyataan berikut mengembalikan tiga produk termahal teratas:
Outputnya adalah sebagai berikut: Dalam contoh ini, produk mahal ketiga memiliki daftar harga Dalam tutorial ini, Anda telah belajar cara menggunakan pernyataan SQL Server Bagaimana cara menemukan 5 nilai teratas di SQL?SQL Select Top Clause.. SQL Server / MS Access Syntax: Pilih nomor teratas | Persen Column_name dari Table_Name. .... Sintaks MySQL: Pilih Column_Name (s) dari Table_Name. .... Oracle 12 Sintaks: Pilih Column_Name (s) dari Table_Name. .... Sintaks Oracle yang Lebih Lama: Pilih Column_Name (s) .... Sintaks Oracle yang lebih tua (dengan pesanan oleh): Pilih *. Bagaimana Anda memilih 3 nilai tertinggi di SQL?Untuk mendapatkan nilai maksimum dari tiga kolom yang berbeda, gunakan fungsi terbesar ().Masukkan beberapa catatan dalam tabel menggunakan perintah insert.Tampilkan semua catatan dari tabel menggunakan pernyataan pilih.use the GREATEST() function. Insert some records in the table using insert command. Display all records from the table using select statement.
Bagaimana cara menemukan nilai terbesar ke -5 di SQL?Pilih Column_name dari Table_name Order oleh Column_name Batas Desc N-1,1; Di mana n = 1, 2, 3, .... NTH NTH Nilai Max.Simpan jawaban ini. where n = 1, 2, 3,.... nth max value. Save this answer.
Bagaimana cara menemukan 10 teratas di SQL Server?Contoh - Menggunakan Kata Kunci Persentase Top Misalnya: Pilih Top (10) Persen Pekerjaan, Last_Name, First_name dari karyawan di mana last_name = 'Anderson' pesanan oleh usaha _ID;Contoh teratas SQL Server Select ini akan memilih 10% pertama dari catatan dari set hasil lengkap.SELECT TOP(10) PERCENT employee_id, last_name, first_name FROM employees WHERE last_name = 'Anderson' ORDER BY employee_id; This SQL Server SELECT TOP example would select the first 10% of the records from the full result set. |