Professional Documents
Culture Documents
GROUP BY X
ORDER BY X
Hàm Disdint Count:
2/ Muốn viết code trong Database nào thì sử dụng từ khóa: USE
- Use tên_database
Lưu ý nếu nội dung là text thì phải nằm trong cặp dấu ‘ ‘
*Kết hợp nhiều điều kiện, dùng từ khóa AND hoặc OR:
DELETE dbo.HocSinh WHERE MaHS = 'HS004' AND NgaySinh ='20140606'
9/ Primary Key:
9.1/ Cách tạo Primary Key bằng code:
Thêm từ khóa PRIMARY KEY
CREATE TABLE Product
(
ID_Product VARCHAR(4) PRIMARY KEY,
Name VARCHAR(40) NOT NULL UNIQUE,--Không được trống và không trùng
Price INT DEFAULT 1 -- Giá trị default = 1
9.2/ Tạo Primary Key sau khi đã tạo xong Table:
Tốt nhất nên tạo bằng cách vào Design Table
10.4/ SELECT một số Field và đổi tên Field trong 1 Table và Filter data 1 Field kết hợp với
WHERE:
SELECT Tên_Field AS ‘Tên_Mới’ FROM Tên_Table WHERE Tên_Field = ‘điều_kiện’
SELECT MABM AS 'MA_BM',TENBM FROM dbo.BOMON WHERE MABM ='CNTT'
(Tạo ra 1 Table có các field Code, Revenue lấy từ table Raw Data, và field Category lấy từ table Product)
10.6/ Lấy ra data với điều kiện filter một vài ký tự cho trước, sử dụng SELECT, WHERE, LIKE:
SELECT * FROM dbo.Product --Xuất ra những sản phẩm có Code là CV
WHERE Code like N'CV%'
11/ Từ khóa SELECT …. INNER JOIN …. ON ….:
Từ khóa JOIN:
Có kết quả tương tự cụm từ khóa SELECT tên_Field FROM tên_Table, tên_Table WHERE
SELECT RawData.Code,Category, Revenue FROM dbo.RawData INNER JOIN dbo.Product
ON Product.Code = RawData.Code
Hữu ích khi cần tìm một item của 1 Table không nằm trong 1 Table khác.
VD: Tìm sản phẩm nào có trong Master List mà không có trong file Transaction, tức là tìm sản phẩm nào
chưa bán được.
17.2/ Tìm sản phẩm nào được lặp lại lớn hơn 10 record trong Table bán hàng:
SELECT * FROM dbo.Trans_Data AS BanHang
WHERE 10 < (SELECT COUNT(*) FROM dbo.Trans_Data WHERE Code =BanHang.Code)
VD: Tạo 1 table View tên DoanhSo thể hiện doanh số bán CV-1% của tất cả các tỉnh:
CREATE VIEW DoanhSo AS
SELECT Province, SUM(Quantity) AS 'SoLuong' FROM dbo.RawData
WHERE Code LIKE 'CV-1%'
GROUP BY Province
INSERT dbo.Test_Check
(
Luong
)
VALUES
(8000 -- Luong - float
)
25/ Tạo INDEX để tăng tốc độ truy vấn dữ liệu:
CREATE INDEX Bang_Index ON dbo.Trans_Data(Revenue)
Khi xóa Data Type tự tạo, hoặc là click phải chọn Delete, hoặc chạy câu lệnh sau đây:
EXEC sp_droptype 'TypeMoi_Name'
VD: Tạo 1 biến điền tên mình vào, dùng từ khóa SET để gán giá trị cho biến
DECLARE @MyName CHAR
SET @MyName = 'Morgan'
Hoặc gán trực tiếp (còn gọi là giá trị mặc định của biến)
DECLARE @MyName CHAR = 'Morgan'
Chú ý: Muốn xuất xem giá trị của biến, dùng từ khóa PRINT
IF @Sales > 10
BEGIN
PRINT @Tinh
PRINT @Sales
PRINT 'Good'
END
ELSE
BEGIN
PRINT @Tinh
PRINT @Sales
PRINT 'Bad'
END
SELECT * FROM first_proc -- Lỗi: Store procedure không đi kèm với câu truy vấn
SELECT
SELECT * FROM Bang_DauTien() --Sử dụng function trong câu truy vấn SELECT
32.2/ Function có tham số:
-- Tạo function SalesDoanhSo có tham số là tên code
CREATE FUNCTION SalesDoanhSo(@code varchar(20))
RETURNS FLOAT
AS
BEGIN
DECLARE @doanhso FLOAT
SELECT @doanhso = Revenue FROM dbo.Trans_Data WHERE Code = @code
RETURN @doanhso
END
33/ TRIGGER:
https://www.youtube.com/watch?
v=0N_ZtUXnTj4&index=31&list=PL33lvabfss1xnFpWQF6YH11kMTS1HmLsw
34/ TRANSACTION:
https://www.youtube.com/watch?
v=q5YGcrrPZSE&list=PL33lvabfss1xnFpWQF6YH11kMTS1HmLsw&index=32
Chọn Advanced => Types of data to script => Chọn Schema and Data
Save to new query window => Next/Next
*NOTE:
SQL Function:
https://www.w3schools.com/sql/sql_ref_sqlserver.asp
http://vietjack.com/sql/ham_trong_sql.jsp
Cách Import file Excel:
Click phải vào Tên database => Tasks => Import Data => Data Source (Chọn Microsoft Excel), Excel
version (Chọn Microsoft Excel 97-2003) => Destination (Chọn SQL Server Native Client 11.0) => Copy
data from one or more tables or views => Edit Mappings (Chỉnh sửa Data Type cho phù hợp) => Next =>
Next (Chọn Run immediately) => Finish.
New Query:
Chạy script:
DELETE dbo.Table_Test -- Xóa Data cũ
INSERT INTO dbo.product SELECT * FROM dbo.[Product$]
http://www.sqlviet.com/blog/crosstab-report-vs-pivot