Kueri pembaruan mysql dengan bergabung dan mengelompokkan berdasarkan

Pada halaman ini, kita akan membahas, bagaimana mengubah data kolom dengan pernyataan SQL UPDATE menggunakan fungsi agregat SUM() dan klausa GROUP BY

Contoh

Tabel sampel. pelanggan1


Tabel sampel. pesanan


Untuk mengubah nilai 'outstanding_amt' dari tabel 'customer1' dengan ketentuan sebagai berikut -

1. nilai yang dimodifikasi untuk 'outstanding_amt' adalah 0,

2. jumlah 'jumlah_pesanan' dari tabel 'pesanan' harus lebih besar dari 5000 yang memenuhi kondisi di bawah ini

3. unik 'cust_code' dari 'customer1' membuat grup,

4. dan 'cust_code' dari 'customer1' dan 'orders' harus sama,

pernyataan SQL berikut dapat digunakan

Kode SQL

UPDATE  customer1
SET outstanding_amt=0
WHERE (SELECT SUM(ord_amount) FROM orders
WHERE customer1.cust_code=orders.cust_code
GROUP BY cust_code )>5000;

Kolom pembaruan SQL dengan NULL

Berikut ini kita akan membahas, bagaimana NULL bekerja dengan pernyataan UPDATE

Contoh

Tabel sampel. agen1


Untuk memperbarui tabel 'agen1' dengan ketentuan berikut -

1. nilai yang dimodifikasi untuk 'phone_no' adalah NULL,

2. 'komisi' harus lebih dari. 15,

pernyataan SQL berikut dapat digunakan

Kode SQL

UPDATE  agent1
SET phone_no=NULL
WHERE commission>=.15;
_

Lihat Database Model kami

Berikut adalah dokumen baru yang merupakan kumpulan pertanyaan dengan jawaban singkat dan sederhana, berguna untuk belajar SQL dan juga untuk wawancara

Berlatih Latihan SQL

  • Latihan SQL, Latihan, Solusi
  • SQL Mengambil data dari tabel [33 Latihan]
  • SQL Boolean dan Operator Relasional [12 Latihan]
  • SQL Wildcard dan Operator Khusus [22 Latihan]
  • Fungsi Agregat SQL [25 Latihan]
  • Keluaran kueri Pemformatan SQL [10 Latihan]
  • SQL Querying pada Beberapa Tabel [8 Latihan]
  • FILTERING dan SORTING pada HR Database [38 Latihan]
  • SQL BERGABUNG
    • SQL GABUNG [29 Latihan]
    • SQL BERGABUNG di Database SDM [27 Latihan]
  • SUBQUER SQL
    • SUBQUERIES SQL [39 Latihan]
    • SUBQUERIES SQL pada Database SDM [55 Latihan]
  • SQL Union[9 Latihan]
  • Tampilan SQL[16 Latihan]
  • Manajemen Akun Pengguna SQL [16 Latihan]
  • Basis Data Film
    • Pertanyaan DASAR tentang Database film [10 Latihan]
    • SUBQUERIES pada database film [16 Latihan]
    • BERGABUNG di database film [24 Latihan]
  • Basis Data Sepak Bola
    • pengantar
    • Kueri DASAR pada Database sepak bola [29 Latihan]
    • SUBQUERIES pada Database sepakbola [33 Latihan]
    • GABUNG kueri di Database sepak bola [61 Latihan]
  • Database rumah sakit
    • pengantar
    • BASIC, SUBQUERIES, dan JOINS [39 Latihan]
  • Basis Data Karyawan
    • Pertanyaan DASAR pada Database karyawan [115 Latihan]
    • SUBQUERIES pada Database Karyawan [77 Latihan]
  • Akan datang lebih banyak lagi

Ingin memperbaiki artikel di atas?

Sebelumnya. Perbarui kolom menggunakan ekspresi aritmatika
Lanjut. PERBARUI menggunakan subkueri



Ikuti kami di Facebook dan Twitter untuk pembaruan terkini.

SQL. Kiat Hari Ini

Ekstrak tanggal (yyyy/mm/dd) dari cap waktu di PostgreSQL?

Anda dapat mentransmisikan stempel waktu ke tanggal dengan menambahkannya. tanggal. Di sini, di psql, adalah cap waktu

select '2010-01-01 12:00:00'::timestamp;

      timestamp   
---------------------
 2010-01-01 12:00:00

Sekarang kita akan mentransmisikannya ke sebuah kencan

wconrad=# select '2010-01-01 12:00:00'::timestamp::date;

    date    
------------
 2010-01-01

Di sisi lain Anda dapat menggunakan fungsi date_trunc. Perbedaan di antara mereka adalah yang terakhir mengembalikan tipe data yang sama seperti timestamptz menjaga zona waktu Anda tetap utuh (jika Anda membutuhkannya)

Permintaan UPDATE di MySQL adalah pernyataan DML yang digunakan untuk memodifikasi data tabel. Kueri UPDATE harus memerlukan klausa SET dan WHERE. Klausa SET digunakan untuk mengubah nilai kolom yang ditentukan dalam klausa WHERE

Klausa JOIN di MySQL digunakan dalam pernyataan untuk mengambil data dengan menggabungkan beberapa tabel dalam satu kueri

UPDATE JOIN adalah pernyataan MySQL yang digunakan untuk melakukan pembaruan lintas tabel yang artinya kita dapat memperbarui satu tabel menggunakan tabel lain dengan kondisi klausa JOIN. Kueri ini memperbarui dan mengubah data di mana lebih dari satu tabel digabungkan berdasarkan Kunci PRIMARY dan Kunci ASING dan kondisi gabungan yang ditentukan. Kami dapat memperbarui satu atau beberapa kolom sekaligus menggunakan kueri UPDATE

CATATAN. Pernyataan MySQL UPDATE JOIN didukung dari versi 4. 0 atau lebih tinggi

Sintaksis

Berikut ini adalah sintaks dasar pernyataan UPDATE JOIN untuk memodifikasi record ke dalam tabel MySQL

Dalam sintaks MySQL UPDATE JOIN di atas

Pertama, kami telah menentukan dua tabel. tabel utama (Tab1) dan tabel lain (tab2) setelah klausa UPDATE. Setelah klausa UPDATE, diperlukan untuk menentukan setidaknya satu tabel. Selanjutnya, kami telah menentukan jenis klausa JOIN, i. e. , baik INNER JOIN atau LEFT JOIN, yang muncul tepat setelah klausa UPDATE dan kemudian predikat gabungan yang ditentukan setelah kata kunci ON. Kemudian, kita harus menetapkan nilai baru ke kolom di Tab1 dan/atau Tab2 untuk diubah ke dalam tabel. Terakhir, kondisi klausa WHERE digunakan untuk membatasi baris untuk pembaruan

Bagaimana cara kerja UPDATE JOIN di MySQL?

Proses kerja UPDATE JOIN di MySQL sama seperti yang dijelaskan pada sintaks di atas. Namun terkadang, kami akan menemukan bahwa kueri ini sendiri yang melakukan pembaruan lintas tabel tanpa melibatkan gabungan apa pun. Sintaks berikut adalah cara lain untuk memperbarui satu tabel menggunakan tabel lain

Pernyataan UPDATE di atas menghasilkan hasil yang sama seperti UPDATE JOIN dengan klausa INNER JOIN atau LEFT JOIN. Ini berarti kita dapat menulis ulang sintaks di atas sebagai sintaks UPDATE JOIN yang ditampilkan di atas

Mari kita ambil beberapa contoh untuk memahami bagaimana pernyataan UPDATE JOIN bekerja di tabel MySQL

UPDATE BERGABUNG Contoh

Pertama, kita akan membuat dua tabel bernama Performance dan Employee, dan kedua tabel tersebut dihubungkan melalui kunci asing. Di sini, "Kinerja" adalah tabel induk, dan "Karyawan" adalah tabel anak. Skrip berikut membuat kedua tabel beserta rekamannya

Meja. Pertunjukan

Selanjutnya, isi record pada tabel menggunakan pernyataan INSERT

Kemudian, jalankan kueri SELECT untuk memverifikasi data seperti yang ditunjukkan pada gambar di bawah

Kueri pembaruan mysql dengan bergabung dan mengelompokkan berdasarkan

Meja. Karyawan

Selanjutnya, isi record pada tabel menggunakan pernyataan INSERT

Kemudian, jalankan kueri SELECT untuk memverifikasi data seperti yang ditunjukkan pada gambar di bawah

Kueri pembaruan mysql dengan bergabung dan mengelompokkan berdasarkan

UPDATE JOIN dengan INNER JOIN Contoh

Misalkan kita ingin memperbarui gaji karyawan berdasarkan kinerjanya. Kita dapat memperbarui gaji karyawan di tabel Karyawan menggunakan pernyataan UPDATE INNER JOIN karena persentase kinerja disimpan di tabel kinerja

Pada tabel di atas, kita harus menggunakan field performance untuk menggabungkan tabel Employees dan Performance. Lihat kueri di bawah ini

Setelah menjalankan pernyataan di atas, kita akan mendapatkan output di bawah ini, dimana kita dapat melihat bahwa kolom gaji karyawan berhasil diperbarui

Kueri pembaruan mysql dengan bergabung dan mengelompokkan berdasarkan

Mari kita pahami bagaimana kueri ini bekerja di MySQL. Dalam kueri, kami hanya menetapkan tabel Karyawan setelah klausa UPDATE. Itu karena kami ingin mengubah catatan hanya di tabel Karyawan, bukan di kedua tabel

Kueri memeriksa nilai kolom kinerja untuk setiap baris dalam tabel "Karyawan" terhadap kolom kinerja dari tabel "Kinerja". Jika akan mendapatkan kolom matching performance, maka diambil persentase pada tabel Performance dan memperbaharui kolom gaji tabel Employees. Kueri ini memperbarui semua rekaman dalam tabel Karyawan karena kami belum menentukan klausa WHERE dalam kueri UPDATE JOIN

UPDATE JOIN dengan Contoh LEFT JOIN

Untuk memahami UPDATE JOIN dengan LEFT JOIN, pertama-tama kita perlu memasukkan dua baris baru ke dalam tabel Employees

Karena karyawan ini adalah karyawan baru, maka catatan kinerja mereka tidak tersedia. Lihat keluaran di bawah ini

Kueri pembaruan mysql dengan bergabung dan mengelompokkan berdasarkan

Jika kami ingin memperbarui gaji untuk karyawan yang baru direkrut, kami tidak dapat menggunakan kueri UPDATE INNER JOIN. Ini karena tidak tersedianya data kinerja mereka di tabel Kinerja. Dengan demikian, kami akan menggunakan pernyataan UPDATE LEFT JOIN untuk memenuhi kebutuhan ini

Pernyataan UPDATE LEFT JOIN di MySQL digunakan untuk memperbarui baris dalam tabel ketika tidak ada catatan yang ditemukan di baris yang sesuai dari tabel lain

Misalnya, jika kita ingin menaikkan gaji karyawan baru sebesar 2. 5%, kita dapat melakukannya dengan bantuan pernyataan berikut

Setelah menjalankan query di atas, kita akan mendapatkan output seperti gambar di bawah ini dimana kita dapat melihat bahwa gaji karyawan baru berhasil diperbarui

Kueri pembaruan mysql dengan bergabung dan mengelompokkan berdasarkan

Pada artikel ini, kita telah mempelajari pernyataan MySQL Update Join yang memungkinkan kita mengubah data yang ada di satu tabel dengan data baru dari tabel lain dengan kondisi klausa JOIN. Kueri ini bermanfaat saat kita perlu memodifikasi kolom tertentu yang ditentukan dalam klausa WHERE bersama dengan menggunakan klausa INNER JOIN atau LEFT JOIN

Bisakah kita menggunakan GROUP BY dalam kueri UPDATE?

Bisakah GROUP BY dan JOIN digunakan bersama?

GROUP BY Dengan JOIN Contoh . Dalam contoh di atas, JOIN dan GROUP BY kedua klausa digunakan bersama dalam satu kueri . Setelah menggabungkan kedua tabel (Karyawan dan Departemen), bergabunglah dengan tabel yang dikelompokkan berdasarkan nama Departemen.

Bagaimana saya bisa melakukan pernyataan UPDATE dengan GABUNG di MySQL?

JOIN clause di MySQL digunakan dalam pernyataan untuk mengambil data dengan menggabungkan beberapa tabel dalam satu kueri. .
UPDATE Tab1, Tab2, [INNER JOIN. KIRI BERGABUNG] Tab1 DI Tab1. C1 = Tab2. C1
SET Tab1. C2 = Tab2. .
WHERE Kondisi;

Bagaimana cara menggunakan GROUP BY dengan UPDATE di SQL?

SQL mengupdate kolom dengan sum() dan mengelompokkan berdasarkan .
nilai yang dimodifikasi untuk 'outstanding_amt' adalah 0,
jumlah 'jumlah_pesanan' dari tabel 'pesanan' harus lebih besar dari 5000 yang memenuhi kondisi di bawah ini
unik 'cust_code' dari 'customer1' membuat grup,
dan 'cust_code' dari 'customer1' dan 'orders' harus sama,