Kamis, 06 Juni 2013

Rumus-rumus Query

1.     Input Data                               
Ø  INSERT INTO buku VALUES (1, “AADC”,”Habib Rizik”,”Andi”,”Rak No. 3”);
Ø  INSERT INTO buku (judul,pengarang) VALUES (“AADC”,”Budianto”);
2.    Menampilkan Data
Ø  SELECT * from buku;
Ø  SELECT judul from buku;
3.    Mengubah field
Ø  ALTER TABLE buku MODIFY judul VARCHAR (500) NOT NULL;
Ø  ALTER TABLE buku MODIFY id_buku int(11) NOT NULL PRIMARY KEY AUTO-INCREMENT;
Ø  ALTER TABLE buku CHANGE lokasi posisi VARCHAR (50) NOT NULL;
4.    Menampilkan banyak field
Ø  SELECT judul,pengarang from buku;
Ø  SELECT judul,pengarang from buku WHERE judul<>”;
Ø  SELECT judul from buku WHERE judul=’...’;
Ø  SELECT * from buku WHERE judul like ‘%...’;
Ø  SELECT judul from buku limit 19,7;
5.    Jumlah harga buku yang berada pada baris ke 30 sampai ke 39 dimana buku yang dijumlahkan tidak dikarang oleh...
Ø  SELECT SUM(haraga) from buku WHERE pengarang <>’...’ limit 31,8;
6.    Menampilkan semua buku yang dipinjam
Ø  SELECT * from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku;
7.    Urutan harga dari yang terbesar sampai yang terkecil
Ø  SELECT judul from buku ORDER by harga DESC;
8.    Menampilkan pengarang yang ada dibuku
Ø  SELECT DISTINCT (pengarang) from buku;
9.    Total harga buku yang dipinjam
Ø  SELECT SUM(harga) from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE tgl_kembali=’0000-00-00’;
10.  Menampilkan buku yang sedang dipinjam dan belum dikembalikan
Ø  SELECT judul from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE tgl_kembali =’0000-00-00’;
11.  Pengembalian buku adalah 4 hari, siapakah yang terlambat mengembalikan buku dan buku apakah yang dipinjamnya
Ø  SELECT nama,judul from buku b INNER JOIN pinjam p ON b.id_buku=p.id_buku INNER JOIN peminjam m ON m.id_peminjam=p.id_peminjam WHERE ADDDATE (tgl_pinjam,interval 4 day) > CURDATE();
12.  Menjumlahkan harga buku yang dikarang oleh...
Ø  SELECT SUM(harga) from buku WHERE pengarang=’...’;
13.  Menjumlahkan harga buku
Ø  SELCET SUM(harga) from buku;
Ø  SELECT CONCAT (‘Rp.’,SUM(harga)) from buku;
14.  Menjumlahkan secara keseluruhan
Ø SELECT COUNT (*) from buku;
Ø SELECT COUNT (*) jumlah buku from buku;
15.  Menampilkan jumlah buku yang pernah dipinjam
Ø  SELECT judul from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku group by judul;
Ø  SELECT DISTINCT (judul) from buku b INNER JOIN pinjam p ON b.id_buku=p.id_buku;
16.  Menampilkan hari ini
Ø SELECT CURDATE () from buku limit 1;
17.  Menampilkan hari ini dan jam
Ø SELECT NOW () from buku limit 1;
18.  Menampilkan tanggal hari ini
Ø Day (CURDATE()) from buku limit 1;
19.  Menampilkan peminjam yang masuk pada bulan ini
Ø SELECT nama from peminjam WHERE month (tgl_masuk)=month (CURDATE());
20. Menampilkan buku yang dipinjam 3 hari yang lalu
Ø SELECT judul from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE tgl_pinjam=SUBDATE (CURDATE(), interval 3 day);
21.  Menampilkan jumlah buku yang dipinjam antara tanggal 12-20 April 2013
Ø SELECT COUNT(*) from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE tgl_pinjam BERWEEN 12 and 20;
22. Menampilkan buku yang belum pernah dipinjam
Ø SELECT judul from buku WHERE id_buku NOT IN (SELECT id_buku from pinjam);
23. Menampilkan total harga buku yang dipinjam
Ø SELECT SUM(harga) from buku INNER JOIN ON buku.id_buku=pinjam.id_buku;
24. Menampilkan harga buku dari yang termahal
Ø SELECT judul,harga from buku order by harga asc;
25. Menampilkan judul buku yang dikarang oleh Sulaiman
Ø SELECT judul,pengarang from buku WHERE pengarang like ‘Sulaiman%’;
26. Menginputkan data judul dan pengarang
Ø INSERT INTO buku (judul,pengarang) VALUES (‘Riyadus Shahih’, ‘Imam Nawawi’);
27. Menampilkan pengarang yangbukunya belum pernah dipinjam
Ø SELECT pengarang from buku b WHERE b.id_buku NOT IN (SELECT id_buku from pinjam);
28. Perintah untuk masuk ke dalam mysql yang diberi password dan hostnya adalah localhost
Ø Bin > Mysql –UROOT –hlocalhost –p ********
29. Menampilkan peminjam yang tidak meminjam buku hari ini
Ø SELECT nama from peminjam WHERE id_peminjam NOT IN (SELECT id_peminjam from pinjam WHERE tgl_pinjam=CURDATE());
30. Menampilkan buku yang dipinjam 7 hari yang lalu
Ø SELECT judul from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE tgl_pinjam=SUBDATE (CURDATE(), interval 7 day);
31.  Menampilkan total harga buku yang dipinjamtanggal 1-10 bulan ini
Ø SELECT SUM(harga) from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE day (tgl_pinjam) BETWEEN 1 and 10;
32. Menampilkan nama pengarang yang bukunya paling laris
Ø SELECT pengarang from buku INNER JOIN pinjam ON buku.id_buku=pinjam.id_buku WHERE buku.id_buku=(SELECT id_buku from pinjam);
33. Pada database akademik ada 3 tabel yaitu tabel Mahasiswa, Kuliah, dan Matakuliah. Siapakah mahasiswa yang tidak mengambil matakuliah dengan kodemk=’AKBP001’
Ø SELECT nama from mahasiswa WHERE nim NOT IN (SELECT from kuliah WHERE kodemk=’AKBP001’);
34. Pada database akademik ada 3 tabel yaitu tabel Mahasiswa, Kuliah, dan Matakuliah. Siapakah mahasiswa yang mengambil matakuliah dengan kodemk=’AKBP001’
Ø SELECT nama from mahasiswa WHERE nim IN (SELECT from kuliah WHERE kodemk=’AKBP001’);

Perintah UPDATE dan REPLACE



Perintah UPDATE
Berfungsi untuk memperbaiki informasi/data pada tabel. Sintaknya sebagai
berikut :
            UPDATE namatabel SET namakolom=value WHERE keriteria;
            Contoh :
            UPDATE siswa SET nama=’HERDI’ WHERE nis=’10309965’;
            Keterangan :
            Perpustakaan KampoengTI | http://kampoengti.com/perpus
            Mengganti nama menjadi “HERDI” untuk siswa yang mempunya nis
            “10309965”
Perintah Replace
Syntax REPLACE dalam SQL Server berfungsi menggantikan beberapa atau seluruh ekspresi string dengan ekspresi string yang baru.

Syntax

           
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

           Contoh :
                          Rubah tanda titik (".") pada kolom registrasi menjadi tanda strip ("-")

                         Gunakan perintah 

                         REPLACE (Registrasi,'.','-')

                        Select Nama, Replace(Registrasi,'.','-') as Registrasi From Tbl_Pendaftaran 


Pengertian Cascade pada Mysql dan contohnya



CASCADE adalah fungsi yang berguna untuk membuat relasi, Baris baris dalam tabel anak akan dihapus ketika baris yang berkaitan/relasi dihapus dan juga akan diupdate jika induk diupdate.
Perintah SQL untuk membuat tabel  ‘MHS’
CREATE TABLE mhs
(
  nim  varchar(8),
  namaMhs varchar(20),
  PRIMARY KEY (nim)
) TYPE = INNODB;

Perintah SQL untuk membuat tabel  ‘MK’
CREATE TABLE mk
(
  kodeMK  varchar(3),
  namaMK varchar(20),
  PRIMARY KEY (kodeMK)
) TYPE = INNODB;

Sekarang, kita lanjutkan untuk membuat tabel untuk ‘ambilMK’.
CREATE TABLE ambilMK
(
  nim  varchar(8),
  kodeMK varchar(3),
  nilai float(3,2),
  PRIMARY KEY (nim, kodeMK),
  FOREIGN KEY (nim) REFERENCES mhs (nim) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY (kodeMK) REFERENCES mk (kodeMK) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;

Isi data sesuai selera kalian, kalo punyaku
Table MK
Kode mk              Nama Mk
1                                                    Database
2                                                    Web dinamis

Tabel Mhs
Nim                        Nama
12121159               OjixZZZ
12121160               xxxx

Tabel AmbilMk
Nim                        KodeMk               Nilai
12121159                     1                       9.0
12121160                     2                       9.0

1.       On delete cascade adalah sebuah fitur/fungsi yang diberikan untuk sebuah tabel yang berelasi, yang memungkinkan untuk menghapus data pada tabel anak apabila data pada tabel parent terhapus. Sintaks on delete cascade biasanya ditempatkan pada kalimat yang mendeklarasikan sebuah foreingn key.
Contoh :
                 DELETE FROM mhs WHERE nim = ‘12121160’;

2.       On Update cascade adalah sebuah fitur/fungsi yang diberikan untuk sebuah tabel yang berelasi, yang
memungkinkan untuk mengupdate data otomatis pada tabel anak apabila data pada tabel parent diupdate.
Contoh :
                UPDATE mhs SET nim=’12121160’ WHERE nim=’12121159’;