Hướng dẫn and where mysql - và mysql ở đâu

Hướng dẫn and where mysql - và mysql ở đâu
Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.

Show

Hướng dẫn and where mysql - và mysql ở đâu
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook
Hướng dẫn and where mysql - và mysql ở đâu
Facebook

AVG là hàm tính trung bình trên cột.

8.4- SQL MIN SQL. Tài liệu hướng dẫn dựa trên:

  • Min là hàm tìm giá trị nhỏ nhất trên cột.

8.5- SQL MAX

  • Max là hàm tìm giá trị lớn nhất trên cột. Cách sử dụng giống MIN, bạn có thể tham khảo các ví dụ tại MIN. SQL
  • 9- SQL Join SQL (Ngữ pháp cơ bản, tiêu chuẩn cho mọi loại DB)
  • Đặt ra một tình huống bạn xem thông tin một nhân viên trong bảng EMPLOYEE. Bạn có thể thấy nhân viên biết ID phòng ban của nhân viên này. Nhưng đó là một con số vô nghĩa. Muốn biết tên phòng ban, bạn phải tra cứu sang bảng DEPARTMENT. Việc nối 2 bảng đó với nhau để có một thông tin đầy đủ được gọi là JOIN. SQL riêng của MySQL.

Có 4 hình thức để Join 2 bảng:

INNER JOIN   (JOIN)LearningSQL (phiên bản MySQL). Bạn cần tạo cơ sở dữ liệu đó để tiện cho việc học (Bạn chỉ mất không quá 5 phút để làm việc này).

LEFT OUTER JOIN  (LEFT JOIN) tạo cơ sở dữ liệu và cấu trúc của cơ sở dữ liệu này bạn có thể xem tại:

3- Công cụ trực quan làm việc với MySQL

Trong hướng dẫn này tôi sử dụng MySQL Workbench là công cụ trực quan để làm việc. Bạn có thể xem thêm hướng dẫn cài đặt MySQL Comunity (Khi cài ra đã bao gồm cả MySQL Workbench) tại: MySQL Workbench là công cụ trực quan để làm việc. Bạn có thể xem thêm hướng dẫn cài đặt MySQL Comunity (Khi cài ra đã bao gồm cả MySQL Workbench) tại:

Hướng dẫn and where mysql - và mysql ở đâu

4- Các câu lệnh truy vấn (Query)

4.1- SQL Select

Câu lệnh Select là một câu lệnh cơ bản nhất trong SQL, mục đích là truy vấn dữ liệu trong các bảng (Table). Select là một câu lệnh cơ bản nhất trong SQL, mục đích là truy vấn dữ liệu trong các bảng (Table).

  • PRODUCT_TYPE: Bảng dữ liệu các kiểu sản phẩm (Kiểu dịch vụ của ngân hàng).: Bảng dữ liệu các kiểu sản phẩm (Kiểu dịch vụ của ngân hàng).

Hướng dẫn and where mysql - và mysql ở đâu

Đây là câu lệnh truy vấn dữ liệu trên bảng PRODUCT_TYPEPRODUCT_TYPE


-- Truy vấn dữ liệu trên bảng Product_Type
-- Truy vấn toàn bộ các cột.

Select * From Product_Type;

-- Câu lệnh truy vấn trên và câu lệnh dưới đây là tương đương nhau.
-- Pty là alias (tên bí danh đặt cho bảng Product_Type).

Select Pty.* From Product_Type Pty;

-- Truy vấn một vài cột
-- Có thể liệt kê ra.

Select Pty.Product_Type_Cd
     ,Pty.Name
From   Product_Type Pty;

Kết quả truy vấn:

Hướng dẫn and where mysql - và mysql ở đâu

Truy vấn dữ liệu trên bảng EMPLOYEE: EMPLOYEE:


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;

Kết quả truy vấn:

Hướng dẫn and where mysql - và mysql ở đâu

Truy vấn dữ liệu trên bảng EMPLOYEE:


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;

Kết quả truy vấn:

Hướng dẫn and where mysql - và mysql ở đâu

Truy vấn dữ liệu trên bảng EMPLOYEE:

Đặt Alias cho cột: Distinct được sử dụng cùng với Select, dùng để select các dữ liệu, bỏ qua các dữ liệu trùng nhau. Cú pháp là:


Select distinct ,   ....

4.2- SQL Distinct


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;

Câu lệnh Distinct được sử dụng cùng với Select, dùng để select các dữ liệu, bỏ qua các dữ liệu trùng nhau. Cú pháp là:

Hướng dẫn and where mysql - và mysql ở đâu

Xem ví dụ:

Kết quả chạy các câu lệnh trên: "Cho vay cá nhân và kinh doanh".

  • 4.3- SQL Where

Where là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Chẳng hạn bạn muốn tìm kiếm những sản phẩm dịch vụ có kiểu "Cho vay cá nhân và kinh doanh". PRODUCT, tại các vị trí có Product_Type_Cd= 'LOAN'.


-- Truy vấn bảng Product tìm các sản phẩm dịch vụ có kiểu:
-- "Cho vay cá nhân và kinh doanh".
-- Ứng với cột Product_Type_Cd = 'LOAN'.
Select * From Product Pro Where Pro.Product_Type_Cd = 'LOAN';

Kết quả truy vấn:

Hướng dẫn and where mysql - và mysql ở đâu

Truy vấn dữ liệu trên bảng EMPLOYEE: where và nhiều điều kiện kèm theo.

Đặt Alias cho cột:

4.2- SQL Distinct Or là 2 lệnh điều kiện sử dụng trong where:

Câu lệnh Distinct được sử dụng cùng với Select, dùng để select các dữ liệu, bỏ qua các dữ liệu trùng nhau. Cú pháp là:


-- Câu lệnh tìm kiếm các Nhân viên có tên bắt đầu bởi chữ S.
Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp
Where  Emp.First_Name Like 'S%';

-- Câu lệnh tìm kiếm các nhân viên có tên bắt đầu bởi chữ S
-- và thuộc phòng điều hành (Operations)  Dept_Id  = 1.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp
Where  Emp.First_Name Like 'S%'
And    Emp.Dept_Id = 1;

Xem ví dụ:

Hướng dẫn and where mysql - và mysql ở đâu

Kết quả chạy các câu lệnh trên: Or.


-- Tìm kiếm các nhân viên có tên bắt đầu bởi chữ S hoặc P.
-- và trong phòng điều hành (Operations). (Dept_Id = 1)
Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp
Where  (Emp.First_Name Like 'S%' Or Emp.First_Name Like 'P%')
And    Emp.Dept_Id = 1;

4.3- SQL Where

Hướng dẫn and where mysql - và mysql ở đâu

Where là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Chẳng hạn bạn muốn tìm kiếm những sản phẩm dịch vụ có kiểu "Cho vay cá nhân và kinh doanh".

Product_Type_Cd = 'LOAN'.in trong where sử dụng trong tình huống tìm kiếm giá trị thuộc một tập hợp nhất định. 


-- Câu lệnh này tìm kiếm các nhân viên có tên
-- hoặc Susan hoặc Paula hoặc Helen.
Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp
Where  Emp.First_Name In ('Susan'
                        ,'Paula'
                        ,'Helen');

4.3- SQL Where

Hướng dẫn and where mysql - và mysql ở đâu

Where là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Chẳng hạn bạn muốn tìm kiếm những sản phẩm dịch vụ có kiểu "Cho vay cá nhân và kinh doanh".


-- Tìm các nhân viên có Emp_Id trong khoảng từ 5 đến 10.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Start_Date
From   Employee Emp
Where  (Emp.Emp_Id Between 5 And 10);

-- Câu lệnh trên tương đương với:
Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Start_Date
From   Employee Emp
Where  Emp.Emp_Id >= 5
And    Emp.Emp_Id <= 10;

Product_Type_Cd = 'LOAN'.

Hướng dẫn and where mysql - và mysql ở đâu

Bạn cần truy vấn trong bảng PRODUCT, tại các vị trí có Product_Type_Cd= 'LOAN'. BETWEEN cũng được sử dụng trong việc giới hạn thời gian. Chẳng hạn bạn tìm kiếm các nhân viên bắt đầu làm trong khoảng thời gian:

  • Một ví dụ khác sử dụng where và nhiều điều kiện kèm theo.


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
0

4.3- SQL Where

Hướng dẫn and where mysql - và mysql ở đâu

Where là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Chẳng hạn bạn muốn tìm kiếm những sản phẩm dịch vụ có kiểu "Cho vay cá nhân và kinh doanh".

Product_Type_Cd = 'LOAN'.

  1. Bạn cần truy vấn trong bảng PRODUCT, tại các vị trí có Product_Type_Cd= 'LOAN'.
  2. Một ví dụ khác sử dụng where và nhiều điều kiện kèm theo.

4.4- SQL And Or (Và, hoặc)

  • And và Or là 2 lệnh điều kiện sử dụng trong where:
  • Chẳng hạn bạn muốn tìm danh sách các nhân viên có tên bắt đầu bởi chữ S và thuộc phòng điều hành (Operations).

Kết quả chạy các câu truy vấn:


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
1

Ví dụ với câu lệnh Or.

Hướng dẫn and where mysql - và mysql ở đâu

Kết quả chạy câu lệnh:

4.5- SQL IN (Trong phạm vi..)

Câu lệnh in trong where sử dụng trong tình huống tìm kiếm giá trị thuộc một tập hợp nhất định. 

4.6- SQL Between (Nằm giữa ...) Order by để sắp xếp kết quả trả về.


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
2

Kết quả câu lệnh:


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
3

Ví dụ với câu lệnh Or.

Hướng dẫn and where mysql - và mysql ở đâu

Kết quả chạy câu lệnh: bao giờ cũng đứng sau where.


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
4

4.3- SQL Where

Hướng dẫn and where mysql - và mysql ở đâu


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
5

Where là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Chẳng hạn bạn muốn tìm kiếm những sản phẩm dịch vụ có kiểu "Cho vay cá nhân và kinh doanh".

Product_Type_Cd = 'LOAN'.Aggregate Functions) là gì:

  • Bạn cần truy vấn trong bảng PRODUCT, tại các vị trí có Product_Type_Cd= 'LOAN'. : Hàm tính tổng
  • Một ví dụ khác sử dụng where và nhiều điều kiện kèm theo. : Hàm lấy trung bình
  • 4.4- SQL And Or (Và, hoặc) : Hàm tính số lần
  • And và Or là 2 lệnh điều kiện sử dụng trong where: : Hàm tìm giá trị nhỏ nhất
  • Chẳng hạn bạn muốn tìm danh sách các nhân viên có tên bắt đầu bởi chữ S và thuộc phòng điều hành (Operations). : Hàm tìm giá trị lớn nhất

Kết quả chạy các câu truy vấn: Aggregate) thông dụng. Chúng có thể tham gia vào câu lệnh nhóm (Group by).


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
6

Hướng dẫn and where mysql - và mysql ở đâu

Ví dụ với câu lệnh Or. Product_Cd) khác nhau. Điều đó có nghĩa là bạn cần nhóm trên các Product_Cd.


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
7

Kết quả chạy câu lệnh:

Hướng dẫn and where mysql - và mysql ở đâu

4.5- SQL IN (Trong phạm vi..)

  • Câu lệnh in trong where sử dụng trong tình huống tìm kiếm giá trị thuộc một tập hợp nhất định.  "Tiền gửi tiết kiệm" (SAV) với tổng số tiền là 1855.76 và trung bình mỗi tài khoản có 463.94.
  • 4.6- SQL Between (Nằm giữa ...)

Kết quả câu lệnh:

Câu lệnh BETWEEN cũng được sử dụng trong việc giới hạn thời gian. Chẳng hạn bạn tìm kiếm các nhân viên bắt đầu làm trong khoảng thời gian: là một câu lệnh điều kiện của Group by.

03-05-2002 ==> 09-08-2002  (dd-MM-yyyy)Product_Cd) trên bảng Account, và chỉ hiển thị ra các loại hình nào có số người tham gia > 3.


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
8

Ví dụ với câu lệnh Or.

Hướng dẫn and where mysql - và mysql ở đâu

Kết quả chạy câu lệnh:

4.5- SQL IN (Trong phạm vi..) Where Having trong cùng một câu lệnh.

  • Câu lệnh in trong where sử dụng trong tình huống tìm kiếm giá trị thuộc một tập hợp nhất định.  là câu lệnh lọc bớt dữ liệu trước khi nhóm (Group)
  • 4.6- SQL Between (Nằm giữa ...) là câu lệnh lọc bớt dữ liệu sau khi đã nhóm (Group)

Kết quả câu lệnh: BRANCH). Bạn có thể sử dụng where để lọc bớt dữ liệu trước khi group.

Hướng dẫn and where mysql - và mysql ở đâu


-- Truy vấn 4 cột trên bảng Employee (Bảng nhân viên).
-- Sử dụng Emp là Alias (Tên bí danh) cho bảng Employee.

Select Emp.Emp_Id
     ,Emp.First_Name
     ,Emp.Last_Name
     ,Emp.Dept_Id
From   Employee Emp;
9

Ví dụ với câu lệnh Or.

Hướng dẫn and where mysql - và mysql ở đâu

Kết quả chạy câu lệnh:

4.5- SQL IN (Trong phạm vi..)

Câu lệnh in trong where sử dụng trong tình huống tìm kiếm giá trị thuộc một tập hợp nhất định. 


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
0

4.6- SQL Between (Nằm giữa ...) ACC_TRANSACTION:


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
1

Kết quả câu lệnh:

Câu lệnh BETWEEN cũng được sử dụng trong việc giới hạn thời gian. Chẳng hạn bạn tìm kiếm các nhân viên bắt đầu làm trong khoảng thời gian: Select để cung cấp dữ liệu trèn vào bảng. Thông qua câu lệnh Insert Into ... Select.


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
2

Kết quả câu lệnh:


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
3

Câu lệnh BETWEEN cũng được sử dụng trong việc giới hạn thời gian. Chẳng hạn bạn tìm kiếm các nhân viên bắt đầu làm trong khoảng thời gian:


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
4

03-05-2002 ==> 09-08-2002  (dd-MM-yyyy)CUST_ID = 1 lên 2%.

Hướng dẫn and where mysql - và mysql ở đâu

4.7- SQL Wildcard Update:


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
5

Có 2 ký tự đặc biệt trong SQL:

Hướng dẫn and where mysql - và mysql ở đâu

Ký tự %

Ký tự _


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
6

Hướng dẫn and where mysql - và mysql ở đâu


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
7

Ý nghĩa:

% mô tả 0, 1 hoặc nhiều ký tự

_ mô tả chính xác một ký tự. là một hàm, đếm số dòng. Thông thường nó thường được sử dụng cùng với Group by.


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
8

Hướng dẫn and where mysql - và mysql ở đâu

Đếm số tài khoản ngân hàng, có giao dịch với ngân hàng (Bảng Acc_Transaction) Acc_Transaction)


-- Sử dụng hàm concat(string1, string2) để nối 2 chuỗi với nhau.
-- Chúng ta có một cột mới sử dụng 'as' để định nghĩa tên cột cho cột mới này.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id) As Emp_No2  -- Cột mới
From   Employee Emp;


-- Có thể không cần sử dụng 'as' trong định nghĩa Alias cho cột.
Select Emp.Emp_Id
    ,Emp.First_Name
    ,Emp.Last_Name
    ,Emp.Dept_Id
    ,Concat('EMP'
           ,Emp.Emp_Id)  Emp_No2  -- Cột mới
From   Employee Emp;
9

Hướng dẫn and where mysql - và mysql ở đâu

Sử dụng với Group by:

Một khách hàng có thể mở nhiều tài khoản, mỗi tài khoản ứng với một sản phẩm dịch vụ của ngân hàng.

Hướng dẫn and where mysql - và mysql ở đâu

Bạn muốn liệt kê các khách hàng (CUST_ID) và tương ứng là số tài khoản họ đã mở. CUST_ID) và tương ứng là số tài khoản họ đã mở.


Select distinct ,   ....
0

Hướng dẫn and where mysql - và mysql ở đâu

8.2- SQL Sum

Sum là hàm dùng để tính tổng giá trị một cột trong câu SQL. SQL.


Select distinct ,   ....
1

Ví dụ:


Select distinct ,   ....
2

Hướng dẫn and where mysql - và mysql ở đâu

8.3- SQL AVG

AVG là hàm tính trung bình trên cột. là hàm tính trung bình trên cột.


Select distinct ,   ....
3

Ví dụ:


Select distinct ,   ....
4

Hướng dẫn and where mysql - và mysql ở đâu

8.3- SQL AVG

AVG là hàm tính trung bình trên cột. là hàm tìm giá trị nhỏ nhất trên cột.


Select distinct ,   ....
5

Ví dụ:


Select distinct ,   ....
6

Hướng dẫn and where mysql - và mysql ở đâu

8.3- SQL AVG

AVG là hàm tính trung bình trên cột. là hàm tìm giá trị lớn nhất trên cột. Cách sử dụng giống MIN, bạn có thể tham khảo các ví dụ tại MIN.


Select distinct ,   ....
7

8.4- SQL MIN

Min là hàm tìm giá trị nhỏ nhất trên cột. EMPLOYEE. Bạn có thể thấy nhân viên biết ID phòng ban của nhân viên này. Nhưng đó là một con số vô nghĩa. Muốn biết tên phòng ban, bạn phải tra cứu sang bảng DEPARTMENT. Việc nối 2 bảng đó với nhau để có một thông tin đầy đủ được gọi là JOIN.

Hướng dẫn and where mysql - và mysql ở đâu

8.5- SQL MAX Join 2 bảng:

  • Max là hàm tìm giá trị lớn nhất trên cột. Cách sử dụng giống MIN, bạn có thể tham khảo các ví dụ tại MIN.   (JOIN)
  • 9- SQL Join   (LEFT JOIN)
  • Đặt ra một tình huống bạn xem thông tin một nhân viên trong bảng EMPLOYEE. Bạn có thể thấy nhân viên biết ID phòng ban của nhân viên này. Nhưng đó là một con số vô nghĩa. Muốn biết tên phòng ban, bạn phải tra cứu sang bảng DEPARTMENT. Việc nối 2 bảng đó với nhau để có một thông tin đầy đủ được gọi là JOIN. (RIGHT JOIN)
  • Có 4 hình thức để Join 2 bảng:   (OUTER JOIN)
  • INNER JOIN   (JOIN)

LEFT OUTER JOIN  (LEFT JOIN)

RIGHT OUTER JOIN (RIGHT JOIN) từ khóa chọn tất cả các dòng từ hai bảng miễn là có sự ăn khớp dữ liệu giữa các cột trong cả hai bảng.

Hướng dẫn and where mysql - và mysql ở đâu

FULL OUTER JOIN    (OUTER JOIN)


Select distinct ,   ....
8

Hướng dẫn and where mysql - và mysql ở đâu

Ví dụ:


Select distinct ,   ....
9

8.3- SQL AVG


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;
0

AVG là hàm tính trung bình trên cột.

8.4- SQL MIN là từ khóa trả về tất cả các hàng (rows) từ bảng bên trái (table1), với các hàng tương ứng trong bảng bên phải (table2). Chấp nhận cả dữ liệu NULL ở bảng 2.

Hướng dẫn and where mysql - và mysql ở đâu

Min là hàm tìm giá trị nhỏ nhất trên cột.

Hướng dẫn and where mysql - và mysql ở đâu

Ví dụ:


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;
1

8.3- SQL AVG

Hướng dẫn and where mysql - và mysql ở đâu

AVG là hàm tính trung bình trên cột.

8.4- SQL MIN khá giống với LEFT OUTER JOIN:

Hướng dẫn and where mysql - và mysql ở đâu

Min là hàm tìm giá trị nhỏ nhất trên cột.

8.5- SQL MAX là sự kết hợp của LEFT OUTER JOINRIGHT OUTER JOIN

Hướng dẫn and where mysql - và mysql ở đâu


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;
2

Max là hàm tìm giá trị lớn nhất trên cột. Cách sử dụng giống MIN, bạn có thể tham khảo các ví dụ tại MIN.

9- SQL Join MySQL, một subquery là một truy vấn trong một truy vấn. Bạn có thể tạo các truy vấn con trong câu lệnh SQL của bạn. Những truy vấn con có thể nằm trong mệnh đề WHERE, mệnh đề FROM, hoặc mệnh đề SELECT.

Đặt ra một tình huống bạn xem thông tin một nhân viên trong bảng EMPLOYEE. Bạn có thể thấy nhân viên biết ID phòng ban của nhân viên này. Nhưng đó là một con số vô nghĩa. Muốn biết tên phòng ban, bạn phải tra cứu sang bảng DEPARTMENT. Việc nối 2 bảng đó với nhau để có một thông tin đầy đủ được gọi là JOIN.

Có 4 hình thức để Join 2 bảng: WHERE. Những truy vấn con còn được gọi là truy vấn con lồng nhau.


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;
3

INNER JOIN   (JOIN)

LEFT OUTER JOIN  (LEFT JOIN)FROM. Chúng được gọi là inline views.


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;
4

RIGHT OUTER JOIN (RIGHT JOIN)

FULL OUTER JOIN    (OUTER JOIN)SELECT.


-- Truy vấn sản phẩm (Sản phẩm dịch vụ của Ngân hàng)
-- Cột mã sản phẩm, tên và kiểu sản phẩm.
Select Pro.Product_Cd
     ,Pro.Name
     ,Pro.Product_Type_Cd
From   Product Pro;

-- Truy vấn các kiểu sản phẩm  (Product_Type_Cd) trong bảng Product.
-- Dữ liệu là nhiều, nhưng trùng nhau.
Select Pro.Product_Type_Cd from Product Pro;

-- Cần sử dụng Distinct để loại bỏ việc trùng lặp.
Select Distinct Pro.Product_Type_Cd from Product Pro;
5

CROSS JOINselect là subquery phải trả lại một giá trị duy nhất. Đây là lý do tại sao một các hàm tổng hợp như hàm SUM, COUNT, MIN, hoặc MAX thường được sử dụng trong subquery.

9.1- INNER JOIN (Hoặc JOIN)

INNER JOIN từ khóa chọn tất cả các dòng từ hai bảng miễn là có sự ăn khớp dữ liệu giữa các cột trong cả hai bảng. "Lập trình database với MySQL" tại: