Chuyển tới nội dung
Home » Học Sql Cơ Bản | Các Hướng Dẫn Về Cơ Sở Dữ Liệu Sql Server

Học Sql Cơ Bản | Các Hướng Dẫn Về Cơ Sở Dữ Liệu Sql Server

Tự học Database và SQL Cơ Bản siêu nhanh trong 10 phút

Các hướng dẫn về cơ sở dữ liệu SQL Server

  • Cài đặt SQL Server Express 2008 trên Windows
  • Cài đặt SQL Server Express 2012 trên Windows
  • Cài đặt SQL Server Express 2014 trên Windows
  • Cơ sở dữ liệu SQL Server mẫu để học SQL
  • Hướng dẫn học SQL cho người mới bắt đầu với SQL Server
  • Hướng dẫn lập trình SQL Server Transact-SQL

Show More

4) Truy vấn (query)

Hỗ trợ truy vấn: distinct, top, as, identity

Phép toán tập hợp: in, like, between

Các hàm tổng nhóm: sum, max, min, avg

4.1) Truy vấn đơn giản

select *: Hiện tất cả bảng


select *from SinhVien

select: Hiện một số cột


select TenSV, DiemTBfrom SinhVien

select..where: Hiện một số dòng / bản ghi


select TenSV, DiemTBfrom SinhVien where DiemTB > 6.0

select..order by: Hiện và sắp xếp theo điểm rồi theo tên


select TenSV, DiemTBfrom SinhVien order by DiemTB desc, TenSV asc // asc sắp sếp tăng dần, desc là giảm dần

select..distinct: Hiện danh sách giá trị không trùng lặp


select distinct QueQuanfrom SinhVien

select..top: Hiện các dòng đầu tiên trong bảng


select top 3 TenSV, DiemTBfrom SinhVien order by DiemTB desc, TenSV asc

4.2) Truy vấn lồng nhau (nested query)

select..where (select)

Hiện tất cả những người trong bảng nhân viên có lương bằng lương lớn nhất của những người có trong công ty:


select TenNV, Luongfrom NhanVien where Luong = (select max(Luong) from NhanVien)

select..where (in)

Hiện tất cả những người trong bảng nhân viên có lương lớn nhất hoặc lớn nhì của những người có trong công ty:


select TenNV, Luongfrom NhanVien where Luong in (select top 2 Luong from NhanVien order by Luong)

Câu lệnh select trong sẽ tạo ra một tập hai giá trị (top 2) đó là lương lớn nhất và lương lớn nhì. Và câu lệnh select thứ nhất sẽ chọn ra những người mà lương nằm trong tập lớn nhất và lớn nhì

select..where (in sub)

Hiện ra tất cả những người có lương lớn nhất phòng của anh ta (không phải lớn nhất trong công ty mà lớn nhất trong phòng hoặc đơn vị mà anh ta thuộc về)


select nv1.TenNV, nv1.Luongfrom NhanVien as nv1 where nv1.Luong = (select max(Luong) from NhanVien where Phong=nv1.Phong)

Câu lệnh select trong sẽ trả về giá trị lương lớn nhất nhưng không phải lớn nhất trong toàn công ty mà lớn nhất trong phòng của nv1. Sau đó câu lệnh select ngoài cùng sẽ xác định xem nv1 có được chọn không bằng cách kiểm tra lương anh ta với lương lớn nhất của phòng anh ta.

4.3) Truy vấn tổng nhóm (subtotal query / grouping query)

select..group by: Thống kê theo tiêu chí

Hiện ra số lượng các nhân viên ứng với từng quê


select QueQuan, count(*)from NhanVien group by QueQuan

Đếm số nam và số nữ trong công ty


select GioiTinh, count(*)from NhanVien group by GioiTinh

Tính tổng thu nhập theo từng phòng


select Phong, sum(Luong)from NhanVien group by Phong

select..having: Hiện ra một số nhóm phù hợp

Chỉ đếm số lượng người ở Hải Phòng và số lượng người ở Hà nội


select QueQuan, count(*)from NhanVien group by QueQuan having (QueQuan = ‘HP’, QueQuan = ‘HN’)

Chỉ hiện ra những phòng nào có tổng thu nhập lớn hơn 500000


select Phong, sum(Luong)from NhanVien group by Phong having sum(Luong) > 5000000

Chỉ hiện ra những tỉnh nào có số lượng người lớn hơn 10


select QueQuan, count(*)from NhanVien group by QueQuan having count(*) > 10

4.4) Truy vấn liên bảng (cross table query / joining query)

select..inner join: ghép các cặp bản ghi thỏa mãn điều kiện

Ghép bảng nhân viên và hiện ra tên nhân viên và tên địa phương


select NhanVien.TenNV, DiaPhuong.TenDP from NhanVien inner join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP

select..left outer join: lấy tất cả phía trái và ghép (nếu có) với phải

Lấy tất cả những nhân viên kể cả những nhân viên có quê quán không hợp lệ (nghĩa là mã quê quán không có trong bảng địa phương)


select NhanVien.TenNV, DiaPhuong.TenDP from NhanVien left outer join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP

select..right outer join: lấy tất cả phía phải và ghép (nếu có) với phía trái

Lấy tất cả những địa phương ghép với nhân viên, các địa phương không hợp lệ sẽ được ghép với bộ dữ liệu rỗng. Không hiện ra các nhân viên không có mã quê quán phù hợp


select NhanVien.TenNV, DiaPhuong.TenDP from NhanVien right outer join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP

select..full outer join: lấy từ hai phía và ghép nếu có

Lấy tất cả những nhân viên (nếu không có quê quán phù hợp thì ghép với bộ dữ liệu rỗng) và tất cả những địa phương kể cả không có nhân viên.


select NhanVien.TenNV, DiaPhuong.TenDP from NhanVien right outer join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP

select..cross join: trả về tất cả các cặp có thể ghép

Ghép từng nhân viên với tất cả các địa phương. Như vậy nếu có m nhân viên và có n địa phương thì bảng đích sẽ có m*n dòng. n dòng đầu cho nhân viên thứ nhất ghép với các địa phương. n dòng sau cho nhân viên thứ hai ghép với các địa phương. và tiếp tục như thế tới nhân viên thứ m.


select NhanVien.TenNV, DiaPhuong.TenDP from NhanVien cross join DiaPhuong

Tự học Database và SQL Cơ Bản siêu nhanh trong 10 phút
Tự học Database và SQL Cơ Bản siêu nhanh trong 10 phút

ref: Các khái niệm cơ bản của cơ sở dữ liệu

Các mô hình dữ liệu (data model)

+ Mô hình thứ bậc (hierarchical)

+ Mô hình mạng lưới (network)

+ Mô hình quan hệ (relational)

Các vấn đề của lưu trữ

+ Sự dư thừa (redundance)

+ Sự nhất quán (consistence)

+ Tính toàn vẹn (integrity)

+ Sự an toàn (security)

+ Sự chia sẻ (sharing)

Các khái niệm cơ bản

+ Cơ sở dữ liệu (database)

+ Bảng (table) hoặc quan hệ (relation)

+ Bản ghi (record) hoặc dòng (row) hoặc bộ (tuple)

+ Trường (field) hoặc cột (column)

+ Mối quan hệ (relationship) được biểu hiện bằng bảng (table) hoặc khóa (key)

Mối quan hệ giữa các

+ Tại sao phải lưu mối quan hệ

+ Phương pháp lưu các mối quan hệ (dùng khóa, dùng bảng)

+ Khóa chính (primary key) và khóa ngoài (foreign key)

+ Vấn đề toàn vẹn tham chiếu (referential integrity)

Ngôn ngữ định nghĩa và xử lý dữ liệu

+ Thao tác trên các đối tượng như cơ sở dữ liệu, bảng, cột

+ Phần định nghĩa cơ sở dữ liệu và bảng: create, drop, alter

+ Phần cập nhật dữ liệu: insert, delete, update

+ Phần truy vấn dữ liệu: join, union, projection, selection, sort, group

+ Phần lập trình và thao tác: declare, set, use, go

Tại sao bạn nên học SQL ?

Kiến thức về SQL là điều kiện tiên quyết để ứng tuyển vào phần lớn các vị trí khoa học dữ liệu. Trên thực tế, theo phân tích năm 2021 SQL là kỹ năng technical được yêu cầu nhiều nhất cho các công việc dữ liệu. Tiếp theo là Python và Machine Learning. Tuy nhiên, các khóa học và chương trình đào tạo về khoa học dữ liệu online không nhấn mạnh đến việc xử lý khối lượng lớn dữ liệu. Kiến thực trọng tâm chính là về mô hình dự đoán và bạn hoàn toàn gặp khó khăn khi truy vấn và thao tác cơ sở dữ liệu.

Lời khuyên lớn nhất cho bạn chính là không được bỏ qua kỹ năng sử dụng SQL. Ngay cả đối với các tác vụ yêu cầu bạn xây dựng một thuật toán dự đoán thì kiến thức về SQL là điều bắt buộc. Các đường dẫn dữ liệu trong hầu hết các tổ chức được lưu trữ ở dạng cơ sở dữ liệu quan hệ và bạn cần lấy dữ liệu từ các cơ sở dữ liệu này và xử lý trước dữ liệu trước khi có thể bắt đầu xây dựng các mô hình ML.

Hướng dẫn học SQL siêu dễ hiểu | Sử dụng SQL Azure Database
Hướng dẫn học SQL siêu dễ hiểu | Sử dụng SQL Azure Database

Câu lệnh cập nhập (Update)


-- Cú pháp câu lệnh Update: UPDATE "table_name" SET "column_1" = "new value 1", "column_2"= "new value 2" WHERE "condition";

Ví dụ bạn muốn tăng tiền trong các tài khoản của khách hàng có CUST_ID = 1 lên 2%.

Câu lệnh Update:


-- Update, tăng số tiền trong tài khoản lên 2% cho khách hàng CUST_ID = 1. Update Account Set Avail_Balance = Avail_Balance + 2 * Avail_Balance / 100 ,Pending_Balance = Pending_Balance + 2 * Pending_Balance / 100 Where Cust_Id = 1;

Truy vấn lại, sau khi Update.

Học SQL cơ bản

SQL là gì?

RDBMS là gì?

Hệ quản trị cơ sở dữ liệu

Cú pháp SQL

Kiểu dữ liệu trong SQL

Toán tử trong SQL

Biểu thức trong SQL

Create Database trong SQL

Drop Database trong SQL

Select Database trong SQL

Create Table trong SQL

Drop Table trong SQL

Câu lệnh INSERT trong SQL

Câu lệnh Select trong SQL

Mệnh đề WHERE trong SQL

Toán tử AND và OR trong SQL

Câu lệnh UPDATE trong SQL

Câu lệnh DELETE trong SQL

Mệnh đề LIKE trong SQL

Mệnh đề TOP trong SQL

Mệnh đề ORDER BY trong SQL

Mệnh đề GROUP BY trong SQL

Từ khóa DISTINCT trong SQL

Sắp xếp kết quả trong SQL

Nhận định thị trường chứng khoán hàng ngày | Phân tích vnindex, cổ phiếu tiềm năng hôm nay
Nhận định thị trường chứng khoán hàng ngày | Phân tích vnindex, cổ phiếu tiềm năng hôm nay

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

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).

  • PRODUCT_TYPE: Bảng dữ liệu các kiểu sản phẩm (Service type of bank).

Đây là câu lệnh truy vấn dữ liệu trên bảng PRODUCT_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:

Truy vấn dữ liệu trên bảng 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:

Đặt Alias cho cột:


-- Hàm Convert(Varchar,

) chuyển một số thành chữ (Varchar) (Hàm của SQLServer) -- Sử dụng toán tử + để nối hai chuỗi (Có thể không được hỗ trợ bởi DB khác) -- 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 ,'EMP' + Convert(Varchar,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 ,'EMP' + Convert(varchar,Emp.Emp_Id ) Emp_No2 -- Cột mới From Employee Emp;

Kết quả truy vấn:

SQL Distinct

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à:


Select distinct
,
....

Xem 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;

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

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_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:

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

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).


-- 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;

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

Ví dụ:


-- 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;

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

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.


-- 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');

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

SQL Between (Nằm giữa …)


-- 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;

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:

  • 03-05-2002 ==> 09-08-2002 (dd-MM-yyyy)


-- Câu lệnh này tìm kiếm các nhân viên bắt đầu vào làm việc trong 1 khoảng thời gian -- xác định trong mệnh đề where. -- 03-05-2002 ==> 09-08-2002 (Theo dd-MM-yyyy) Select Emp.Emp_Id ,Emp.First_Name ,Emp.Last_Name ,Emp.Start_Date , -- Hàm Convert(Varchar,

, 105) chuyển Date thành Varchar dạng DD-MM-YYYY -- Đây là hàm của SQLServer. không dùng cho DB khác. Convert(Varchar, Emp.Start_Date ,105) Start_Date_Vn From Employee Emp Where -- Hàm Convert(Datetime,

, 105) chuyển text dạng DD-MM-YYYY sang Datetime -- (Đây là hàm của SQLServer, có thể ko có trên các DB khác) ( -- Emp.Start_Date Between Convert(Datetime, '03-05-2002' ,105) And Convert(Datetime,'09-08-2002' ,105) -- );


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

SQL Wildcard

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

  1. Ký tự %
  2. Ký tự _
  • % mô tả 0, 1 hoặc nhiều ký tự bất kỳ.
  • _ mô tả chính xác một ký tự.


-- Tìm kiếm các Khách hàng (Customer) có số FED_ID theo định dạng: -- Phần trước bất kỳ, rồi tới dấu - , rồi tới 2 ký tự, rồi tới dấu -, và cuối bất kỳ. -- Sử dụng 2 dấu _ để minh họa rằng đó là 2 ký tự. -- (Mỗi dấu _ là chính xác một ký tự). Select Cus.Cust_Id ,Cus.Fed_Id ,Cus.Address From Customer Cus where cus.fed_id like '%-__-%';

Kết quả chạy ví dụ:

SQL Like (Giống với …)

Câu lệnh này bạn đã quen thuộc qua các ví dụ ở trên.

SQL Order By (Sắp xếp bởi)

Việc query dữ liệu cho một tập kết quả, mà có thể nó sắp xếp không như ý muốn, sử dụng Order by để sắp xếp kết quả trả về.


-- Cú pháp SELECT "column_name" FROM "table_name" [WHERE "condition"] ORDER BY "column_name1" [ASC, DESC], "column_name2" [ASC, DESC]; -- Ghi chú: -- ASC: nghĩa là sắp xếp tăng dần (Mặc định) -- DESC: Nghĩa là sắp xếp giảm dần.

Ví dụ:


-- Sắp xếp ưu tiên Product_Type_Cd tăng dần -- Sau đó mới tới Name (Cũng tăng dần) Select Pro.Product_Cd ,Pro.Product_Type_Cd ,Pro.Name From Product Pro Order By Pro.Product_Type_Cd Asc ,Pro.Name Asc; -- Trong Order BY, ASC là mặc định. -- Vì vậy có thể ko cần viết ASC. Select Pro.Product_Cd ,Pro.Product_Type_Cd ,Pro.Name From Product Pro Order By Pro.Product_Type_Cd ,Pro.Name; -- Sắp xếp ưu tiên Product_Type_Cd giảm dần -- Sau đó mới tới Name (Tăng dần) Select Pro.Product_Cd ,Pro.Product_Type_Cd ,Pro.Name From Product Pro Order By Pro.Product_Type_Cd Desc ,Pro.Name Asc;

Kết quả chạy ví dụ:

Order By bao giờ cũng đứng sau where.


-- Tìm các nhân viên có tên bắt đầu bởi S. -- Sắp xếp giảm dần theo ngày bắt đầu vào làm việc. Select Emp.Emp_Id ,Emp.First_Name ,Emp.Last_Name ,Emp.Start_Date From Employee Emp Where Emp.First_Name Like 'S%' Order By Emp.Start_Date Desc;

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

Hoặc:


-- Sử dụng thứ tự của cột vào trong câu Order by. -- First_Name là cột thứ 2 trong câu Select -- Có thể sử dụng: Order by 2 thay cho Order by First_Name. Select Emp.Emp_Id ,Emp.First_Name ,Emp.Last_Name ,Emp.Start_Date From Employee Emp Order By 2 Desc;

SQL Group By (Nhóm bởi …)

Trước hết chúng ta cần hiểu các hàm tổng hợp (Aggregate Functions) là gì:

  • Sum: Hàm tính tổng
  • Avg: Hàm lấy trung bình
  • Count: Hàm tính số lần
  • Min: Hàm tìm giá trị nhỏ nhất
  • Max: Hàm tìm giá trị lớn nhất


-- Truy vấn dữ liệu trong bảng Account. Select Acc.Account_Id ,Acc.Product_Cd ,Acc.Avail_Balance ,Acc.Pending_Balance From Account Acc;

Câu hỏi đặt ra bạn muốn xem tổng số tiền có trong tài khoản, ứng với mỗi loại dịch vụ (Product_Cd) khác nhau. Điều đó có nghĩa là bạn cần nhóm trên các Product_Cd.


Select Acc.Product_Cd ,Count(Acc.Product_Cd) As Count_Acc -- Số tài khoản ,Sum(Acc.Avail_Balance) As Sum_Avail_Balance -- Tổng số tiền trong tài khoản ,Avg(Acc.Avail_Balance) As Avg_Avail_Balance -- Số tiền trung bình From Account Acc Group By Acc.Product_Cd;

Kết quả:

Như vậy bạn có một cái nhìn đánh giá:

  • Có 4 tài khoản tham gia dịch vụ “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.

SQL Having

Mệnh đề HAVING cho phép bạn chỉ định các điều kiện lọc kết quả nhóm nào sẽ xuất hiện trong kết quả cuối cùng.Mệnh đề WHERE đặt các điều kiện vào các cột đã chọn, trong khi mệnh đề HAVING đưa ra các điều kiện đối với các nhóm được tạo bởi mệnh đề GROUP BY.

Mệnh đề WHERE đặt các điều kiện vào các cột đã chọn, trong khi mệnh đề HAVING đưa ra các điều kiện đối với các nhóm được tạo bởi mệnh đề GROUP BY.

Giả sử bạn muốn nhóm các loại hình dịch vụ (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.


Select Acc.Product_Cd ,Count(Acc.Product_Cd) As Count_Acc -- Số tài khoản ,Sum(Acc.Avail_Balance) As Sum_Avail_Balance -- Tổng số tiền trong tài khoản ,Avg(Acc.Avail_Balance) As Avg_Avail_Balance -- Số tiền trung bình From Account Acc Group By Acc.Product_Cd Having Count(Acc.Product_Cd) > 3;

Kết quả chạy ví dụ:

Phân biệt Where & Having

Bạn cần phân biệt Where và Having trong cùng một câu lệnh.

  • Where là câu lệnh lọc bớt dữ liệu trước khi nhóm (Group)
  • Having là câu lệnh lọc bớt dữ liệu sau khi đã nhóm (Group)

Trường hợp bạn muốn có các thông tin tổng hợp của một chi nhánh ngân hàng (Bảng BRANCH). Bạn có thể sử dụng where để lọc bớt dữ liệu trước khi group.


Select Acc.Product_Cd ,Count(Acc.Product_Cd) As Count_Acc ,Sum(Acc.Avail_Balance) As Sum_Avail_Balance ,Avg(Acc.Avail_Balance) As Avg_Avail_Balance From Account Acc -- Sử dụng Where lọc bớt dữ liệu trước khi group. Where Acc.Open_Branch_Id = 1 Group By Acc.Product_Cd -- Sử dụng Having lọc bớt dữ liệu sau khi đã group Having Count(Acc.Product_Cd) > 1;

Kết quả chạy ví dụ:

KẾT LUẬN

Thực hành, thực hành và thực hành là cách tốt nhất để bạn hoàn thành lộ trìnhNhững kiến thức ở trên sẽ giúp bạn xây dựng nền tảng vững chắc về lập trình vớiHãy tham khảo 2 nền tảng HackerRank và PG Exercises có thể giúp bạn luyện tập thực hành mỗi ngày và nâng cao kỹ năng sử dụng công cụNgoài ra, bạn có thể tham khảo thêm khóa học SQL cho người mới bắt đầu củaĐây là khóa học từ cơ bản tới nâng cao và lộ trình học được cập nhật, cải tiến theo sự phát triển mỗi ngày của ngành dữSau khi hoàn thành khóa học, bạn hoàn toàn tự tin apply vào các vị trí trong ngành data với mức lương triệu đô.

Các khóa học
  • Data Engineer Track Specialized
  • Combo Data Engineering Professional Hot
  • Advanced AWS Cloud Data Engineer Specialized
  • AWS Data Engineer for Beginners Specialized
  • Combo Data Engineering Foundations Specialization Hot
  • Combo Python Level 1 & Level 2 Bestseller
  • Business Intelligence Track Hot
  • Data Analyst with Python Track Bestseller
  • Python Foundation in Data Analytics Bestseller
  • RPA UiPath Nâng Cao: Chiến Thuật Automation Cho Chuyên Gia Specialized
  • RPA UiPath cho Người Mới Bắt Đầu: Thành Thạo Automation Chỉ Trong 1 Ngày Specialized
  • IT Business Analyst Fast Track Bestseller
  • Combo IT Business Analyst Level 1 & Level 2 Bestseller
  • IT Business Analyst for Beginners Bestseller
Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường

Khi nào Bất Động Sản Phục hồi ? Năm 2024 có cơ hội nào không ?
Khi nào Bất Động Sản Phục hồi ? Năm 2024 có cơ hội nào không ?

SQL 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.

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

  • INNER JOIN (JOIN)
  • LEFT OUTER JOIN (LEFT JOIN)
  • RIGHT OUTER JOIN (RIGHT JOIN)
  • FULL OUTER JOIN (OUTER JOIN)
  • CROSS JOIN

INNER JOIN (Hoặc JOIN)

Từ khóa INNER JOIN để 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.

Cú pháp:


-- Cú pháp SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name; -- Có thể thay INNER JOIN bởi JOIN -- Ý nghĩa và kết quả là như nhau. SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name=table2.column_name;

Ví dụ:


-- INNER JOIN 2 bảng EMPLOYEE và DEPARTMENT. Select Emp.Emp_Id ,Emp.First_Name ,Emp.Last_Name ,Emp.Dept_Id ,Dep.Name Dept_Name From Employee Emp Inner Join Department Dep On Emp.Dept_Id = Dep.Dept_Id Order By Emp.Emp_Id;

Cú pháp riêng của SQLServer:


-- Cú pháp này cũng được hỗ trợ bởi Oracle & MySQL -- Việc INNER JOIN theo cách viết khác của SQLServer thực sự đơn giản. -- SQLServer đẩy điều kiện JOIN hai bảng xuống WHERE. Select Emp.Emp_Id ,Emp.First_Name ,Emp.Last_Name ,Emp.Dept_Id ,Dep.Name Dept_Name From Employee Emp ,Department Dep Where Emp.Dept_Id = Dep.Dept_Id Order By Emp.Emp_Id;

LEFT OUTER JOIN (Hoặc LEFT JOIN)

Từ khóa LEFT OUTER JOIN 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 nếu nó không khớp.

Hãy xem hình minh họa dưới đây:

Ví dụ:


-- Customer LEFT OUTER JOIN Officer -- Có thể thay thế LEFT OUTER JOIN bởi LEFT JOIN (Ý nghĩa và kết quả là giống nhau) Select Cus.Cust_Id ,Cus.Fed_Id ,Cus.State ,Ofc.Cust_Id As Ofc_Cust_Id ,Ofc.Officer_Id ,Ofc.Start_Date ,Ofc.Title From Customer Cus -- Table1 Left Outer Join Officer Ofc -- Table2 On Cus.Cust_Id = Ofc.Cust_Id;

Kết quả:

RIGHT OUTER JOIN (Hoặc RIGHT JOIN)

RIGHT OUTER JOIN khá giống với LEFT OUTER JOIN:

FULL OUTER JOIN (Hoặc OUTER JOIN)

FULL OUTER JOIN là sự kết hợp của LEFT OUTER JOIN và RIGHT OUTER JOIN


-- Cú pháp: (FULL OUTER JOIN) -- Có thể viết FULL JOIN SELECT columns FROM table1 FULL [OUTER] JOIN table2 ON table1.column = table2.column;

Lộ trình học SQL từ cơ bản đến nâng cao

Bước 1: Khái niệm cơ bản về SQL

Làm việc trong lĩnh vực phân tích dữ liệu, bạn phải tìm hiểu cơ sở dữ liệu và phân tích dữ liệu để sử dụng đúng project. Hãy bắt đầu với khái niệm RDBMS là gì. Sau đó, hãy xem video của Lucidchart trên Youtube để tìm hiểu cách tạo và đọc Sơ đồ ERD. Đây là một sơ đồ cấu trúc được sử dụng để trực quan hóa các bảng trong cơ sở dữ liệu và mối quan hệ giữa chúng. Với vị trí Data Scientist, khi trích xuất dữ liệu từ các bảng khác nhau, bạn cần tham khảo Sơ đồ ER để hiểu cách các bảng tương tác với nhau.

Bạn có thể bắt đầu ngay việc học cách truy vấn dữ liệu trong SQL. Một số khóa học của W3Schools sẽ giúp bạn tìm hiểu các lệnh sau — SELECT , IN , WHERE , BETWEEN , AND , OR , NOT , LIKE .

Đây là một số lệnh SQL đơn giản nhất được sử dụng để truy vấn và lọc các bảng cơ sở dữ liệu. Khi bạn đã quen thuộc với chúng, hãy bắt đầu học các câu lệnh CASE . Câu lệnh này khá giống với các lệnh if-else trong ngôn ngữ lập trình.

Bước 2: Các hàm tổng hợp

Các hàm tổng hợp SQL được sử dụng để thực hiện các phép tính trên nhiều giá trị bảng và trả về một kết quả duy nhất. SQL có 5 hàm tổng hợp — SUM , COUNT , AVG , MIN , MAX.

Tham khảo khóa học SQL với lộ trình từ cơ bản đến nâng cao, ứng dụng trong mọi lĩnh vực tại đây.

Bước 3: Các hàm nhóm và sắp xếp

Tiếp theo, tìm hiểu về các lệnh GROUPBY và ORDERBY . Chúng đặc biệt hữu ích khi bạn cần xem dữ liệu của mình trong các nhóm khác nhau hoặc sắp xếp các hàng theo một thứ tự cụ thể. Mệnh đề HAVING cũng rất hữu ích vì nó được sử dụng thường xuyên với các lệnh trên.

Bước 4: Câu lệnh JOINS

Tất cả các truy vấn, câu lệnh ở trên chỉ có thể được sử dụng để trích xuất dữ liệu từ một bảng duy nhất. Nếu bạn muốn kết hợp dữ liệu trong nhiều bảng, bạn cần học lệnh JOIN. Bạn có thể bắt đầu tìm hiểu các câu JOINS thông qua khóa học của Edureka miễn phí trên YouTube với tiêu đề SQL Joins Tutorial For Beginners và thực hành theo hướng dẫn.

Tham khảo khóa học SQL với lộ trình từ cơ bản đến nâng cao, ứng dụng trong mọi lĩnh vực tại đây.

Bước 5: Subqueries

Subqueries còn được gọi là truy vấn lồng nhau trong SQL và được sử dụng khi kết quả bạn muốn yêu cầu nhiều hơn một truy vấn. Một subquery là một truy vấn lồng vào bên trong một câu lệnh như SELECT , INSERT , UPDATE hoặc DELETE

Nếu bạn muốn tìm hiểu cách sử dụng truy vấn con trong SQL, hãy tham khảo bài SQL Subqueries này của W3Resource.

Bước 6: SQL để giải quyết các vấn đề kinh doanh

Ở vị trí Data Scientist, giá trị bạn mang lại cho doanh nghiệp nằm ở khả năng sử dụng dữ liệu của bạn để giải quyết vấn đề kinh doanh. Khi nhận được yêu cầu của các team khác, bạn cần có khả năng chuyển yêu cầu này thành phân tích kỹ thuật.

Ví dụ: Team của bạn nhận được yêu cầu danh sách khách hàng cho các ngành khác nhau dựa trên hành vi truy cập web trực tuyến của họ. Ở yêu cầu này, bạn sẽ cần chia nhiệm vụ này thành các bước sau:

Bước 1: Xem xét các trang web mà những khách hàng này đã truy cập và phân tách chúng theo ngành dựa trên lượt truy cập trang web của họ. Điều này có thể được thực hiện với một số bộ lọc và nhóm cơ bản trong SQL.

Bước 2: Sau đó, bạn có thể xem xét thời gian và tần suất truy cập trang web để xác định khách hàng tiềm năng cao được nhắm mục tiêu trong các ngành này. Bước 3: Cuối cùng, bạn có thể bàn giao dữ liệu cuối cùng đã lọc theo nhóm được phân chia từng lĩnh vực. Nếu bạn muốn làm nổi bật các danh mục khách hàng này, bạn có thể xây dựng thuật toán phân cụm dựa trên dữ liệu trên để xác định các cá nhân có tiềm năng cao.

Nếu bạn đang quan tâm khóa học về SQL trong lĩnh vực BI có thể truy cập khóa học của Udemy SQL Business Intelligence được thiết kế để giúp học viên sử dụng SQL để hỗ trợ ra quyết định tốt hơn. Phần đầu tiên của chương trình này bao gồm các nguyên tắc cơ bản của SQL (liên kết, toán tử, truy vấn con, tập hợp, v.v.) và phần sau tập trung vào việc áp dụng kiến thức đã học để giải quyết các vấn đề kinh doanh.

Tham khảo khóa học SQL với lộ trình từ cơ bản đến nâng cao, ứng dụng trong mọi lĩnh vực tại đây.

Bước 7: Window Functions

Window Functions là một chủ đề SQL nâng cao hơn một chút. Chúng cho phép người dùng thực hiện các phép tính đối với các phân vùng của tập kết quả. Để tìm hiểu các chức năng của cửa sổ SQL, hãy tham khảo video SQL Tutorial – Window Functions này.

Chứng khoán hôm nay | Nhận định thị trường: VNINDEX VÀO ĐẠI SÓNG, TOP SIÊU CỔ SẮP NỔ MẠNH
Chứng khoán hôm nay | Nhận định thị trường: VNINDEX VÀO ĐẠI SÓNG, TOP SIÊU CỔ SẮP NỔ MẠNH

Hoạt động SQL nâng cao

  • Mệnh đề Union
  • Giá trị NULL
  • Cú pháp Alias
  • Chỉ mục (Index)
  • Sử dụng View
  • Mệnh đề Having
  • SQL Transaction
  • Toán tử Wildcard
  • Truy vấn con
  • Sử dụng Sequence
  • Xử lý bản sao
  • SQL Injection

SQL Functions

SQL Count

Count() là một hàm, đếm số dòng trong câu Query. Thông thường nó thường được sử dụng cùng với Group by.


-- Đếm số row (dòng) có trong bảng Account Select Count(Acc.Account_Id) As Count_Acc From Account Acc;

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


-- Đếm số tài khoản có giao dịch với ngân hàng. Select Count(distinct txn.Account_id) as Distinct_Acc From Acc_Transaction txn;

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.

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ở.


-- Đếm số tài khoản đã mở ứng với mỗi khách hàng. Select Acc.Cust_Id ,Count(Acc.Account_Id) As Count_Acc From Account Acc Group By Acc.Cust_Id;

SQL Sum

Sum() là hàm dùng để tính tổng giá trị một cột số.


-- Cú pháp: SELECT SUM("column_name") FROM "table_name";

Ví dụ:


-- Tính tổng số tiền trong các tài khoản của khách hàng với Cust_ID = 1 Select Sum(Acc.Avail_Balance) As Sum_Avail_Balance From Account Acc Where Acc.Cust_Id = 1; -- Sử dụng với Group by. -- Tính tổng số tiền trong tài khoản ứng với mỗi khách hàng Select Acc.Cust_Id ,Sum(Acc.Avail_Balance) As Sum_Avail_Balance From Account Acc Group By Acc.Cust_Id;

SQL AVG

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


-- Cú pháp: SELECT AVG("column_name") FROM "table_name";

Ví dụ:


-- Tính số tiền trung bình ứng với loại hình gửi tiết kiêm. Select Avg(Acc.Avail_Balance) As Avg_Avail_Balance From Account Acc Where Acc.Product_Cd = 'SAV'; -- Sử dụng với Group by. -- Một khách hàng có thể có 1 hoặc nhiều tài khoản. -- Tính số tiền trung bình mỗi tài khoản ứng với từng khách hàng -- (tại ngân hàng Branch_ID = 1) Select Acc.Cust_Id ,Avg(Acc.Avail_Balance) As Avg_Avail_Balance From Account Acc Where Acc.Open_Branch_Id = 1 Group By Acc.Cust_Id;

SQL MIN

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


-- Cú pháp: SELECT MIN ("column_name") FROM "table_name";

Ví dụ:


-- Tìm số tiền gửi tiết kiệm nhỏ nhất. Select Min(Acc.Avail_Balance) As Min_Avail_Balance From Account Acc Where Acc.Product_Cd = 'SAV'; -- Sử dụng với Group by. -- Một khách hàng có thể có 1 hoặc nhiều tài khoản. -- Mở tại các chi nhánh khác nhau. -- Tìm số tiền trong tài khoản nhỏ nhất ứng với từng chi nhánh Select Acc.Open_Branch_Id ,Min(Acc.Avail_Balance) As Min_Avail_Balance From Account Acc Group By Acc.Open_Branch_Id;

SQL MAX

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


-- Cú pháp: SELECT MAX("column_name") FROM "table_name";

Vì sao người Lương Thiện cả đời gặp Nỗi buồn và trắc trở I Bài Học Sống Podcast
Vì sao người Lương Thiện cả đời gặp Nỗi buồn và trắc trở I Bài Học Sống Podcast

1) Trên cơ sở dữ liệu (database)

Các phiên bản của SQL Server: Enterprise, Personal, Desktop, Developer,..

Các bộ phận của SQL Server: Enterprise Manager, Query Analyzer, Books Online,..

Các loại tập tin của SQL Server: data file (primary, secondary), log file

Các loại cơ sở dữ liệu của SQL Server: system database, user database

create database: tạo cơ sở dữ liệu


create database HoSoSinhViencreate database HoSoSinhVien on (name=’HSSV_data’, filename=’c:HSSV_data.mdf’) log on (name=’HSSV_log’, filename=’c:HSSV_log.ldf’)

drop database: xóa cơ sở dữ liệu


drop database HoSoSinhVien

alter database: sửa các thông tin của cơ sở dữ liệu


alter database HoSoSinhVienmodify name = HSSV

exec sp_dboption: sửa các thông tin của cơ sở dữ liệu


exec sp_dboption HoSoSinhVien, ‘read only’, ‘true’exec sp_dboption HoSoSinhVien, ‘autoshrink’, ‘true’ exec sp_dboption HoSoSinhVien, ‘single_user’

dbcc: điều khiển cơ sở dữ liệu


dbcc shrinkdatabase(HoSoSinhVien, 10)

Nhớ các kiểu số liệu: text, binary, numberic, money, datetime, bit, variant

Nhớ các các ràng buộc: default, check, unique, foreign, primary

Nhớ các kiểu toàn vẹn: entity, domain, referential, user

Nhớ các thuộc tính bổ trợ: identity, null

create table: tạo bảng
  • Tạo bảng với các cột


create table SinhVien (MaSV int,TenSV nchar(50))

  • Tạo với các ràng buộc


create table SinhVien (MaSV int primary key,TenSV nvarchar(50) not null,QueQuan int references DiaPhuong(MaDP))

drop table: xóa bảng


drop table SinhVien

alter table..add: thêm cột

Thêm cột bằng cách dùng lệnh alter table


alter table SinhVienadd QueQuan int

alter table..drop column: xóa cột


alter table SinhVien drop column QueQuan

alter table..alter column: thêm thuộc tính not null


alter table SinhVienalter column TenSV nchar(50) not null

alter table..add primary key: thêm khóa chính

Thêm ràng buộc khóa chính cần phải biến một cột null thành not null trước khi thêm. Nếu để lệnh chuyển đổi thuộc tính not null ngay cạnh lệnh thêm khóa chính thì phải chèn từ khóa go vào vì có thể lệnh trên chưa được thực hiện do đó lệnh dưới báo lỗi


alter table SinhVienalter column MaSV int not null go alter table SinhVien add primary key (MaSV)

alter table..add foreign key: thêm ràng buộc khóa ngoài


alter table SinhVien add foreign key (QueQuan) references DiaPhuong(MaDP)

alter table..add default: thêm ràng buộc mặc định


alter table SinhVien add default 'khong ten' for TenSV

exec sp_help: xem thông tin bảng


exec sp_help SinhVien

Tham khảo các vị trí tuyển dụng SQL lương cao tại Topdev.

Tài liệu SQL tham khảo

  • First Normal Form (1NF)
  • Second Normal Form (2NF)
  • Third Normal Form (3NF)
  • Tuning DB
  • Tài liệu SQL tham khảo

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng….miễn phí. Tải ngay ứng dụng trên Android và iOS.

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile…. mới nhất của chúng tôi.

Các bài học SQL phổ biến khác tại VietJack:

  • Truy vấn Update
  • Truy vấn Insert
  • Truy vấn Select
  • Mệnh đề Order By
  • Mệnh đề Group By
  • Từ khóa Distinct
  • Mệnh đề Where
  • Mệnh đề AND & OR
10 Thắc Mắc Phổ Biến Của Người Mới Vào Nghề Data Analyst
10 Thắc Mắc Phổ Biến Của Người Mới Vào Nghề Data Analyst

Các bài viết liên quan

Phân tích Dữ liệu và Hiểu biết Khách hàng: Tối ưu hóa Trải nghiệm Người dùng

Phân tích dữ liệu là quá trình tổng hợp, xử lý, đánh giá và giải thích các dữ liệu liên quan đến hành vi của khách hàng, bao gồm lịch sử giao dịch, hoạt động trên trang web, tương tác với sản phẩm hoặc dịch vụ, đánh giá về chất lượng và sự hài lòng, và nhiều yếu tố khác. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng phân tích dữ liệu để hiểu rõ hơn về hành vi của khách hàng. Chúng tôi hy vọng rằng bài viết này sẽ cung cấp cho bạn kiến thức và kỹ năng cần thiết để phát triển doanh nghiệp của bạn.

BigQuery – Công cụ phân tích dữ liệu mạnh mẽ của Google Cloud Platform

Trong thời đại dữ liệu lớn ngày nay, việc phân tích và trích xuất giá trị từ khối lượng dữ liệu khổng lồ là vô cùng quan trọng. BigQuery là một trong những công cụ hàng đầu giúp thực hiện điều đó một cách hiệu quả.

Trọn bộ tài liệu học SQL cho người mới bắt đầu – share tài liệu

Trọn bộ tài liệu học SQL cơ bản dành cho dân newbie hay trái ngành của MCI sẽ là điểm tựa vững chắc giúp bạn tự tin trên con đường phát triển sự nghiệp về dữ liệu.

Hướng dẫn tự học SQL cho người mới bắt đầu? Chúng ta cùng nhau tìm hiểu về SQL thông qua video hướng dẫn học SQL miễn phí cho người mới bắt đầu tại Stanford, giúp bạn thành thạo và làm chủ SQL Học SQL là một lựa chọn của đa số các bạn trẻ hiện nay, đây là ngôn ngữ để tương tác với cơ sở dữ liệu; Nó bao gồm việc tạo ra cơ sở dữ liệu, xóa, sửa đổi các hàng, lấy các hàng,… SQL là gì? SQL có nghĩa là ngôn ngữ truy vấn có cấu trúc, là viết tắt của Structured Query Language là một ngôn ngữ máy tính để lưu trữ, thao tác và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ. SQL là ngôn ngữ chuẩn cho hệ cơ sở dữ liệu quan hệ. Tất cả các hệ thống quản lý cơ sở dữ liệu quan hệ (RDMS) như Oracle, Sybase, MySQL, MS Access, Postgres, Informix và SQL Server đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn. Ngoài ra, họ đang sử dụng các ngôn ngữ khác nhau, chẳng hạn như: Oracle using PL/SQL, MS SQL Server using T-SQL, MS Access version of SQL is called JET SQL (native format) etc. SQL mặc dù không phải là một ngôn ngữ lập trình như C, C++, Java,… nhưng các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu. SQL là ngôn ngữ có tính khai báo, không giống các ngôn ngữ lập trình quen thuộc như C, C++, Java,… Với SQL, người dùng không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu. Bởi vậy, SQL là ngôn ngữ dễ sử dụng và dễ tiếp cận. Tại sao nên học SQL SQL được sử dụng phổ biến vì nó có các ưu điểm sau: – Cho phép người dùng truy cập dữ liệu trong các hệ thống quản lý cơ sở dữ liệu quan hệ. – Cho phép người dùng mô tả dữ liệu. – Cho phép người dùng xác định dữ liệu trong cơ sở dữ liệu và thao tác dữ liệu đó. – Cho phép nhúng trong các ngôn ngữ khác sử dụng mô-đun SQL, thư viện và trình biên dịch trước. – Cho phép người dùng tạo và thả các cơ sở dữ liệu và bảng. – Cho phép người dùng tạo chế độ view, thủ tục lưu trữ, chức năng trong cơ sở dữ liệu. – Cho phép người dùng thiết lập quyền trên các bảng, thủ tục và view. Lớp học SQL cơ bản tại Stanford Các câu lệnh SQL Các lệnh SQL tiêu chuẩn để tương tác với cơ sở dữ liệu quan hệ là CREATE, SELECT, INSERT, UPDATE, DELETE và DROP. Các lệnh này có thể được phân thành các nhóm sau dựa trên bản chất của chúng DDL – Ngôn ngữ định nghĩa dữ liệu(Data Definition Language) CREATE: Tạo ra một bảng mới, một view của một bảng, hoặc các đối tượng khác trong cơ sở dữ liệu. ALTER: Sửa đổi một đối tượng cơ sở dữ liệu hiện có, chẳng hạn như một bảng. DROP: Xoá toàn bộ một bảng, view của một bảng hoặc các đối tượng khác trong cơ sở dữ liệu. DML – Ngôn ngữ thao tác dữ liệu(Data Manipulation Language) SELECT: Lấy ra các bản ghi nhất định từ một hoặc nhiều bảng. INSERT: Tạo một bản ghi.. UPDATE: Chỉnh sửa bản nghi. DELETE: Xóa bản ghi. DCL – Ngôn ngữ điều khiển dữ liệu (Data Control Language) GRANT: Cung cấp một đặc quyền cho người dùng. REVOKE: Lấy lại các đặc quyền được cấp từ người dùng. Với những chia sẻ trên, bạn đã biết một số khái niệm về SQL Server? Nếu bạn muốn làm chủ hệ quản lý cơ sở dữ liệu SQL Sever, hãy tham khảo các video hướng dẫn học SQL cơ bản tới nâng cao từ chuyên gia Stanford nhé. Bắt đầu học SQL qua video miễn phí bạn cũng có thể thực hành luôn khi theo dõi các video hướng dẫn đó. Link video: https://www.youtube.com/playlist?list=PLfuyf4LvBOUpYK29JHXTvxNz9bjgiJgsz ——– STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ Hotline: 0866 586 366 – 024. 6275 2212 Website: https://stanford.com.vn/ Tags: học lập trình, học sql

MIỄN PHÍ 100% | Series tự học SQL từ cơ bản tới nâng cao (cập nhật liên tục…)

SQL(Structured Query Language) là một ngôn ngữ tiêu chuẩn để lưu trữ, thao tác và truy xuất dữ liệu trong cơ sở dữ
liệu. Series này sẽ dạy bạn cách sử dụng SQL trong các hệ quản trị cơ sở sau đây: MySQL, SQL Server, MS Access,
Oracle,
Sybase, Informix, Postgres, và các hệ thống cơ sở dữ liệu khác.

Trong series bao gồm:

  • Sách, video và tài liệu học SQL
  • Lộ trình học SQL từ cơ bản tới nâng cao
  • Bài tập với đầy đủ bài giải chi tiết

👉 Giới
thiệu
mọi thức về
Cafedev tại đây

Phần mở đầu Sách, video và tài liệu
0.0 Kho
sách SQL
0.1 Nơi đăng ký nhận ebook lập trình, ebook công nghệ thông tin tại đây
0.2 Khoá học online SQL cho người mới
0.2 Video học
SQL(Đang cập nhật…)
Phần 1 Giới thiệu
1.0 Giới thiệu chi tiết về SQL và ứng dụng của nó
1.1 Tìm hiểu
cách
Comments trong code SQL
1.2 Tổng hợp
các toán tử
dùng trong SQL
1.3 Làm
việc với kiểu ngày, giờ(Date) trong SQL
Phần 2 Câu lệnh truy vấn trong SQL
2.0 Tìm hiểu về câu lệnh truy vấn là gì? và câu lệnh select trong SQL
2.1 Sử dụng WHERE và
AND, OR, Not, Order By với SELECT trong SQL
2.2 Tìm hiểu về INSERT
INTO, UPDATE, DELETE dữ liệu trong SQL
2.3 Sử dụng TOP, LIMIT or ROWNUM, TOP PERCENT trong SQL
Phần 3 Các hàm và toán tử trong SQL
3.0 Sử dụng hàm MIN(), MAX(),COUNT(), AVG() và SUM() với SELECT trong SQL
3.1 Toán tử Like trong
SQL
3.2 Toán tử Wildcards
trong SQL
3.3 Tìm hiểu về toán tử IN, NOT IN, Between, NOT BETWEEN trong SQL
3.4 Tìm hiểu về từ AS hay gọi là Aliases trong SQL
3.5 Tìm hiểu mọi thứ về JOIN với SELECT trong SQL
3.6 Tìm hiểu về toán tử UNION, UNION ALL với SELECT trong SQL
3.7 Tìm hiểu về toán tử EXISTS, ANY và ALL với SELECT trong SQL
3.8 Tìm hiểu về GROUP
BY, HAVING với SELECT trong SQL
3.9 Tìm hiểu về SELECT INTO,INSERT INTO và CASE với SELECT trong SQL
3.10 Tìm hiểu về giá trị NULL và hàm IFNULL(), ISNULL(), COALESCE(), and NVL() trong
SQL
3.11 Stored
Procedures trong SQL Server
Phần 4 Tìm hiểu về Database trong SQL
4.0 Tạo, Xoá, Sao lưu Cơ sở dữ liệu(DATABASE) trong SQL
4.1 Tạo
bảng(table), Xoá
bảng, After bảng trong SQL
4.2 Tìm hiểu về
ràng buộc(Constraint) là gì? và NOT NULL, UNIQUE Constraint trong SQL
4.3 Tìm hiểu về khoá chính(PRIMARY KEY), khoá ngoại(FOREIGN KEY) trong SQL
4.4 Tìm hiểu về ràng buộc
CHECK và DEFAULT trong SQL
4.5 Tìm hiểu về cách
tự động tăng giá trị trong bảng
4.6 Tìm hiểu về
câu
lệnh View trong SQL
4.7 Tìm hiểu về trigger trong SQL
là gì qua ví dụ chi tiết
Phần 5 Bài tập SQL
5.0 Bài tập thực hành Create, insert, update, xoá dữ liệu trong SQL
5.1 Bài tập thực hành câu lệnh select dữ liệu từ cơ bản tới nâng cao trong SQL
5.2 Bộ đề thực hành tất cả các truy vấn sql từ cơ bản tới nâng cao(full hướng dẫn)
5.3 Bài tập thực hành sql server phần 1 (full hướng dẫn)
5.4 Bài tập thực hành sql server phần 2 (full hướng dẫn)
5.5 Bài tập thực hành sql server phần 3 (full hướng dẫn)
5.6 Bài tập thực hành sql server phần 4 (full hướng dẫn)
5.6 Bài tập thực hành sql server phần 5 (full hướng dẫn)
5.6 Tài liệu + bài tập hay để học SQL đẩy đủ nhất hiện nay
Phần 6 Bài tập SQL nâng cao
6.0 Bài tập thực hành sql server nâng cao – Phần 1(full hướng dẫn)
6.1 Bài tập thực hành sql server nâng cao – Phần 2(full hướng dẫn)
6.2 Bài tập
thực hành về Stored Procedures
6.3 Bài tập thực hành về
Chuỗi
6.4 Bộ đề ôn luyện thi SQL từ cơ bản tới nâng cao(có giải) đề số 1
6.5 Bộ đề ôn luyện thi SQL từ cơ bản tới nâng cao(có giải) đề số 2

Các bài viết liên quan

Bài viết được sự cho phép của tác giả Lê Chí Dũng

3) Trên bản ghi (record)

Nhớ thêm phần biểu thức điều kiện

Nhớ thêm phần ký tự thay thế

insert..values: thêm các bản ghi vào bảng


insert into SinhVien (MaSV, TenSV, QueQuan)values (1, N’Nguyễn Văn A’, 1)

insert..select: thêm các bản ghi từ bảng khác vào bảng


insert into DocGiaselect MaSV, TenSV, QueQuan from SinhVien insert into DocGia select MaGV, TenGV, QueQuan from GiaoVien

select..into: đưa kết quả lựa chọn vào bảng mới


select MaSV, TenSV, Dieminto SinhVienKha from SinhVien where Diem > 7.0

delete: xóa các bản ghi từ bảng


delete from SinhViendelete from SinhVien where MaSV=1234

truncate: xóa toàn bộ bản ghi của bảng


truncate table SinhVien

update: sửa các bản ghi trong bảng


update SinhVienset NhomTruong = 1 where MaSV < 4 update SinhVien set NhomTruong = 4 where (MaSV > 3 and MaSV < 8)

Công việc thực tế của DATA ANALYST lương 1000-2000$
Công việc thực tế của DATA ANALYST lương 1000-2000$

ref: Tham khảo thêm một số lệnh

Xem tất cả các CƠ SỞ DỮ LIỆU người dùng trong MÁY CHỦ

Mỗi khi một cơ sở dữ liệu được tạo ra, bảng sysdatabase trong cơ sở dữ liệu master sẽ chứa thông tin về bảng mới tạo ra đó. Do vậy chúng ta có thể liệt kê tất cả các cơ sở dữ liệu trong một máy chủ bằng cách liệt kê các bản ghi trong bảng sysdatabase


select * from master.dbo.sysdatabases where sid <> 1

Xem tất cả các BẢNG người dùng trong CƠ SỞ DỮ LIỆU

Mỗi khi một bảng được tạo ra trong một cơ sở dữ liệu, thông tin về bảng đó sẽ được chứa trong bảng sysobjects của chính cơ sở dữ liệu chứa bảng vừa tạo. Vì vậy chúng ta có thể xem danh sách các bảng trong cơ sở dữ liệu bằng cách truy vấn bảng sysobjects. Các bảng do người dùng tạo có kiểu là ‘U’


select * from Northwind.dbo.sysobjects where xtype='U'

Trong ví dụ này, chúng ta lấy tất cả các bản ghi bảng sysobjects của cơ sở dữ liệu Northwind nhưng chỉ lấy những bảng người dùng, nghĩa là những bảng có xtype là ‘U’

Xem tất cả các CỘT thuộc về một BẢNG

Mỗi khi một cột trong bảng được tạo, bảng syscolumns trong cơ sở dữ liệu sẽ chứa thông tin về cột vừa tạo. Thuộc tính id của cột sẽ chứa định danh của bảng mà cột đó thuộc về. Vì vậy để xem các cột trong một bảng dữ liệu, chúng ta có thể truy vấn bảng syscolumns


declare @x intset @x = (select id from sysobjects where name='Employees') select * from syscolumns where id = @x

Trong ví dụ này, ta khai báo biến @x kiểu int, sau đó lấy id của bảng Employees vào biến @x, rồi ta lấy tất cả các cột trong bảng syscolumns mà có id bằng @x, cũng có nghĩa là id của bảng Employees. Do vậy ta sẽ liệt kê được tất cả các cột trong bảng Employees

Sử dụng bảng tạm

Khai báo bảng, cập nhật bảng, và hiện bảng


declare @x table(MaSV int, TenSV nvarchar(20)) insert into @x values(1, N'Thưởng') insert into @x values(2, N'Yến') select * from @x

Khai báo bảng, tải bảng khác từ trong cơ sở dữ liệu lên bảng vừa khai báo, và hiện bảng


declare @x table(MaSV int, TenSV nvarchar(20)) insert into @x select EmployeeID, firstname from Northwind.dbo.Employees select * from @x

Sử dụng biến tạm


declare @t moneyset @t = (select max(UnitPrice) from Northwind.dbo.products) select * from Northwind.dbo.products where UnitPrice >= @t

Học SQL nâng cao

Ràng buộc trong SQL

Mệnh đề JOIN trong SQL

Mệnh đề UNION trong SQL

Giá trị NULL trong SQL

Alias trong SQL

Index trong SQL

Lệnh ALTER TABLE trong SQL

Lệnh TRUNCATE TABLE trong SQL

Sử dụng VIEW trong SQL

Mệnh đề HAVING trong SQL

Transaction trong SQL

Ký tự đại diện trong SQL

Xử lý Date trong SQL

Bảng tạm trong SQL

Clone table trong SQL

Sub query trong SQL

Sequence trong SQL

Xử lý duplicate trong SQL

Học SQL cơ bản và nâng cao

[Học SQL cơ bản và nâng cao] SQL (là viết tắt của Structured Query Language – Ngôn ngữ truy vấn mang tính cấu trúc) được sử dụng để thực hiện các hoạt động trên các bản ghi được lưu trữ trong Database (Cơ sở dữ liệu), chẳng hạn như cập nhật các bản ghi, xóa các bản ghi, tạo và sửa đổi các bảng, …

SQL chỉ là một ngôn ngữ truy vấn, chứ không phải là một Cơ sở dữ liệu. Để thực hiện các truy vấn SQL, bạn cần cài đặt bất cứ Cơ sở dữ liệu nào, như Oracle, MySQL, MongoDB, PostGres SQL, SQL Server, DB2, …

Dưới đây là danh sách các bài hướng dẫn học SQL cơ bản và nâng cao:

MỤC LỤC

Analytical Thinking (Tư duy phân tích): Cách luyện tập phân tích vấn đề
Analytical Thinking (Tư duy phân tích): Cách luyện tập phân tích vấn đề

Câu truy vấn con (Subquery)

Trong SQLServer, 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.

Subquery trong mệnh đề Where

Khá thường xuyên, các subquery sẽ được tìm thấy trong mệnh đề WHERE. Những truy vấn con còn được gọi là truy vấn con lồng nhau.


Select Acc.Account_Id ,Acc.Open_Date ,Acc.Product_Cd ,Acc.Avail_Balance From Account Acc Where Acc.Cust_Id In (Select Cus.Cust_Id From Customer Cus Where Cus.Cust_Type_Cd = 'B')

Subquery trong mệnh đề From

Một truy vấn phụ cũng có thể được tìm thấy trong mệnh đề FROM. Chúng được gọi là inline views.


Select Cus.Cust_Id ,Cus.Address ,Cus.Fed_Id ,Acc2.Sum_Avail_Balance From Customer Cus , -- Câu Subquery định nghĩa 1 bảng ảo (inline view) (Select Acc.Cust_Id ,Sum(Acc.Avail_Balance) As Sum_Avail_Balance From Account Acc Group By Acc.Cust_Id) Acc2 Where Cus.Cust_Id = Acc2.Cust_Id;

Subquery trong mệnh đề Select

Một subquery cũng có thể được tìm thấy trong mệnh đề SELECT.


Select Cus.Cust_Id ,Cus.Address ,Cus.Fed_Id ,(Select Sum(Acc.Avail_Balance) From Account Acc Where Acc.Cust_Id = Cus.Cust_Id) As Sum_Avail_Balance From Customer Cus;

Bí quyết để đặt một subquery trong mệnh đề select 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.

Các câu lệnh trèn dữ liệu (Insert)

Câu lệnh Insert Into

Cú pháp:


-- Cú pháp câu lệnh Insert Into: INSERT INTO "table_name" ("column1", "column2", ...) VALUES ("value1", "value2", ...);

Ví dụ bạn trèn thêm một giao dịch khách hàng vào bảng ACC_TRANSACTION:


-- Trèn 1 dòng dữ liệu vào bảng Acc_Trasaction -- Cột Txn_ID tự động được sinh ra. -- (Txn_ID không tham gia vào trong câu Insert) -- Current_Timestamp là hàm của SQLServer lấy ra giờ hệ thống (System Date) -- Current_Timestamp : Giờ hiện tại. Insert Into Acc_Transaction (Amount ,Funds_Avail_Date ,Txn_Date ,Txn_Type_Cd ,Account_Id ,Execution_Branch_Id ,Teller_Emp_Id) Values (100 -- Amount ,Current_Timestamp -- Funds_Avail_Date ,Current_Timestamp -- Txn_Date ,'CDT' -- Txn_Type_Cd ,2 -- Account_Id ,Null -- Execution_Branch_Id ,Null -- Teller_Emp_Id );

Câu lệnh Insert Into Select

Bạn có thể sử dụng câu Select để cung cấp dữ liệu trèn vào bảng. Thông qua câu lệnh Insert Into … Select.


-- Ngữ pháp câu lệnh INSERT INTO .. SELECT INSERT INTO "table1" ("column1", "column2", ...) SELECT "column3", "column4", ... FROM "table2";

Ví dụ:


-- Txn_Id tự sinh ra (Không cần phải tham gia vào câu Insert) -- Trèn nhiều dòng dữ liệu vào bảng Acc_Transaction -- Lấy dữ liệu từ câu Select. Insert Into Acc_Transaction ( Txn_Date ,Account_Id ,Txn_Type_Cd ,Amount ,Funds_Avail_Date) Select Acc.Open_Date -- Txn_Date ,Acc.Account_Id -- Account_Id ,'CDT' -- Txn_Type_Cd ,200 -- Amount ,Acc.Open_Date -- Funds_Avail_Date From Account Acc Where Acc.Product_Cd = 'CD';

#151 Các anh chồng Pháp thích áo dài Việt không?-Alex hát nhạc Tết-vừa ăn cơm vừa học tiếng Việt
#151 Các anh chồng Pháp thích áo dài Việt không?-Alex hát nhạc Tết-vừa ăn cơm vừa học tiếng Việt

ref: Liên quan tới định nghĩa bảng

Các vấn đề về toàn vẹn dữ liệu

+ Toàn vẹn thực thể (entity integrity): primary key, unique, identity

+ Toàn vẹn tham chiếu (referential integrity): foreign key, check

+ Toàn vẹn miền dữ liệu (domain integrity): default, foreign key, check, not null

+ Toàn vẹn người dùng (user integrity): rules, stored procedures, triggers

Các hỗ trợ với toàn vẹn

+ Ràng buộc kiểm tra (check constraint): phải thỏa mãn điều kiện nào đó

+ Ràng buộc mặc định (default constraint): phải có một giá trị mặc định

+ Ràng buộc duy nhất (unique constraint): các giá trị trong cột không được trùng lặp

+ Ràng buộc khóa ngoài (foreign key constraint): các giá trị phải hợp lệ với cột khóa chính tương ứng

+ Ràng buộc khóa chính (primary key constraint): phải duy nhất và không trống

+ Thuộc tính định danh (identity property): có thể được tăng tự động

+ Thuộc tính không trống (not null property): không được phép để trống

Các kiểu dữ liệu

Giá trị nhị phân: bit

Các số nguyên: bigint, int, smallint, tinyint

Các số thực xấp xỉ: float, real

Giá trị số thực chính xác: decimal, numberic

Giá trị tiền tệ: money, smallmoney

Giá trị hời gian: datetime, smalldatetime

Các chuỗi: char, varchar, text, nchar, nvarchar, ntext,

Các chuỗi nhị phân: binary, varbinary, image

Các kiểu khác: cursor, table, variant, timestamp, uniqueidentifier

Bài viết gốc được đăng tải tại lcdung.top

Có thể bạn quan tâm:

Xem thêm Việc làm ngành IT hấp dẫn trên TopDev

Hướng dẫn học SQL cho người mới bắt đầu với SQL Server

ngày 09-08-2023

— Tạo bảng KhoaCREATE TABLE Khoa (MaKhoa VARCHAR(10) PRIMARY KEY,TenKhoa VARCHAR(255) NOT NULL);– Tạo bảng SinhVienCREATE TABLE SinhVien (MaSinhVien INT PRIMARY KEY,Ten VARCHAR(255) NOT NULL,NgaySinh DATE,DiaChi VARCHAR(255),MaKhoa VARCHAR(10),FOREIGN KEY (MaKhoa) REFERENCES Khoa(MaKhoa));

— Thêm dữ liệu cho bảng KhoaINSERT INTO Khoa (MaKhoa, TenKhoa) VALUES(‘K1’, ‘Khoa Toan’),(‘K2’, ‘Khoa Ly’),(‘K3’, ‘Khoa Hoa’);

INSERT INTO SinhVien (MaSinhVien, Ten, NgaySinh, DiaChi, MaKhoa) VALUES(1, ‘Nguyen Van A’, ‘2000-11-15’, ‘123 Hai Ba Trung, TP.HCM’, ‘K1’),(2, ‘Le Thi B’, ‘2001-05-20’, ‘456 Le Duan, TP.HCM’, ‘K1’),(3, ‘Tran Van C’, ‘2002-01-10’, ‘789 Tran Hung Dao, Ha Noi’, ‘K1’),(4, ‘Pham Thi D’, ‘2001-09-05’, ‘101 Ba Trieu, Da Nang’, ‘K1’),(5, ‘Vo Van E’, ‘2002-04-17’, ‘202 Nguyen Du, TP.HCM’, ‘K1’),(6, ‘Bui Thi F’, ‘2000-12-25’, ‘303 Ly Thuong Kiet, TP.HCM’, ‘K1’),(7, ‘Hoang Van G’, ‘2001-07-13’, ‘404 Tran Phu, Ha Noi’, ‘K2’),(8, ‘Nguyen Thi H’, ‘2002-02-19’, ‘505 Tran Binh Trong, TP.HCM’, ‘K2’),(9, ‘Le Van I’, ‘2001-06-30’, ‘606 Hoang Van Thu, TP.HCM’, ‘K2’),(10, ‘Tran Thi J’, ‘2000-03-08’, ‘707 Nguyen Trai, Da Nang’, ‘K2’),(11, ‘Pham Van K’, ‘2001-10-24’, ‘808 Tran Cao Van, TP.HCM’, ‘K2’),(12, ‘Vo Thi L’, ‘2002-08-12’, ‘909 Le Lai, TP.HCM’, ‘K2’),(13, ‘Bui Van M’, ‘2001-11-11’, ‘110 Nguyen Chi Thanh, Ha Noi’, ‘K3’),(14, ‘Hoang Thi N’, ‘2000-05-21’, ‘111 Hang Bai, Ha Noi’, ‘K3’),(15, ‘Nguyen Van O’, ‘2001-03-15’, ‘212 Hang Ma, Ha Noi’, ‘K3’),(16, ‘Le Thi P’, ‘2002-07-18’, ‘313 Hang Bong, Ha Noi’, ‘K3’),(17, ‘Tran Van Q’, ‘2000-12-03’, ‘414 Hang Dao, Ha Noi’, ‘K3’),(18, ‘Pham Thi R’, ‘2001-09-09’, ‘515 Pho Hue, Ha Noi’, ‘K3’),(19, ‘Vo Van S’, ‘2002-06-27’, ‘616 Tran Nhan Tong, Ha Noi’, ‘K3’),(20, ‘Bui Van T’, ‘2001-02-02’, ‘717 Le Thanh Tong, Ha Noi’, ‘K3’);

SELECT *FROM SinhVien;

SELECT Ten,NgaySinhFROM SinhVien

SELECT *FROM SinhVienWHERE Ten= “Nguyen Van A”

Trong đó

SELECT ∗FROM SinhVienORDER BY Ten ASC

SELECT ∗FROM SinhVienORDER BY NgaySinh DESC

SELECT ∗FROM SinhVienWHERE NgaySinh>′01−01−2000′ORDER BY Ten ASC

SELECT SinhVien.*, Khoa.TenKhoaFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoa;

SELECT Khoa.TenKhoa,COUNT(SinhVien.MaSinhVien) as SoSinhVienFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoaGROUP BY Khoa.TenKhoa;

SELECT Khoa.TenKhoa,COUNT(SinhVien.MaSinhVien) as SoSinhVienFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoaGROUP BY Khoa.TenKhoaHAVING COUNT(SinhVien.MaSinhVien) < 8;

SELECT * FROM SinhVien;SELECT * FROM Khoa;SELECT Ten, NgaySinh FROM SinhVien;SELECT * FROM SinhVien WHERE Ten = ‘Nguyen Van A’;SELECT * FROM SinhVien WHERE NgaySinh > ‘2000-01-01’;SELECT SinhVien.Ten, Khoa.TenKhoaFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoa;SELECT * FROM SinhVien ORDER BY Ten ASC;SELECT * FROM SinhVien ORDER BY NgaySinh DESC;SELECT Khoa.TenKhoa, COUNT(SinhVien.MaSinhVien) as SoSinhVienFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoaGROUP BY Khoa.TenKhoa;SELECT Khoa.TenKhoa, COUNT(SinhVien.MaSinhVien) as SoSinhVienFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoaGROUP BY Khoa.TenKhoaHAVING COUNT(SinhVien.MaSinhVien) < 2;SELECT SinhVien.Ten AS HoTen, Khoa.TenKhoa AS KhoaHocFROM SinhVienJOIN Khoa ON SinhVien.MaKhoa = Khoa.MaKhoa;SELECT * FROM SinhVien WHERE Ten = ‘Nguyen Van A’ OR Ten = ‘Le Thi B’;SELECT * FROM SinhVien WHERE MaKhoa = ‘K1’ AND NgaySinh > ‘2000-01-01’;SELECT COUNT(*) AS SoKhoa FROM Khoa;

SQL là viết tắt của Structured Query Language có nghĩa là ngôn ngữ truy vấn có cấu trúc, là một ngôn ngữ máy tính để lưu trữ, thao tác và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ.

SQL là ngôn ngữ chuẩn cho hệ cơ sở dữ liệu quan hệ. Tất cả các hệ thống quản lý cơ sở dữ liệu quan hệ (RDMS) như MySQL, MS Access, Oracle, Sybase, Informix, Postgres và SQL Server đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn. Dưới đây là danh sách các bài học SQL – học sql cơ bản đến nâng cao.

Nội dung chính

Keywords searched by users: học sql cơ bản

Top 5 Khóa Học Sql Online Từ Cơ Bản Đến Nâng Cao Tốt Nhất 2024
Top 5 Khóa Học Sql Online Từ Cơ Bản Đến Nâng Cao Tốt Nhất 2024
5 Khái Niệm Đơn Giản Khi Mới Bắt Đầu Học Sql Cơ Bản
5 Khái Niệm Đơn Giản Khi Mới Bắt Đầu Học Sql Cơ Bản
Tự Học Sql Csdl Cơ Bản Cho Người Mới Bắt Đầu Phần 1 - Sql Select From Where  - Youtube
Tự Học Sql Csdl Cơ Bản Cho Người Mới Bắt Đầu Phần 1 – Sql Select From Where – Youtube
Khóa Học Trọn Bộ Sql Cơ Bản Qua 500 Câu Truy Vấn Dành Cho Người Mới Bắt Đầu  - Học Excel Online Miễn Phí
Khóa Học Trọn Bộ Sql Cơ Bản Qua 500 Câu Truy Vấn Dành Cho Người Mới Bắt Đầu – Học Excel Online Miễn Phí
Năm 2022 Học Sql Có Gì Mới Cập Nhật
Năm 2022 Học Sql Có Gì Mới Cập Nhật
Hướng Dẫn Tự Học Sql Cơ Bản Cho Người Mới Bắt Đầu
Hướng Dẫn Tự Học Sql Cơ Bản Cho Người Mới Bắt Đầu
Học Sql Cơ Bản - Youtube
Học Sql Cơ Bản – Youtube
Hướng Dẫn Tự Học Sql Cơ Bản Cho Người Mới Bắt Đầu
Hướng Dẫn Tự Học Sql Cơ Bản Cho Người Mới Bắt Đầu
Học Sql Cơ Bản Ở Đâu? Giải Đáp 3 Điều Khi Quyết Định Học Sql
Học Sql Cơ Bản Ở Đâu? Giải Đáp 3 Điều Khi Quyết Định Học Sql
Csdl Sql Từ Cơ Bản Đến Nâng Cao – Branium Academy
Csdl Sql Từ Cơ Bản Đến Nâng Cao – Branium Academy
Học Sql Cơ Bản Archives - Học Phân Tích Dữ Liệu, Tin Học Văn Phòng Cùng  Mastermos
Học Sql Cơ Bản Archives – Học Phân Tích Dữ Liệu, Tin Học Văn Phòng Cùng Mastermos
Tự Học Sql Cùng Vịt - Khóa Cơ Bản Cho Người Mới Bắt Đầu - Youtube
Tự Học Sql Cùng Vịt – Khóa Cơ Bản Cho Người Mới Bắt Đầu – Youtube
Học Sql Cơ Bản Archives - Học Phân Tích Dữ Liệu, Tin Học Văn Phòng Cùng  Mastermos
Học Sql Cơ Bản Archives – Học Phân Tích Dữ Liệu, Tin Học Văn Phòng Cùng Mastermos
Khóa Học Sql - Kpim
Khóa Học Sql – Kpim
Tổng Hợp Những Câu Lệnh Sql Cơ Bản | Topdev
Tổng Hợp Những Câu Lệnh Sql Cơ Bản | Topdev
Cách Học Sql Cơ Bản Tốt Nhất: Hướng Dẫn Học Sql Đầy Đủ Cho Mọi Người
Cách Học Sql Cơ Bản Tốt Nhất: Hướng Dẫn Học Sql Đầy Đủ Cho Mọi Người
Sql Server Cơ Bản - Nghề Lập Trình
Sql Server Cơ Bản – Nghề Lập Trình
Học Sql Cơ Bản - Youtube
Học Sql Cơ Bản – Youtube
Học Sql Cơ Bản Ở Đâu? Giải Đáp 3 Điều Khi Quyết Định Học Sql
Học Sql Cơ Bản Ở Đâu? Giải Đáp 3 Điều Khi Quyết Định Học Sql
Hướng Dẫn Tự Học Sql Cơ Bản Cho Người Mới Bắt Đầu
Hướng Dẫn Tự Học Sql Cơ Bản Cho Người Mới Bắt Đầu
Học Sql Cơ Bản Archives - Page 4 Of 6 - Học Phân Tích Dữ Liệu, Tin Học Văn  Phòng Cùng Mastermos
Học Sql Cơ Bản Archives – Page 4 Of 6 – Học Phân Tích Dữ Liệu, Tin Học Văn Phòng Cùng Mastermos
9 Câu Lệnh Sql Cơ Bản Dân Tự Học Data Analyst Cần Biết - Unigap
9 Câu Lệnh Sql Cơ Bản Dân Tự Học Data Analyst Cần Biết – Unigap
Ngôn Ngữ Sql Là Gì? Giới Thiệu Một Số Lệnh Cơ Bản Của Sql
Ngôn Ngữ Sql Là Gì? Giới Thiệu Một Số Lệnh Cơ Bản Của Sql
Thaovtp] Tìm Hiểu Về Sql Và Một Số Câu Lệnh Sql Cơ Bản
Thaovtp] Tìm Hiểu Về Sql Và Một Số Câu Lệnh Sql Cơ Bản
9 Lệnh Sql Cơ Bản Data Analyst Cần Biết - Ngovinhdata.Com
9 Lệnh Sql Cơ Bản Data Analyst Cần Biết – Ngovinhdata.Com
Học Sql Cơ Bản
Học Sql Cơ Bản
Top 5 Khóa Học Sql Online Từ Cơ Bản Đến Nâng Cao Tốt Nhất 2024
Top 5 Khóa Học Sql Online Từ Cơ Bản Đến Nâng Cao Tốt Nhất 2024
Sql Server Cơ Bản
Sql Server Cơ Bản
Tổng Hợp Và Chọn Lọc Bài Tập Sql Full Hướng Dẫn Cho Ace Với Mọi Level Từ Cơ  Bản Tới Nâng Cao » Cafedev.Vn
Tổng Hợp Và Chọn Lọc Bài Tập Sql Full Hướng Dẫn Cho Ace Với Mọi Level Từ Cơ Bản Tới Nâng Cao » Cafedev.Vn
Tìm Hiểu Sql Cơ Bản: Hướng Dẫn 10 Bí Kíp Học Sql Hay Nhất
Tìm Hiểu Sql Cơ Bản: Hướng Dẫn 10 Bí Kíp Học Sql Hay Nhất
9 Câu Lệnh Sql Cơ Bản Dân Tự Học Data Analyst Cần Biết - Unigap
9 Câu Lệnh Sql Cơ Bản Dân Tự Học Data Analyst Cần Biết – Unigap
Coderschool | Top Coding School In Vietnam
Coderschool | Top Coding School In Vietnam
Tự Học Sql] Bộ Đề Ôn Luyện Thi Sql Từ Cơ Bản Tới Nâng Cao(Có Giải) Đề Số 2  » Cafedev.Vn
Tự Học Sql] Bộ Đề Ôn Luyện Thi Sql Từ Cơ Bản Tới Nâng Cao(Có Giải) Đề Số 2 » Cafedev.Vn
Truy Vấn Con Subquery Trong Sql - Học Sql Từ Cơ Bản Đến Nâng Cao
Truy Vấn Con Subquery Trong Sql – Học Sql Từ Cơ Bản Đến Nâng Cao
Tài Liệu Học Sql] Phần 1 - Sql Là Gì? Tổng Quan Về Sql Cho Người Mới -  Datapot.Vn
Tài Liệu Học Sql] Phần 1 – Sql Là Gì? Tổng Quan Về Sql Cho Người Mới – Datapot.Vn
Sql Là Gì? 6 Lý Do Tại Sao Bạn Nên Học Sql | Topdev
Sql Là Gì? 6 Lý Do Tại Sao Bạn Nên Học Sql | Topdev

See more here: kientrucannam.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *