IMG-LOGO
×

Giáo Trình Môn Học

Khoá học lập trình SQL

Kiến Thức Core SQL Server

[Video] Hướng dẫn cách xác định kiểu dữ liệu, primary key, foreign key trong SQL - My SQL - SQL Server [Video] Hướng dẫn thao tác nhiểu bảng - select - multi table - join, inner join trong SQL Server [Video] Hướng dẫn phân tích CSDL - phân tích bảng, column trong bản - Học lập trình SQL, SQL Server [Video] Hướng dẫn tìm hiểu create, alter , insert table và bản chất primary key, foreign key - SQL Server [Video] Hướng dẫn tìm hiểu select, and, in, like, not in,group by .. having, order by asc, desc - SQL Server [Video] Quản lý sinh viên (create, alter, update, insert, select) - Lập trình SQL Server

View SQL Server

[Video] Hướng dẫn tìm hiểu view trong SQL Server Bài Giảng: Hướng dẫn tìm hiểu view + proc trong SQL - Lập trình SQL Server

Store & Procedure

[Video] Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL Bài Giảng: Xây dự hệ thống đưa đón học sinh bằng xe bus của Trường Học - Lập trình SQL Server [Video] Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

Trigger

[Video] Học Trigger qua ví dụ - quản lý nhà trên phố - Lập trình SQL Server [Video] Hướng dẫn học trigger qua bài quản lý điểm danh Aptech - Lập trình SQL Server [Video] Bài tập - Quản lý nhân khẩu - Lập trình SQL Server - MySQL




Trang Chủ SQL Server/MySQL [Share Code] Hướng dẫn tìm hiểu select nhiều bảng trong CSDL - select multi table - Lập trình SQL Server

[Share Code] Hướng dẫn tìm hiểu select nhiều bảng trong CSDL - select multi table - Lập trình SQL Server

by GokiSoft.com - 21:05 06/08/2020 2,089 Lượt Xem



Nội dụng: Tìm hiểu về select
	- Select trên nhiều bảng
	- Join
		- Left Join
		- Right Join
		- Inner Join
		- Full Outer Join
==========================================================
===================== Mini Project =======================
==========================================================
Quản lý nhân khẩu:
- Quản Lý Quận Huyện : QuanHuyen
	- Tên quận => TenQH => nvarchar(50)
	- Mã quận huyện => MaQH => Primary Key => nvarchar(20)
	
- Đường Phố : DuongPho
	- Mã Đường Phó => MaDP => Primary Key => nvarchar(20)
	- Tên Đường => TenDuong => nvarchar(100)
	- MaQH : nvarchar(20) => foreign key

- Quản Lý Nhà Ở : NhaTrenPho
	- id => int => primary => identity(1,1)
	- Tên Chủ Nhà : OwnerName => nvarchar(50)
	- Số Nhân Khẩu : SoNhanKhau => int
	- Ngày Đến Ở : NgayDen => date
	- MaDP => nvarchar(20) => foreign key => DuongPho (MaDP)
	- Số nhà : SoNha => nvarchar(50)

Yêu cầu:
- Thiết kế database trên : QuanLyNhanKhau
- Thêm dữ liệu (insert) => 3 bản ghi là OK
- Update tên đường
	- Tên Đường : Giai Toa => Giai Phong
- Xem dữ liệu (select)
	- Hiển thị thông tin đường phố : Mã ĐP, Tên Đường Phố, Mã Quận, Tên Quân
	- Hiển thị dữ liệu theo định dạng sau : Ten Chu Nha, So Nha, Ten Duong, Ten Quan, So Nhan Khau, Ngay Den
	- Hiển thị thông tin nhân khẩu : Ten Chu Nha, So Nha, Ten Duong, Ten Quan, So Nhan Khau, Ngay Den => Với điều kiện => Đến từ ngày 2020-01-01 tới bây giờ
	- Hiển thị thông tin nhân khẩu : Ten Chu Nha, So Nha, Ten Duong, Ten Quan, So Nhan Khau, Ngay Den => Với điều kiện => Đến từ ngày 2020-01-01 tới bây giờ + số nhân khẩu lớn hơn 2 người.




-- Tao CSDL : QuanLyNhaTrenPho
create database QuanLyNhaTrenPho
go

-- Active CSDL : QuanLyNhaTrenPho => Su dung thao tac data
use QuanLyNhaTrenPho
go

-- Tao bang QuanHuyen
create table QuanHuyen (
	MaQH nvarchar(20) primary key,
	TenQH nvarchar(50) not null
)
go

-- Tao bang DuongPho
create table DuongPho (
	MaDP nvarchar(20) primary key,
	TenDuong nvarchar(100) not null,
	MaQH nvarchar(20),
	constraint fk_ma_qh foreign key (MaQH) references QuanHuyen (MaQH)
)
go

-- Tao bang NhaTrenPho
create table NhaTrenPho (
	id int primary key identity(1,1),
	OwnerName nvarchar(50) not null,
	SoNhanKhau int,
	NgayDen date,
	MaDP nvarchar(20) references DuongPho (MaDP)
)
go

alter table NhaTrenPho
add SoNha int

alter table NhaTrenPho
alter column SoNha nvarchar(50)

----- Nhap Du Lieu Mau => Them du lieu chuan => Hieu ky hon ve y nghia => xem trong video khac.
insert into QuanHuyen (MaQH, TenQH)
values
('CG', 'Cau Giay'),
('HM', 'Hoang Mai'),
('BD', 'Ba Dinh')
go

insert into QuanHuyen (MaQH, TenQH)
values
('BT', 'Hai Ba Trung')
go

insert into DuongPho (MaQH, MaDP, TenDuong)
values
('CG', 'DP01', 'Duy Tan'),
('HM', 'DP02', 'Minh Khai'),
('HM', 'DP', 'Linh Dam')
go

insert into DuongPho (MaQH, MaDP, TenDuong)
values
('BT', 'GP01', 'Giai Toa')
go

insert into NhaTrenPho (OwnerName, SoNhanKhau, NgayDen, SoNha, MaDP)
values
('Tran Van Diep', 3, '2020-02-06', 'So Nha 18', 'DP'),
('Hoang Nam Tien', 5, '2019-07-08', 'P1001', 'DP02'),
('Nguyen Hoai Nam', 2, '2018-06-09', '16', 'DP02')
go

insert into NhaTrenPho (OwnerName, SoNhanKhau, NgayDen, SoNha, MaDP)
values
('Tran Van A', 1, '2020-02-06', 'So Nha 18', 'GP01'),
('Hoang Nam B', 2, '2019-07-08', 'P1001', 'DP02'),
('Nguyen Hoai C', 1, '2018-06-09', '16', 'GP01')
go

-- Update
select * from DuongPho

update DuongPho set TenDuong = N'Giai Phong'
where TenDuong = N'Giai Toa'
go

-- Select
select * from QuanHuyen
select * from DuongPho

----- Hiển thị thông tin đường phố : Mã ĐP, Tên Đường Phố, Mã Quận, Tên Quân
----- Du lieu => 2 bang >> DuongPho, QuanHuyen
select DuongPho.MaDP N'Ma Duong Pho', DuongPho.TenDuong 'Ten Duong', QuanHuyen.MaQH as 'Ma Quan Huyen', QuanHuyen.TenQH as N'Ten Quan Huyen'
from DuongPho, QuanHuyen
where DuongPho.MaQH = QuanHuyen.MaQH
go

----- Hiển thị dữ liệu theo định dạng sau : Ten Chu Nha, So Nha, Ten Duong, Ten Quan, So Nhan Khau, Ngay Den
----- Du lieu => 3 bang => DuongPho, Quan Huyen, NhaTrenPho
select NhaTrenPho.OwnerName, NhaTrenPho.SoNha, DuongPho.TenDuong, QuanHuyen.TenQH, NhaTrenPho.SoNhanKhau, NhaTrenPho.NgayDen
from DuongPho, QuanHuyen, NhaTrenPho
where
	DuongPho.MaQH = QuanHuyen.MaQH
	and NhaTrenPho.MaDP = DuongPho.MaDP
go

----- Hiển thị thông tin nhân khẩu : Ten Chu Nha, So Nha, Ten Duong, Ten Quan, So Nhan Khau, Ngay Den => Với điều kiện => Đến từ ngày 2020-01-01 tới bây giờ
select NhaTrenPho.OwnerName, NhaTrenPho.SoNha, DuongPho.TenDuong, QuanHuyen.TenQH, NhaTrenPho.SoNhanKhau, NhaTrenPho.NgayDen
from DuongPho, QuanHuyen, NhaTrenPho
where
	DuongPho.MaQH = QuanHuyen.MaQH
	and NhaTrenPho.MaDP = DuongPho.MaDP
	and NhaTrenPho.NgayDen >= '2020-01-01'
go

------ Hiển thị thông tin nhân khẩu : Ten Chu Nha, So Nha, Ten Duong, Ten Quan, So Nhan Khau, Ngay Den => Với điều kiện => Đến từ ngày 2020-01-01 tới bây giờ + số nhân khẩu lớn hơn 2 người.
select NhaTrenPho.OwnerName, NhaTrenPho.SoNha, DuongPho.TenDuong, QuanHuyen.TenQH, NhaTrenPho.SoNhanKhau, NhaTrenPho.NgayDen
from DuongPho, QuanHuyen, NhaTrenPho
where
	DuongPho.MaQH = QuanHuyen.MaQH
	and NhaTrenPho.MaDP = DuongPho.MaDP
	and NhaTrenPho.NgayDen >= '2020-01-01'
	and NhaTrenPho.SoNhanKhau >= 2
go




Bình luận



Chia sẻ từ lớp học

Đã sao chép!!!