Phân Tích Các Hàm Cơ Bản Trong Oracle - TaiLieu.VN
Có thể bạn quan tâm
Mạng xã hội chia sẻ tài liệu Upload Đăng nhập Nâng cấp VIP Trang chủ » Công Nghệ Thông Tin » Mạng máy tính và truyền thông5 trang 747 lượt xem 890Phân tích các hàm cơ bản trong OraclePhân tích các hàm cơ bản trong Oracle và những ví dụ đơn giản giải thích, giới thiệu về hàm trong Oracle - Các hàm tập hợp tự động: Rollup, cube - Hàm xếp hạng: rank...
Chủ đề:
nsikeaPhân tích và thiết kế phần mềm
SaveLikeShareReport Download AI tóm tắt /5
NI DUNG CA BUI HCỘỦỔỌPhân tích các hàm c bn trong Oracle và nhng ví d đn gin gii thích, gii thiuơảữụơảảớệv hàm trong Oracleề-Các hàm tp hp t đng: ậợựộRollup, cube-Hàm xp hng:ếạ rank, dense_rank, row_number-Hàm Lag, lead -Hàm First, last-Vn hành Oracle thc hin bng cách th 1: Vit câu truy vn SQL cht lngậựệằứếấấượcao-Vn hành Oracle thc hin bng cách th 2: S dng Index thit lp chng trìnhậựệằứửụếậươcó hiu qu caoệảI/ Phân tích các hàm tp hp t đng: Rollup và cubeậợựộ S dng ví d di đây đ tính tng các nguyên liu bng phát biu SQL thôngửụụướểổệằểthng hin th cho mi vùng(Area) ngay lp tc: ườểịỗậứselect area_code, sum(local_fare) local_fare from tgroup by area_codeunion allselect ‘TOTAL' area_code, sum(local_fare) local_fare from t;1/ Cũng vi kt qu đó nhng s dng vi câu lnh rollup:ớếảưửụớệselect nvl(area_Code, ' total ' ) area_code, sum(local_fare) local_fare from t group by rollup(nvl(area_Code, ' total ')); S dng hàm Rollup, phát biu Sql đn gin hn, có h thng hn, tài nguyên tiêuửụểơảơệốơth là rt thp so vi s dng câu truy vn thông thng.ụấấớửụấườ 2/ S dng ví d tính tng vt liu vi hàm cube:ửụụổậệớ select area_code, bill_month, sum(local_fare) local_fare from t group by cube(area_code,bill_month) order by area_code, bill_month nulls last;
S dng hàm s grouping phân bit các trng tp hp. ửụốệườậợnu nh tng hin tiếưổệạlà căn c vào ct đó đ tính toán thì grouping s tr v 1 ngc li là 0ứộểẽảềượạselect decode(grouping(area_code),1,'all area', to_char(area_code)) area_code, decode(grouping(bil _month),1,'all month', bill_month) bill_month, sum(local_fare) local_fare from t group by cube(area_code,bill_month) order by area_code,bill_month nulls last; II/ Phân tích hàm: Rank, dense_rank,row_Number function 1/ Hàm Rankselect area_code, sum(local_fare) local_fare, rank() over (order by sum(local_fare) desc) fare_rank from t group by area_code;Hàm s xp hng cho ct:ẽếạộ local_fare giá tr xp hng đc đa vào ctịếạượưộfare_rank Giá tr ln nht s có hng bé nht, d liu trùng thì đng hng, hng típ theo là vịớấẽạấữệồạạếịtrí ca nó trong bng xp hng(Không ly v trí k tip ca hng trùng trc nó). ủảếạấịếếủạướArea_codeLocal_fareFare_rankA11001A21001A310132/ Hàm dense_rankselect area_code, sum(local_fare) local_fare, dense_rank() over (order by sum(local_fare) desc ) fare_rankfrom t group by area_code;Hàm s xp hng cho ct:ẽếạộ local_fare giá tr xp hng đc đa vào ct ịếạượưộfare_rank Giá tr ln nht s có hng bé nht, d liu trùng thì đng hng, hng típ theo làịớấẽạấữệồạạếhng k tip ca hng trùng trc đóạếếủạướArea_codeLocal_fareFare_rankA11001A21001A310123/ Hàm row_numberselect area_code, sum(local_fare) local_fare, row_number() over (order by sum(local_fare) desc ) fare_rankfrom t group by area_code;Hàm s xp hng cho ct:ẽếạộ local_fare giá tr xp hng đc đa vào ct ịếạượưộfare_rank
Giá tr ln nht s có hng bé nht, d liu trùng không đng hng, hng = ch s caịớấẽạấữệồạạỉốủhàng d liuữệArea_codeLocal_fareFare_rankA11001A21002A31013II/ Phân tích hàm: lag, lead Hàm Lag và Lead phán đoán n tháng trc, sau nó hin th trong câu truy vn.ướểịấselect area_code,bill_month, local_fare cur_local_fare,lag(local_fare,2,0) over (partition by area_code order by bill_month) pre_local_fare,lag(local_fare,1,0) over (partition by area_code order by bill_month ) last_local_fare,lead(local_fare,1,0) over (partition by area_code order by bill_month ) next_local_fare,lead(local_fare,2,0) over (partition by area_code order by bill_month ) post_local_fare from ( select area_code, bill_month,sum(local_fare) local_fare from t group by area_code,bill_month );lag(local_fare,2,0): Trc đó 2 thángướlag(local_fare,1,0): Trc đó 1 thángướlead(local_fare,1,0): Sau đó 1 thánglead(local_fare,2,0): Sau đó 2 thángIII/ Phân tích hàm s: Sum, Avg, Min, Maxốselect area_code,bill_month, local_fare, sum(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_sum", avg(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_avg", max(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_max", min(local_fare) over ( partition by area_code order by to_number(bill_month)
range between 1 preceding and 1 following ) "3month_min" from ( select area_code, bill_month, sum(local_fare) local_fare from t group by area_code, bill_month ); Ví d phía trên, tìm ra giá tr ln nht, nh nht, trung bình ca 3 tháng tính t thángụịớấỏấủừhin ti.ệạIV/ Phân tích hàm first, last Ly ra giá tr đu và giá tr cuiấịầịốselect bill_month, area_code, sum(local_fare) local_fare, first_value(area_code) over (order by sum(local_fare) desc rows unbounded preceding) firstval, first_value(area_code) over (order by sum(local_fare) asc rows unbounded preceding) lastval from tgroup by bill_month, area_code order by bill_month;V/ Vn hành Oracle thc hin bng cách th 1: Vit câu truy vn SQL chtậựệằứếấấlng caoượ- S hiu qu ln ca câu truy vn SQL da vào trình t vit câu SQL. Oracleựệảớủấựựếs phân tích câu truy vn theo mt quy tc tên. ẽấộắ- Mnh đ FROM s đc hiu theo v trí t phi qua tráiệềẽượểịừả- V trí kt ni trong mnh đ WHERE: Oracle chn ra v trí t di lên trênịếốệềọịừướphân tích mnh đ WHERE. Điu kin đ lc ra d liu phi đc vit cui mnhệếềệểọữệảượếốệđ WHEREề- Tránh s dng trong mnh đ SELECT du ‘*’: Oracle s bt đu vào bênửụệềấẽắầtrong tìm tên tt c các hàng trong sut quá trình tìm kim, phân tích d liu. Quá trìnhấảốếữệnày s làm tn rt nhiu thi gian.ẽốấềờ- C gng đánh giá hn ch các giá tr NULL trong mnh đ WHERE, Nuốắạếịệềếkhông Index s ngng s dng, và không th Scan. Khi đánh giá mt trng d liu làẽưửụểộườữệ0 bng câu truy vn: select id from t where num is null . Khi đó ta đ mc đnh ằấểặịselect id from t where num =0- X lý câu truy vn SQL: Oracle luôn phân tích phát biu SQL chuyn toàn bửấểểộthành ký t hoa đa vào x lý ựưử- C gng tránh dùng các toán t ‘/’ trong mnh đ WHERE, vì nó là lý do màốắửệềIndex không s dng đc và Scan toàn b table làm chung trình chy chm.ửụượộơạậThay vì select id from t where num/2=100 chuyn thành ể select id from t where num=100*2.
- Không ghi các phép toán s hc, công thc bên trái ca toán t ‘=’ nu khôngốọứủửếh thng không th s dng đc Index.ệốểửụượVI/ Vn hành Oracle thc hin bng cách th 2: S dng Index thit lpậựệằứửụếậchng trình có hiu qu caoươệả-Thay th IN vi EXISTS, thay th NOT IN vi NOT EXISTSếớếớ-Phát biu di đây có hiu qu caoểướệảSELECT * FROM EMP (base table) WHERE EMPNO > 0 AND EXISTS (SELECT ‘X’ FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO AND LOC = ‘MELB’)-Thay th OR vi UNION(S dng Index đc sp xp)ếớửụượắếSELECT * FROM EMP (base table) WHERE EMPNO > 0 AND DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE LOC = ‘MELB’)-Tránh s dng các phép toán làm tn tài nguyên và thi gian: DISTINCT , ORDERửụốờBY -Tránh thay đi kiu sp xp ca Index: ổểắếủoGi s EMPNO là kiu sp xp Index là kiu NumberảửểắếểoKhi ta s dng câu truy vn: ửụấSELECT … FROM EMP WHERE EMPNO = ‘123' oTi thi đim runtime s tr v cú pháp:ạờểẽảềSELECT … FROM EMP WHERE to_number(EMPNO) = 123--Không phi tt c các Index đu mang li kt qu nh mong mun. SQL đánh giáảấảềạếảưốthông tin theo cách đn d liu trong mt hình thc, khi s lung quy mô ca dếữệộứốợủữliu đc lp li trong hình thc đó. SQL không đ mnh đ ly thông tin. Nuệượặạứủạểấếcó các phn: Sex, male, female gn tách bit mt na, vic xây dng Index lyầầệộửệựấthông tin đó hiu qu là không th làm vic vi Sex.ệảểệớ-Tránh s dng IS NULL trên Index, IS NOT NULL ửụ-Example: SELECT ¡ FROM A WHERE code IS NOT NULL; Hiu qu cao: ệảSELECT ¡ FROM A WHERE CODE > =0; -Oracle s dng Index và lý do hin nhiên dn đn s kém hiu qu ca s dngửụểẫếựệảủửụsai nó . Chúng ta cn s dng tt c các k năng hp lý tránh xa Index, không lênầửụấảỹợs dng.ửụ-Kim tra: Ta có các phn: a, b, c, d, trong a, b cái đt tr thành Index trên ểầặởc_a(a,b,c) . Cài đt Index inx_a, b_b(b). Trong trng hp c bn, where a = ? and b=? and cặườợơả= ? chúng ta s s dng Index inx_a where b =? S s dng Index inx_b , tuy nhiênẽửụẽửụwhere a =? and b =? and c =? Cái index broup by b đ s dng hay không?ểửụ-Oracle s m s dng inx_b, xuyên sut qúa trình phân tích và x lý s dngẽởửụốửửụIndex s phá hu và mt thi gian rt nhiu.ẽỷấờấề Tài liệu liên quan
Bài giảng Công nghệ phần mềm: Bài 5 - Mô hình CMMI
32 trangBài giảng Công nghệ phần mềm: Bài 4 - Đảm bảo chất lượng phần mềm
46 trangBài giảng Công nghệ phần mềm: Bài 3 - Thiết kế phần mềm
79 trangBài giảng Công nghệ phần mềm: Bài 2 - Đặc tả yêu cầu phần mềm
64 trangBài giảng Công nghệ phần mềm: Bài 1 - Tổng quan về phần mềm và công nghệ phần mềm
106 trangThiết kế xây dựng phần mềm phiên dịch ngôn ngữ ký hiệu tiếng Việt
9 trangBài giảng Công nghệ phần mềm chuyên sâu: Chương 4 - GV. THS. Trần Anh Dũng
21 trangBài giảng Công nghệ phần mềm chuyên sâu: Chương 3 - GV. THS. Trần Anh Dũng
22 trangBài giảng Công nghệ phần mềm chuyên sâu: Chương 2 - GV. THS. Trần Anh Dũng
24 trangBài giảng Công nghệ phần mềm chuyên sâu: Chương 1 - GV. THS. Trần Anh Dũng
41 trangTài liêu mới
Bài giảng IoT và Ứng dụng - GV. Đỗ Việt Hà
51 trangBài giảng Quản trị mạng Linux Server: Quản trị người dùng
38 trangBài giảng Quản trị mạng Linux Server: Cấu hình DHCP Server
23 trangBài giảng Quản trị mạng Linux Server: Lập trình Shell
35 trangBài giảng Quản trị mạng Linux Server: Cấu hình mạng (Network Configuration)
20 trangBài giảng Quản trị mạng Linux Server: Quản trị từ xa
28 trangBài giảng Quản trị mạng Linux Server: Quản lý gói (pakage) ứng dụng
13 trangBài giảng Quản trị mạng Linux Server: Hệ thống file & Thiết bị
40 trangBài giảng Quản trị mạng Linux Server: Cấu hình DHCP Server
23 trangBài tập lớn: Triển khai hệ thống mạng nội bộ doanh nghiệp với Windows Server
W 3 trangĐề thi cuối kì môn Nhập môn Mạng máy tính
8 trangBài tập nhóm: Mạng đám mây - Giải pháp an toàn và bảo mật của ALIBABA (CloudNetworking/ Virtual Network/ Virtual Private Cloud...)
W 47 trangBài tập nhóm: Mạng đám mây - Giải pháp an toàn và bảo mật của AZURE (CloudNetworking/ Virtual Network/ Virtual Private Cloud...) azure
W 49 trangĐề thi kết thúc môn học Mạng máy tính
10 trangĐề thi học kì 2 môn Nhập môn Mạng máy tính
5 trangAI tóm tắt
- Giúp bạn nắm bắt nội dung tài liệu nhanh chóng!Giới thiệu tài liệu
Đối tượng sử dụng
Từ khoá chính
Nội dung tóm tắt
Giới thiệu
Về chúng tôi
Việc làm
Quảng cáo
Liên hệ
Chính sách
Thoả thuận sử dụng
Chính sách bảo mật
Chính sách hoàn tiền
DMCA
Hỗ trợ
Hướng dẫn sử dụng
Đăng ký tài khoản VIP
Zalo/Tel:093 303 0098
Email:[email protected]
Phương thức thanh toán
Theo dõi chúng tôi
Youtube
TikTok
Chịu trách nhiệm nội dung: Nguyễn Công Hà Doanh nghiệp quản lý: Công ty TNHH Tài Liệu trực tuyến Vi Na - GCN ĐKDN: 0307893603 Địa chỉ: 54A Nơ Trang Long, P. Bình Thạnh, TP.HCM - Điện thoại: 0283 5102 888 - Email: [email protected]ấy phép Mạng Xã Hội số: 670/GP-BTTTT cấp ngày 30/11/2015 Từ khóa » Câu Lệnh Group By Trong Oracle
-
Gộp Kết Quả Với Lệnh Group By Trong Oracle
-
Lọc Kết Quả ở Group By Với Lệnh Having Trong Oracle
-
Mệnh đề GROUP BY Trong SQL - Học Sql Cơ Bản đến Nâng Cao
-
SQL GROUP BY - TRẦN VĂN BÌNH MASTER
-
2-5 GROUP BY Và PARTITION BY - Viblo
-
GROUP BY - Mệnh đề - SQL & Database
-
Mệnh đề GROUP BY Trong SQL Server
-
Tìm Các Câu Lệnh SQL Chạy Lâu, Chiếm IO, Chiếm Tài Nguyên Trong ...
-
Mệnh đề WITH Trong ORACLE
-
Điều Khoản HAVING Không Có GROUP BY Trong Cơ Sở Dữ Liệu ...
-
45 Rất Hữu Ích Oracle Tóm Tắt Câu Lệnh Truy Vấn - MofunIT
-
Kiểm Tra Kích Thước Của 1 Bảng Trong Oracle - Blog Kiến Thức Database
-
Hướng Dẫn Học SQL Cho Người Mới Bắt đầu Với Oracle
-
Hướng Dẫn Về Hàm AVG Của Oracle