Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Trang chủ Database Cơ sở dữ liệu Truy vấn dữ liệu trong sql (Bài 5)
  • Database
  • Cơ sở dữ liệu

Truy vấn dữ liệu trong sql (Bài 5)

Bởi
admin
-
17/04/2019
131934
14
Facebook
Twitter

Truy vấn dữ liệu trong sql là thao tác trích xuất thông tin được lưu trữ trong các table. Thông tin được truy xuất thông qua các cột và thông tin cần trích xuất có thể thuộc một hoặc nhiều bảng.

Show

Thao tác này được sử dụng rất nhiều trong các hệ thống phần mềm hoặc website, chẳng hạn khi các bạn đăng nhập vào facebook thì hệ thống sẽ thực hiện truy vấn dữ liệu để kiểm tra tích hợp lệ của tài khoản đăng nhập, .

Truy vấn dữ liệu trong sql Ngôn ngữ SQL

SQL viết tắt củaStructured Query Language, là ngôn ngữ truy vấn có cấu trúc.SQL cho phép chúng ta tạo cơ sở dữ liệu, thao tác trên dữ liệu như lưu trữ dữ liệu, sửa dữ liệu hoặc xóa dữ liệu hoặc truy vấn dữ liệu.

Đa số các hệ quản trị cơ sở dữ liệu hiện nay sử dụng SQL (MS SQL Server T- SQL, Microsoft Access, Oracle PL/SQL, DB2, MySQL)

Truy vấn dữ liệu trong sql SQL có thể chia thành 4 nhóm

Nhóm truy vấn dữ liệu (DQL): gồm các lệnh truy vấn lựa chọn (Select) để lấy thông tin nhưng không làm thay đổi dữ liệu trong các bảng

Nhóm định nghĩa dữ liệu (DDL): Gồm các lệnh tạo, thay đổi các bảng dữ liệu (Create, Drop, Alter, )

Nhóm thao tác dữ liệu (DML): Gồm các lệnh làm thay đổi dữ liệu lưu trong các bảng (Insert, Delete, Update,)

Nhóm điều khiển dữ liệu (DCL): Gồm các lệnh quản lý quyền truy nhập vào dữ liệu và các bảng (Grant, Revoke, )

Ngôn ngữ truy vấn dữ liệu(DQL-Data Query Language)

Bao gồm các lệnh cho phép truy vấn dữ liệu mà không làm thay đổi dữ liệu hoặc các đối tượng trong CSDL. Đó là các truy vấn bắt đầu bằng từ khóa SELECT.Trả về một bộ các thuộc tính hoặc một tập hợp các bộ thuộc tính.

Truy vấn dữ liệu trong sql Cú pháp câu lệnh SELECT

SELECT [DISTINCT] Column(s) FROM TableName, Views [WHEREConditions] [GROUP BY Row(s)] [HAVING] [ORDER BY Column(s) [asc|desc]]

Lưu ý:

  • Các mệnh đề trong cặp dấu [] không bắt buộc
  • DISTINCT có thể là:Distinct: trả về các bản ghi không trùng lặp nhau hoặcTop: trả về n (hay %) bản ghi tìm thấy từ trên xuống
  • Mệnh đề WHERE cho phép truy vấn lựa chọn theo hàng
  • Mệnh đề GROUP BY cho phép nhóm dữ liệu theo hàng
  • Mệnh đề HAVING cho phép truy vấn lựa chọn theo nhóm
  • Mệnh đề ORDER BY cho phép sắp xếp dữ liệu theo cột

Truy vấn dữ liệu trong sql Truy vấn lựa chọn tất cả các hàng và cột

SELECT * FROM TableName

Truy vấn dữ liệu trong sql Truy vấn lựa chọn một số cột

SELECT Column1, Column2 FROM TableName

Ví dụ truy vấn lựa chọn tất cả các cột của bảng EMP

SELECT * FROM EMP
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Mệnh đề WHERE

SELECT [DISTINCT] Column(s) FROM TableName WHERE Conditions

Một số toán tử (Operator) sử dụng trong biểu thức Conditions:Toán tử so sánh, toán tử lôgíc vàso sánh xâu dùng toán tử LIKE

Các toán tử so sánh

=So sánh bằng
<> hoặc !=Khác
>Lớn hơn
<Nhỏ hơn
>=Lớn hơn hoặc bằng
<=Nhỏ hơn hoặc bằng
BETWEEN value1 AND value2So sánh nằm trong khoảng value1 và value2
LIKESo sánh chuỗi tương đối

Ví dụ hiển thị thông tin nhân viên có lương bằng800

SELECT EMPNO, ENAME, JOB, SAL, DEPTNO FROM EMP WHERE SAL = 800
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Toán tử LIKE

Cho phép so sánh một chuỗi với chuỗi khác (có chứa các ký tự đại diện) sử dụng toán tử LIKE.Các ký tự đại diện (Wildcard):

Ký tựMô tả
_Thay cho một ký tự đơn
%Thay cho một chuỗi
[]Thay cho một ký tự đơn trong khoảng được bao bởi cặp dấu ngoặc vuông
[^]Thay cho một ký tự đơn bất kỳ không nằm trong khoảng được bao bởi cặp dấu ngoặc vuông

Ví dụ sử dụng ký tự _

SELECT * FROM EMP WHERE ENAME LIKE 'A____'
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Ví dụ sử dụng ký tự %

SELECT * FROM EMP WHERE JOB LIKE '%LE%'
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Mệnh đề ORDER BY

Cho phép sắp xếp kết quả truy vấn theo cột và có thể sắp xếp kết quả theo chiều:Tăng dần (asc) hoặcgiảm dần (desc). Bên dưới làcú pháp

SELECT [DISTINCT] Column(s) FROM TableName [WHERE Conditions ] ORDER BY Column(s) [asc|desc]

Ví dụdùng toán tử BETWEENAND và mệnh đề ORDER BY

SELECT * FROM EMP WHERE SAL BETWEEN 3000 AND 8000 ORDER BY SAL DESC
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Toán tử lôgíc

Các toán tử lôgíc gồm AND, OR và NOT.AND và OR được sử dụng để kết nối các điều kiện tìm kiếm chỉ ra trong mệnh đề WHERE.NOT phủ định kết quả tìm kiếm.

Ví dụ sử dụng toán tử AND

SELECT * FROM EMP WHERE SAL >= 3000 AND JOB = 'ANALYST'
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Mệnh đề GROUP BY

Mệnh đề GROUP BY cho phép nhóm các hàng dữ liệu có giá trị giống nhau thành một nhóm.Các tính toán (thường sử dụng các hàm truy vấn nhóm) sẽ được tính trên mỗi nhóm.Một số hàm nhóm như:

Min(column)Tìm giá trị nhỏ nhất trong cột column
Max(column)Tìm giá trị lớn nhất trong cột column
Avg(column)Tìm giá trị trung bình của cột column
Count (*)Đếm số dòng

Ví dụ 1: Tìm mức lương lớnnhất, nhỏnhất, lương trung bình và tổng lươngtrong bảng EMP

SELECT MAX(SAL), MIN(SAL), AVG(SAL), SUM(SAL) FROM EMP
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Ví dụ 2: Hiển thị lương lớn nhất và nhỏ nhất trong mỗiphòng ban

SELECT DEPTNO, MAX(SAL), MIN(SAL) FROM EMP GROUP BY DEPTNO
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Mệnh đề HAVING

Mệnh đề HAVING được sử dụng làm điều kiện nhóm. Vì vậy muốn sử dụng HAVING, chúng ta phải kết hợp với GROUP BY.

Ví dụ: Hiển thị lương nhỏ nhất trong mỗiphòng ban với điều kiện lương nhỏ nhất từ 900 trở lên

SELECT DEPTNO, MAX(SAL), MIN(SAL) FROM EMP GROUP BY DEPTNO HAVING MIN(SAL) >= 900
Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Truy vấn dữ liệu trong sql Truy vấn dữ liệu từ nhiều bảng

Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Yêu cầu: Hãy hiển thị thông tin gồm mã sinh viên, tên sinh viên, tên lơp, mã môn họcđiểm thi của những sinh viên có điểm thi >= 5

Truy vấn dữ liệu trong sql Mệnh đề SELECT trên nhiều bảng

Khi truy vấn trên nhiều bảng, phải kết nối các bảng.Có hai kiểu kết nối:

  • Kết nối trong: mệnh đề WHERE chỉ ra các trường khóa của các bảng cần kết nối phải như nhau hoặc dùng từ khóa JOIN trong mệnh đề FROM
  • Kết nối ngoài: sử dụng từ khóa LEFT/RIGHT OUTER JOIN trong mệnh đề FROM

Ví dụ về kết nối trong sử dụng mệnh đề WHERE

Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Ví dụ về kết nối ngoài

Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

So sánh kết quả hai kiểu kết nối

Kết nối trong chỉ trả về kết quả khi tìm được DEPARTMENT_ID tương ứng của nhân viên trong bảng DEPARTMENT

Kết nối ngoài trả về kết quả ngay cả khi không tìm được DEPARTMENT_ID của nhân viên trong bảng DEPARTMENT

Truy vấn dữ liệu trong sql Bài tập mẫu

Thực hiện trên Oracle Database Express Edition,tải bản cài đặt

Xem video hướng dẫn cài đặt Oracle Express

Xem video hướng dẫn sử dụng Oracle Express

// Link sử dụng để thiết lập trong clip http://127.0.0.1:8080/apex

Yêu cầu thực hiện

Cho cơ sở dữ liệu QuanLyNhanSu như sau

Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Câu 1: Tạo cơ sở dữ liệu trên

Câu 2: Truy vấn dữ liệu trong sql

  1. Hiển thị tất cả thông tin của bảng NHANVIEN
  1. Hiển thị thông tin của những nhân viên ở phòng số 5
  1. Hiển thị mã nhân viên, họ nhân viên, tên lót và tên nhân viên của những nhân viên ở phòng số 5 và có lương >= 3000
  1. Hiển thị mã nhân viên, tên nhân viên của những nhân viên có lương từ 2000 đến 8000
  1. Hiển thị thông tin của những nhân viên ở địa chỉ có tên đường là Nguyễn
  1. Cho biết số lượng nhân viên
  1. Cho biết số lượng nhân viên trong từng phòng ban
  1. Hiển thị thông tin vềmã nhân viên, tên nhân viên và tên phòng ban ở phòng kế toán

Truy vấn dữ liệu trong sql Tổng kết bài học

Ngôn ngữ truy vấn SQL bao gồm các lệnh có cấu trúc cho phép Tạo CSDL và Thêm, Sửa, hoặc Xóa dữ liệu.

Có 4 nhóm lệnh SQL chính, trong đó nhóm lệnh truy vấn dữ liệu (Select) cho phép trích ra phần dữ liệu cần lấy mà không làm thay đổi dữ liệu.

Truy vấn Make Table Query là gì mở ta các bước thực hiện truy vấn đó

Xem chi tiết

Truy vấn dữ liệu trong sql Bài tập thực hành

Truy vấn cơ sở dữ liệu quản lý tài khoản ngân hàng đã thiết kế ở bài thực hành số 2

Câu 1: Tạo các truy vấn dữ liệu trong sql sử dụng trên một bảng

1.1. Tạo truy vấn hiển thị thông tin tất cả các tài khoản có kiểu là Checking

1.2. Tạo truy vấn hiển thị các thông tin gồm (MaKH, SoTK, KieuTK, NgayMoTK) của các tàikhoản có kiểu Tài khoản cá nhân trong nước và sắp xếp kết quả hiển thị sao cho
ngày mở gần nhất sẽ được hiển thị trước (tức là ngày mở được sắp xếp giảm dần)

1.3. Tạo truy vấn hiển thị Tên, địa chỉ, thành phố các khách hàng sống tại thành phố Hà
Nội. Sắp xếp kết quả theo thứ tự Alphabet của tên khách hàng

1.4. Tạo truy vấn hiển thị thông tin các khách hàng đã mở tài khoản trước ngày
01/07/2011.

Câu 2:Tạo các truy vấn dữ liệu trong sql sử dụng trên nhiều bảng

2.1. Thực hiện truy vấn hiển thị thông tin khách hàng, kiểu tài khoản, ngày mở.

2.2. Thực hiện truy vấn hiển thị tất cả các thông tin như truy vấn trên và thỏa mãn điều
kiện ngày mở sau ngày 01/07/2011.

2.3. Thực hiện truy vấn hiển thị tất cả các thông tin như truy vấn trên và thỏa mãn điều
kiện ngày mở sau ngày 01/07/2011 và kiểu tài khoản là Tài khoản tổ chức trong
nước. Thông tin hiển thị được sắp xếp theo thứ tự Alphabet của tên khách hàng.

2.4.Thực hiện truy vấn hiển thị các thông tin: SoTK,KieuTK,SoTienGD,
MoTaGD,ThoiGianGD,SoDuTaiKhoan cuả tài khoản 000000003 và giao dịch
ngày 20/07/2007.

2.5. Liệt kê các thông tin về tất cả các lần giao dịch gồm: HoTenKH, DiaChi, SoTK, KieuTK,ThoiGianGD, SoTienGD, MoTaGD, SoDuTaiKhoan của khách hàng có số tài khoản là:500000


Đăng ký nhận TÀI LIỆU, KHÓA HỌC hoặc TƯ VẤN từ ADMIN

Họ và tên (Bắt buộc nhập)

Email (Bắt buộc nhập)

Số điện thoại (Bắt buộc nhập)

Bạn cần hỗ trợ về (Bắt buộc chọn)

  • TAGS
  • join
  • select
  • truy vấn dữ liệu
Facebook
Twitter
Bài trướcCài đặt cơ sở dữ liệu (Bài 4)
Bài tiếp theoCơ sở dữ liệu trong mysql (Bài 6)

BÀI VIẾT LIÊN QUANXEM THÊM

Leticia 07/12/2020 at 2:55 chiều

Its an amazing paragraph designed for all the web visitors; they will get advantage from it I am sure.

đăng nhập để lại một bình luận
  • https://www.youtube.com/watch?v=IygqvqHWvzY 07/12/2020 at 5:19 chiều

    Hello its me, I am also visiting this web site daily, this
    web site is in fact nice and the people are truly sharing fastidious thoughts.

    đăng nhập để lại một bình luận
  • https://www.youtube.com/watch?v=Z-v-hMaW5yk 07/12/2020 at 6:01 chiều

    I would like to thank you for the efforts you have put in writing this website.
    I really hope to view the same high-grade blog posts from you in the future as well.
    In fact, your creative writing abilities has motivated me
    to get my own website now

    đăng nhập để lại một bình luận
  • roomenergy97.over-blog.com 07/12/2020 at 6:04 chiều

    Its like you read my mind! You seem to know so much about this,
    like you wrote the book in it or something. I think that you can do with a few pics to drive
    the message home a little bit, but other than that, this is
    excellent blog. A great read. I will certainly be back.

    đăng nhập để lại một bình luận
  • wiki.proezdom.com 07/12/2020 at 9:09 chiều

    Hi there to every , because I am truly keen of reading this
    webpages post to be updated regularly. It contains pleasant stuff.

    đăng nhập để lại một bình luận
  • www.hologram.it 07/12/2020 at 9:40 chiều

    Hi, Neat post. Theres an issue together with your website in web
    explorer, might test this? IE nonetheless is the marketplace chief and
    a big component to other folks will leave out your magnificent writing due
    to this problem.

    đăng nhập để lại một bình luận
  • Mauricio 07/12/2020 at 9:51 chiều

    Hey! This post could not be written any better!
    Reading this post reminds me of my good old room mate!
    He always kept chatting about this. I will forward this article to him.

    Fairly certain he will have a good read. Thank you for sharing!

    đăng nhập để lại một bình luận
  • intensedebate.com 08/12/2020 at 2:40 sáng

    Attractive portion of content. I simply stumbled upon your web site and in accession capital to assert
    that I acquire in fact enjoyed account your blog posts.
    Anyway Ill be subscribing in your feeds or even I fulfillment you get entry to persistently fast.

    đăng nhập để lại một bình luận
  • unsplash.com 08/12/2020 at 11:01 sáng

    Hey! This is kind of off topic but I need some help from
    an established blog. Is it tough to set up your own blog?

    Im not very techincal but I can figure things out pretty fast.
    Im thinking about creating my own but Im not sure where to start.
    Do you have any tips or suggestions? With thanks

    đăng nhập để lại một bình luận
  • https://www.youtube.com/watch?v=YmNkerL6Uis 08/12/2020 at 5:37 chiều

    Very shortly this web site will be famous amid
    all blog visitors, due to its good articles or reviews

    đăng nhập để lại một bình luận
  • sqworl.com 08/12/2020 at 8:51 chiều

    Hi, Neat post. Theres a problem with your web site in web
    explorer, may check this? IE nonetheless is the marketplace leader and a
    huge element of other folks will pass over your excellent writing
    due to this problem.

    đăng nhập để lại một bình luận
  • sỉ thắt lưng nam 09/12/2020 at 5:09 sáng

    I would like to thank you for the efforts you have put
    in penning this website. I am hoping to check out the same high-grade content
    by you later on as well. In truth, your creative writing abilities has motivated
    me to get my very own site now

    đăng nhập để lại một bình luận
  • https://www.youtube.com/watch?v=uLv9gSuwmSI 09/12/2020 at 2:42 chiều

    I know this site offers quality based posts and other stuff, is there any other site which
    presents these kinds of things in quality?

    đăng nhập để lại một bình luận
  • Baypipe01.Webs.com 09/12/2020 at 7:38 chiều

    I think what you wrote made a ton of sense. However, think
    about this, what if you wrote a catchier title?
    I mean, I dont wish to tell you how to run your blog, but what if
    you added a headline that grabbed folks attention? I mean Truy vấn dữ
    liệu trong sql (Bài 5) | Gia Sư Tin Học is
    kinda vanilla. You might look at Yahoos front
    page and watch how they create article headlines to get people to click.

    You might add a video or a pic or two to get readers interested about what youve written.
    Just my opinion, it could bring your blog a little livelier.

    đăng nhập để lại một bình luận
  • BÌNH LUẬN Hủy trả lời

    đăng nhập để lại một bình luận

    Bài viết nên xem

    Lập trình C#

    Lớp và phương thức trong C# (Bài 5)

    Spring Framework

    Hướng dẫn sử dụng JWT với Spring Boot


    Đăng ký nhận TÀI LIỆU, KHÓA HỌC hoặc TƯ VẤN từ ADMIN

    Họ và tên (Bắt buộc nhập)

    Email (Bắt buộc nhập)

    Số điện thoại (Bắt buộc nhập)

    Bạn cần hỗ trợ về (Bắt buộc chọn)