More SQL in MySQL 8.0
|
|
- Tamsin Benson
- 5 years ago
- Views:
Transcription
1
2 More SQL in MySQL 8.0 Norvald H. Ryeng Sofware Development Senior Manager MySQL Optmizer Team November, 08
3 Program Agenda 3 4 Common table expressions (CTEs) Window functons JSON_TABLE Demo
4 Theory 4
5 Common Table Expressions (CTEs) Alternatve to derived tables or views SELECT FROM (subquery) AS derived, t CREATE VIEW derived AS (subquery); SELECT FROM derived, t WITH derived AS (subquery) SELECT FROM derived, t Can refer to other CTEs WITH cte AS (subquery), cte AS (SELECT FROM cte ) SELECT FROM cte Can refer to itself, creatng a recursive CTE 5
6 Recursive CTEs WITH RECURSIVE cte AS (SELECT FROM table_name UNION [DISTINCT ALL] SELECT FROM cte, table_name) SELECT FROM cte; /* "seed" SELECT */ /* "recursive" SELECT */ A recursive CTE refers to itself in a subquery The seed SELECT is executed once to create the inital data subset The recursive SELECT is executed repeatedly Stops when iteraton doesn t generate any new rows Set cte_max_recursion_depth to limit recursion (default 000) Useful to traverse hierarchies (parent/child, part/subpart) 6
7 Recursive CTE Example CREATE TABLE employee (number INTEGER PRIMARY KEY, name VARCHAR(00), manager INTEGER REFERENCES employee (number)); INSERT INTO employee VALUES (, 'Alice', NULL), (, 'Bob', ), (3, 'Bety', ), (4, 'Charlie', ), (5, 'Cherise', ), (6, 'Chandler', ), (7, 'Chris', 3), (8, 'Camilla', 3), (9, 'Dave', 8), (0, 'Denise', 8); WITH RECURSIVE emps AS ( SELECT *, name AS reportng_chain FROM employee WHERE manager IS NULL UNION ALL SELECT e.number, e.name, e.manager, CONCAT(e.name, ', ', m.reportng_chain) FROM employee AS e JOIN emps AS m ON e.manager = m.number ) SELECT * FROM emps; number name manager Alice NULL Bob Bob, Alice 3 Bety Bety, Alice 4 Charlie Charlie, Bob, Alice 5 Cherise Cherise, Bob, Alice 6 Chandler Chandler, Bob, Alice 7 Chris 3 Chris, Bety, Alice 8 Camilla 3 Camilla, Bety, Alice 9 Dave 8 Dave, Camilla, Bety, Alice 0 Denise 8 Denise, Camilla, Bety, Alice reportng_chain Alice 7
8 Recursive CTE Example CREATE TABLE employee (number INTEGER PRIMARY KEY, name VARCHAR(00), manager INTEGER REFERENCES employee (number)); INSERT INTO employee VALUES (, 'Alice', NULL), (, 'Bob', ), (3, 'Bety', ), (4, 'Charlie', ), (5, 'Cherise', ), (6, 'Chandler', ), (7, 'Chris', 3), (8, 'Camilla', 3), (9, 'Dave', 8), (0, 'Denise', 8); WITH RECURSIVE emps AS ( SELECT *, name AS reportng_chain FROM employee WHERE manager IS NULL UNION ALL SELECT e.number, e.name, e.manager, CONCAT(e.name, ', ', m.reportng_chain) FROM employee AS e JOIN emps AS m ON e.manager = m.number ) SELECT * FROM emps; number name manager Alice NULL Bob Bob, Alice 3 Bety Bety, Alice 4 Charlie Charlie, Bob, Alice 5 Cherise Cherise, Bob, Alice 6 Chandler Chandler, Bob, Alice 7 Chris 3 Chris, Bety, Alice 8 Camilla 3 Camilla, Bety, Alice 9 Dave 8 Dave, Camilla, Bety, Alice 0 Denise 8 Denise, Camilla, Bety, Alice reportng_chain Alice 8
9 Window Functons Similar to aggregaton functons Computes one value based on multple rows But does not group Aggregaton functon Window functon 9
10 Window Functon Example Sum up total salary per department SELECT name, dept_id, salary, SUM(salary) OVER (PARTITION BY dept_id) AS dept_total FROM employee ORDER BY dept_id, name; The OVER keyword signals a window functon PARTITION disjoint set of rows in result set name Newt Dag Ed Fred Jon Michael Newt Lebedev Pete Jef Will dept_id NULL salary NULL dept_total
11 Window Functon Example Sum up total salary per department SELECT name, dept_id, salary, SUM(salary) OVER (PARTITION BY dept_id) AS dept_total FROM employee ORDER BY dept_id, name; The OVER keyword signals a window functon PARTITION disjoint set of rows in result set name Newt Dag Ed Fred Jon Michael Newt Lebedev Pete Jef Will dept_id NULL salary NULL dept_total
12 JSON_TABLE INSERT INTO t (json_col) VALUES ( '{ "people": [ { "name":"john Smith", "address":"780 Mission St, San Francisco, CA 9403"}, { "name":"sally Brown", "address":"75 37th Ave S, St Cloud, MN 9403"}, { "name":"john Johnson", "address":"6 Roosevelt Trail, Raymond, ME 0407"} ] }' ); SELECT people.* FROM t, JSON_TABLE(json_col, '$.people[*]' COLUMNS ( name VARCHAR(40) PATH '$.name', address VARCHAR(00) PATH '$.address')) AS people; name John Smith Sally Brown John Johnson address 780 Mission St, San Francisco, CA th Ave S, St Cloud, MN Roosevelt Trail, Raymond, ME 0407
13 JSON_TABLE Nested Arrays [ { "father":"john", "mother":"mary", "marriage_date":" ", "children": [ { "name":"eric", "age":0 }, { "name":"beth", "age": } ] }, { "father":"paul", "mother":"laura", "children": [ { "name":"sarah", "age":9}, { "name":"noah", "age":3}, { "name":"peter", "age":0} ] } id father married child_id child age John Eric 0 John Beth Paul 0 Sarah 9 Paul 0 Noah 3 Paul 0 3 Peter 0 ] 3
14 JSON_TABLE Nested Arrays JSON_TABLE (families, '$[*]' COLUMNS ( id FOR ORDINALITY, father VARCHAR(30) PATH '$.father', married INTEGER EXISTS PATH '$.marriage_date', NESTED PATH '$.children[*]' COLUMNS ( child_id FOR ORDINALITY, child VARCHAR(30) PATH '$.name', age INTEGER PATH '$.age' ) )) id father married child_id child age John Eric 0 John Beth Paul 0 Sarah 9 Paul 0 Noah 3 Paul 0 3 Peter 0 4
15 Playtme 5
16 Demo Warning! The following queries are intended to demonstrate the power of the features This is not necessarily the best way of doing things This is not necessarily the easiest way of doing things This is not necessarily smart but it's fun! :-) 6
17 JSON_TABLE 7
18 Birth Order # First child in a family =, second child =, etc. SELECT fam.*, RANK() OVER w AS nth_child FROM families, JSON_TABLE (families, '$[*]' COLUMNS ( id FOR ORDINALITY, father VARCHAR(30) PATH '$.father', mother VARCHAR(30) PATH '$.mother', married INTEGER EXISTS PATH '$.marriage_date', marriage_date DATE PATH '$.marriage_date', NESTED PATH '$.children[*]' COLUMNS ( child_id FOR ORDINALITY, child VARCHAR(30) PATH '$.name', age INTEGER PATH '$.age' ) ) ) AS fam WINDOW w AS (PARTITION BY id ORDER BY age DESC) ORDER BY id, child_id; 8
19 Families as Table # Use JSON_TABLE to convert JSON document to a table representng the same info CREATE TABLE families_tab SELECT fam.* FROM families, JSON_TABLE (families, '$[*]' COLUMNS ( id FOR ORDINALITY, father VARCHAR(30) PATH '$.father', mother VARCHAR(30) PATH '$.mother', marriage_date DATE PATH '$.marriage_date', NESTED PATH '$.children[*]' COLUMNS ( child_id FOR ORDINALITY, child VARCHAR(30) PATH '$.name', age INTEGER PATH '$.age' ) ) ) AS fam; 9
20 Families from Table to JSON # Use JSON_ARRAYAGG to produce JSON SELECT JSON_PRETTY( JSON_OBJECT( 'father',any_value(father), 'mother',any_value(mother), 'marriage_date',any_value(marriage_date), 'children',json_arrayagg(json_object('name',child,'age',age)) ) ) FROM families_tab GROUP BY id; # Getng rid of "marriage_date" : null is lef as an exercise to the reader 0
21 GPS Tracking
22 Timeline CREATE TABLE tmeline ( ts TIMESTAMP, pos POINT SRID 436 ); INSERT INTO tmeline VALUES (' :30:00', ST_SRID(POINT( , ), 436)), (' :30:05', ST_SRID(POINT( , ), 436)), (' :30:0', ST_SRID(POINT( , ), 436)), (' :30:5', ST_SRID(POINT( , ), 436)), (' :30:0', ST_SRID(POINT( , ), 436)), (' :30:5', ST_SRID(POINT( , ), 436)), (' :30:30', ST_SRID(POINT( , ), 436)), (' :30:35', ST_SRID(POINT( , ), 436)), (' :30:40', ST_SRID(POINT( , ), 436)), (' :30:45', ST_SRID(POINT( , ), 436)), (' :30:50', ST_SRID(POINT( , ), 436)), (' :30:55', ST_SRID(POINT( , ), 436)) ; INSERT INTO tmeline VALUES (' :47:00', ST_SRID(POINT( , ), 436)), (' :47:05', ST_SRID(POINT( , ), 436)), (' :47:0', ST_SRID(POINT( , ), 436)), (' :47:5', ST_SRID(POINT( , ), 436)), (' :47:0', ST_SRID(POINT( , ), 436)), (' :47:5', ST_SRID(POINT( , ), 436)), (' :47:30', ST_SRID(POINT( , ), 436)), (' :47:35', ST_SRID(POINT( , ), 436)), (' :47:40', ST_SRID(POINT( , ), 436)), (' :47:45', ST_SRID(POINT( , ), 436)), (' :47:50', ST_SRID(POINT( , ), 436)) ; INSERT INTO tmeline VALUES (' :4:00', ST_SRID(POINT( , ), 436)), (' :4:05', ST_SRID(POINT( , ), 436)), (' :4:0', ST_SRID(POINT( , ), 436)), (' :4:5', ST_SRID(POINT( , ), 436)), (' :4:0', ST_SRID(POINT( , ), 436)), (' :4:5', ST_SRID(POINT( , ), 436)), (' :4:30', ST_SRID(POINT( , ), 436)), (' :4:35', ST_SRID(POINT( , ), 436)), (' :4:40', ST_SRID(POINT( , ), 436)) ;
23 Window Functon to Add Rank # Order by tmestamp. First point =, second point =, etc. CREATE VIEW ranked_tmeline AS SELECT *, RANK() OVER w AS num, TIME_TO_SEC(TIMEDIFF(ts, LAG(ts) OVER w)) AS dif FROM tmeline WINDOW w AS ( PARTITION BY DATE(ts) ORDER BY ts ) ; 3
24 Generate GeoJSON Path # 5 minutes (300 seconds) or more between points -> new trip. WITH RECURSIVE cte AS ( SELECT num AS trip, ts AS start, ts AS stop, num, JSON_ARRAY(JSON_ARRAY(ST_Longitude(pos), ST_Lattude(pos))) AS path FROM ranked_tmeline WHERE dif IS NULL OR dif >= 300 UNION ALL SELECT cte.trip, cte.start, ranked_tmeline.ts, ranked_tmeline.num, JSON_ARRAY_APPEND(cte.path, '$', JSON_ARRAY(ST_Longitude(ranked_tmeline.pos), ST_Lattude(ranked_tmeline.pos))) FROM ranked_tmeline, cte WHERE ranked_tmeline.num - = cte.num AND ranked_tmeline.dif < 300 ) SELECT DISTINCT trip, start, FIRST_VALUE(stop) OVER w AS stop, JSON_OBJECT('type', 'LineString', 'coordinates', FIRST_VALUE(path) OVER w) AS path_json FROM cte WINDOW w AS (PARTITION BY trip ORDER BY num DESC); 4
25 Trips Ploted from GeoJSON 5
26 Feature descriptons and design details directly from the source. htp://mysqlserverteam.com/ 6
27 7
28 Safe Harbor Statement The preceding is intended to outline our general product directon. It is intended for informaton purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functonality, and should not be relied upon in making purchasing decisions. The development, release, and tming of any features or functonality described for Oracle s products remains at the sole discreton of Oracle. 8
29
Combining SQL and NoSQL with MySQL
Combining SQL and NoSQL with MySQL Manyi Lu Director MySQL Optimizer Team, Oracle April, 2018 Copyright 2016, 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following
More informationWhat Is New in Optmizer and Executor?
MySQL 8.0: What Is New in Optmizer and Executor? Norvald H. Ryeng Sofware Development Senior Manager MySQL Optmizer Team October, 2018 Safe Harbor Statement The following is intended to outline our general
More informationSafe Harbor Statement
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment
More informationMySQL 8.0 What s New in the Optimizer
MySQL 8.0 What s New in the Optimizer Manyi Lu Director MySQL Optimizer & GIS Team, Oracle October 2016 Copyright Copyright 2 015, 2016,Oracle Oracle and/or and/or its its affiliates. affiliates. All All
More informationMANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 6 Professional Program: Data Administration and Management MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) AGENDA
More informationNoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect
NoSQL + SQL = MySQL Nicolas De Rico Principal Solutions Architect nicolas.de.rico@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for
More informationCopyright 2017, Oracle and/or its aff iliates. All rights reserved.
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment
More informationINDEX. 1 Basic SQL Statements. 2 Restricting and Sorting Data. 3 Single Row Functions. 4 Displaying data from multiple tables
INDEX Exercise No Title 1 Basic SQL Statements 2 Restricting and Sorting Data 3 Single Row Functions 4 Displaying data from multiple tables 5 Creating and Managing Tables 6 Including Constraints 7 Manipulating
More informationPASSWORDS TREES AND HIERARCHIES. CS121: Relational Databases Fall 2017 Lecture 24
PASSWORDS TREES AND HIERARCHIES CS121: Relational Databases Fall 2017 Lecture 24 Account Password Management 2 Mentioned a retailer with an online website Need a database to store user account details
More informationCreating and Working with JSON in Oracle Database
Creating and Working with JSON in Oracle Database Dan McGhan Oracle Developer Advocate JavaScript & HTML5 January, 2016 Safe Harbor Statement The following is intended to outline our general product direction.
More informationHistogram Support in MySQL 8.0
Histogram Support in MySQL 8.0 Øystein Grøvlen Senior Principal Software Engineer MySQL Optimizer Team, Oracle February 2018 Program Agenda 1 2 3 4 5 Motivating example Quick start guide How are histograms
More informationMySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions Guilhem Bichot Lead Software Engineer MySQL Optimizer Team, Oracle Who With MySQL AB / Sun / Oracle since 2002 Coder on the Server from 4.0 to 8.0 Replication, on-line
More informationAssignment 6: SQL III Solution
Data Modelling and Databases Exercise dates: April 12/April 13, 2018 Ce Zhang, Gustavo Alonso Last update: April 16, 2018 Spring Semester 2018 Head TA: Ingo Müller Assignment 6: SQL III Solution This assignment
More informationModern SQL: Evolution of a dinosaur
Modern SQL: Evolution of a dinosaur Markus Winand Kraków, 9-11 May 2018 Still using Windows 3.1? So why stick with SQL-92? @ModernSQL - https://modern-sql.com/ @MarkusWinand SQL:1999 WITH (Common Table
More informationQuerying Data with Transact SQL
Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including
More informationASSIGNMENT NO Computer System with Open Source Operating System. 2. Mysql
ASSIGNMENT NO. 3 Title: Design at least 10 SQL queries for suitable database application using SQL DML statements: Insert, Select, Update, Delete with operators, functions, and set operator. Requirements:
More informationAssignment 6: SQL III
Data Modelling and Databases Exercise dates: April 12/April 13, 2018 Ce Zhang, Gustavo Alonso Last update: April 16, 2018 Spring Semester 2018 Head TA: Ingo Müller Assignment 6: SQL III This assignment
More informationIn This Lecture. More SQL Select. SQL SELECT Overview. Aliases. Example. Example. More SQL Select. Database Systems Lecture 8 Natasha Alechina
In This Lecture More SQL Select Database Systems Lecture 8 Natasha Alechina More SQL Select Aliases Self-joins IN, EXISTS, ANY, ALL For more information Connoly and Begg Chapter 5 Ullman and Widom Chapter
More information#MySQL #oow16. MySQL Server 8.0. Geir Høydalsvik
#MySQL #oow16 MySQL Server 8.0 Geir Høydalsvik Copyright Copyright 2 2016, 016,Oracle Oracle aand/or nd/or its its aaffiliates. ffiliates. AAll ll rights rights reserved. reserved. Safe Harbor Statement
More informationDatabase Management Systems,
Database Management Systems SQL Query Language (3) 1 Topics Aggregate Functions in Queries count sum max min avg Group by queries Set Operations in SQL Queries Views 2 Aggregate Functions Tables are collections
More informationViews. Lecture 15 Section 5.3. Robb T. Koether. Hampden-Sydney College. Mon, Feb 18, 2013
Views Lecture 15 Section 5.3 Robb T. Koether Hampden-Sydney College Mon, Feb 18, 2013 Robb T. Koether (Hampden-Sydney College) Views Mon, Feb 18, 2013 1 / 27 1 Views 2 Modifying the Base Tables 3 Updating
More informationCGS 3066: Spring 2017 SQL Reference
CGS 3066: Spring 2017 SQL Reference Can also be used as a study guide. Only covers topics discussed in class. This is by no means a complete guide to SQL. Database accounts are being set up for all students
More informationViews. Lecture 15. Robb T. Koether. Fri, Feb 16, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) Views Fri, Feb 16, / 28
Views Lecture 15 Robb T. Koether Hampden-Sydney College Fri, Feb 16, 2018 Robb T. Koether (Hampden-Sydney College) Views Fri, Feb 16, 2018 1 / 28 1 Views 2 Modifying the Base Tables 3 Updating Views 4
More informationSQL Data Query Language
SQL Data Query Language André Restivo 1 / 68 Index Introduction Selecting Data Choosing Columns Filtering Rows Set Operators Joining Tables Aggregating Data Sorting Rows Limiting Data Text Operators Nested
More informationWhat to expect from MySQL 8.0?
What to expect from MySQL 8.0? Norvald H. Ryeng Software Engineer FOSDEM 2017 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes
More informationSubquery: There are basically three types of subqueries are:
Subquery: It is also known as Nested query. Sub queries are queries nested inside other queries, marked off with parentheses, and sometimes referred to as "inner" queries within "outer" queries. Subquery
More informationPrinciples of Data Management
Principles of Data Management Alvin Lin August 2018 - December 2018 Structured Query Language Structured Query Language (SQL) was created at IBM in the 80s: SQL-86 (first standard) SQL-89 SQL-92 (what
More informationData Manipulation Language (DML)
In the name of Allah Islamic University of Gaza Faculty of Engineering Computer Engineering Department ECOM 4113 DataBase Lab Lab # 3 Data Manipulation Language (DML) El-masry 2013 Objective To be familiar
More informationDB2 SQL Class Outline
DB2 SQL Class Outline The Basics of SQL Introduction Finding Your Current Schema Setting Your Default SCHEMA SELECT * (All Columns) in a Table SELECT Specific Columns in a Table Commas in the Front or
More informationViews. Lecture 15 Section 5.3. Robb T. Koether. Hampden-Sydney College. Mon, Feb 18, 2013
Views Lecture 15 Section 5.3 Robb T. Koether Hampden-Sydney College Mon, Feb 18, 2013 Robb T. Koether (Hampden-Sydney College) Views Mon, Feb 18, 2013 1 / 22 1 Views 2 Modifying the Base Tables 3 Updating
More informationDatabases. Relational Model, Algebra and operations. How do we model and manipulate complex data structures inside a computer system? Until
Databases Relational Model, Algebra and operations How do we model and manipulate complex data structures inside a computer system? Until 1970.. Many different views or ways of doing this Could use tree
More information1Z0-007 ineroduction to oracle9l:sql
ineroduction to oracle9l:sql Q&A DEMO Version Copyright (c) 2007 Chinatag LLC. All rights reserved. Important Note Please Read Carefully For demonstration purpose only, this free version Chinatag study
More informationSQL Queries. COSC 304 Introduction to Database Systems SQL. Example Relations. SQL and Relational Algebra. Example Relation Instances
COSC 304 Introduction to Database Systems SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Queries Querying with SQL is performed using a SELECT statement. The general
More informationWhat's New in MySQL 5.7?
What's New in MySQL 5.7? Norvald H. Ryeng Software Engineer norvald.ryeng@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information
More informationStill using. Windows 3.1? So why stick to -
Still using Windows 3.1? So why stick to SQL-92? @ModernSQL - http://modern-sql.com/ @MarkusWinand SQL:1999 LATERAL LATERAL Before SQL:1999 Derived tables (from clause subqueries) cannot see outside: SELECT
More informationWhy Relational Databases? Relational databases allow for the storage and analysis of large amounts of data.
DATA 301 Introduction to Data Analytics Relational Databases Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca DATA 301: Data Analytics (2) Why Relational Databases? Relational
More informationorigin destination duration New York London 415 Shanghai Paris 760 Istanbul Tokyo 700 New York Paris 435 Moscow Paris 245 Lima New York 455
CS50 Beyond Databases origin destination duration New York London 415 Shanghai Paris 760 Istanbul Tokyo 700 New York Paris 435 Moscow Paris 245 Lima New York 455 SQL SQL Databases MySQL PostgreSQL SQLite...
More informationCOSC 304 Introduction to Database Systems SQL. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 304 Introduction to Database Systems SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Queries Querying with SQL is performed using a SELECT statement. The general
More informationInsertions, Deletions, and Updates
Insertions, Deletions, and Updates Lecture 5 Robb T. Koether Hampden-Sydney College Wed, Jan 24, 2018 Robb T. Koether (Hampden-Sydney College) Insertions, Deletions, and Updates Wed, Jan 24, 2018 1 / 17
More informationCOSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 304 Introduction to Database Systems SQL DDL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Overview Structured Query Language or SQL is the standard query language
More informationOracle NoSQL Database at OOW 2017
Oracle NoSQL Database at OOW 2017 CON6544 Oracle NoSQL Database Cloud Service Monday 3:15 PM, Moscone West 3008 CON6543 Oracle NoSQL Database Introduction Tuesday, 3:45 PM, Moscone West 3008 CON6545 Oracle
More informationTop 6 SQL Query Interview Questions and Answers
Just my little additions, remarks and corrections to Top 6 SQL Query Interview Questions and Answers as published on http://javarevisited.blogspot.co.nz/2017/02/top-6-sqlquery-interview-questions-and-answers.html
More informationDatabase 2: Slicing and Dicing Data in CF and SQL
Database 2: Slicing and Dicing Data in CF and SQL Charlie Arehart Founder/CTO Systemanage carehart@systemanage.com SysteManage: Agenda Slicing and Dicing Data in Many Ways Handling Distinct Column Values
More informationSlicing and Dicing Data in CF and SQL: Part 1
Slicing and Dicing Data in CF and SQL: Part 1 Charlie Arehart Founder/CTO Systemanage carehart@systemanage.com SysteManage: Agenda Slicing and Dicing Data in Many Ways Handling Distinct Column Values Manipulating
More informationQuerying Data with Transact-SQL
Course 20761A: Querying Data with Transact-SQL Page 1 of 5 Querying Data with Transact-SQL Course 20761A: 2 days; Instructor-Led Introduction The main purpose of this 2 day instructor led course is to
More informationMySQL 8.0 Common Table Expressions & Windowing Functions
1 / 66 2 / 66 MySQL 8.0 Common Table Expressions & Windowing Functions Dave Stokes - MySQL Community Manager - Oracle 3 / 66 Safe Harbor Statement The following is intended to outline our general product
More informationCalculate the Running Total(Everything)
Calculate the Running Total(Everything Objective: List the running total of the annual salaries. SELECT EmployeeName,AnnualSalary,SUM(AnnualSalary OVER(ORDER BY EmployeeName AS Running_Total Employee --Checking
More informationThe Mother of All Query Languages: SQL in Modern Times
The Mother of All Query Languages: SQL in Modern Times @MarkusWinand @ModernSQL http://www.almaden.ibm.com/cs/people/chamberlin/sequel-1974.pdf 1974 1992 SQL-92 Tied to the Relational Idea Relational Data
More informationSlicing and Dicing Data in CF and SQL: Part 2
Slicing and Dicing Data in CF and SQL: Part 2 Charlie Arehart Founder/CTO Systemanage carehart@systemanage.com SysteManage: Agenda Slicing and Dicing Data in Many Ways Cross-Referencing Tables (Joins)
More informationUnit 1 - Chapter 4,5
Unit 1 - Chapter 4,5 CREATE DATABASE DatabaseName; SHOW DATABASES; USE DatabaseName; DROP DATABASE DatabaseName; CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype,... columnn
More informationMySQL InnoDB Cluster. MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients. FOSDEM 18 - February 04, 2018
MySQL InnoDB Cluster MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients FOSDEM 18 - February 04, 2018 Safe Harbor Statement The following is intended to outline our
More informationSelections. Lecture 4 Sections Robb T. Koether. Hampden-Sydney College. Wed, Jan 22, 2014
Selections Lecture 4 Sections 4.2-4.3 Robb T. Koether Hampden-Sydney College Wed, Jan 22, 2014 Robb T. Koether (Hampden-Sydney College) Selections Wed, Jan 22, 2014 1 / 38 1 Datatypes 2 Constraints 3 Storage
More information20761 Querying Data with Transact SQL
Course Overview The main purpose of this course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration,
More informationPGQL: a Property Graph Query Language
PGQL: a Property Graph Query Language Oskar van Rest Sungpack Hong Jinha Kim Xuming Meng Hassan Chafi Oracle Labs June 24, 2016 Safe Harbor Statement The following is intended to outline our general product
More informationIntroduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018
Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018 Safe Harbor Statement The following is intended to outline our general
More informationCHAPTER: 4 ADVANCE SQL: SQL PERFORMANCE TUNING (12 Marks)
(12 Marks) 4.1 VIEW View: Views are virtual relations mainly used for security purpose, and can be provided on request by a particular user. A view can contain all rows of a table or select rows from a
More informationPress Release Writing Tips and Tricks for the Enterprise Technology Space
A webinar for Press Release Writing Tips and Tricks for the Enterprise Technology Space Julie Sugishita Corporate Communications Manager Oracle May 19, 2016 julie.sugishita@oracle.com https://www.linkedin.com/in/juliesugishita
More informationIntroductory SQL SQL Joins: Viewing Relationships Pg 1
Introductory SQL SQL Joins: Viewing Relationships Pg 1 SQL Joins: Viewing Relationships Ray Lockwood Points: The relational model uses foreign keys to establish relationships between tables. SQL uses Joins
More informationQuerying Data with Transact SQL Microsoft Official Curriculum (MOC 20761)
Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Course Length: 3 days Course Delivery: Traditional Classroom Online Live MOC on Demand Course Overview The main purpose of this
More informationCOUNT Function. The COUNT function returns the number of rows in a query.
Created by Ahsan Arif COUNT Function The COUNT function returns the number of rows in a query. The syntax for the COUNT function is: SELECT COUNT(expression) FROM tables WHERE predicates; Note: The COUNT
More informationQuerying Microsoft SQL Server
20461 - Querying Microsoft SQL Server Duration: 5 Days Course Price: $2,975 Software Assurance Eligible Course Description About this course This 5-day instructor led course provides students with the
More informationSQL Recursion, Window Queries
SQL Recursion, Window Queries PG 7.8; 3.5 & 9.21 Dr. Chris Mayfield Department of Computer Science James Madison University Mar 20, 2019 WITH clause Basic syntax: WITH R AS
More informationSQL functions fit into two broad categories: Data definition language Data manipulation language
Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 7 Beginning Structured Query Language (SQL) MDM NUR RAZIA BINTI MOHD SURADI 019-3932846 razia@unisel.edu.my
More informationThe query language for relational databases Jef De Smedt
SQL The query language for relational databases Jef De Smedt Getting to know Βeta vzw, Antwerp 1993 computer training for unemployed 2000 computer training for employees Cevora vzw/cefora asbl ( Fr 15/9
More information20761B: QUERYING DATA WITH TRANSACT-SQL
ABOUT THIS COURSE This 5 day course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can be taught as a course to students requiring the knowledge
More informationData Modeling with the Entity Relationship Model. CS157A Chris Pollett Sept. 7, 2005.
Data Modeling with the Entity Relationship Model CS157A Chris Pollett Sept. 7, 2005. Outline Conceptual Data Models and Database Design An Example Application Entity Types, Sets, Attributes and Keys Relationship
More informationConsolidate and Prepare for Cloud Efficiencies Oracle Database 12c Oracle Multitenant Option
Consolidate and Prepare for Cloud Efficiencies Oracle Database 12c Oracle Multitenant Option Eric Rudie Master Principal Sales Consultant Oracle Public Sector 27 September 2016 Safe Harbor Statement The
More informationOracle Database: Introduction to SQL Ed 2
Oracle University Contact Us: +40 21 3678820 Oracle Database: Introduction to SQL Ed 2 Duration: 5 Days What you will learn This Oracle Database 12c: Introduction to SQL training helps you write subqueries,
More informationCOSC 122 Computer Fluency. Databases. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 122 Computer Fluency Databases Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) Databases allow for easy storage and retrieval of large amounts of information.
More informationOracle Policy Automation The modern enterprise advice platform
Oracle Policy Automation The modern enterprise advice platform Release features and benefits (November 2017) v1.01 Program agenda 1 2 3 Overview of Oracle Policy Automation New features in release For
More informationLab # 6. Using Subqueries and Set Operators. Eng. Alaa O Shama
The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Database Lab Lab # 6 Using Subqueries and Set Operators Eng. Alaa O Shama November, 2015 Objectives:
More informationHandling Advanced Data Warehouse Scenarios in SSIS
Handling Advanced Data Warehouse Scenarios in SSIS John Welch, BI Architect @ Varigence MVP SQL Server Agenda Late Arriving Dimensions Parent-Child Dimensions Type 3 and Type 6 Dimensions 3 About Me John
More informationWhat s New in MariaDB Server Max Mether VP Server
What s New in MariaDB Server 10.3 Max Mether VP Server Recap MariaDB 10.2 New in MariaDB 10.2 - GA since May 2017 What s New in 10.2 Analytics SQL Window Functions Common Table Expressions (CTE) JSON JSON
More informationSafe Harbor Statement
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment
More informationDatabase Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL)
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 7 Introduction to Structured Query Language (SQL) Objectives In this chapter, students will learn: The basic commands and
More informationQuerying Data with Transact-SQL
Querying Data with Transact-SQL Course 20761C 5 Days Instructor-led, Hands on Course Information The main purpose of the course is to give students a good understanding of the Transact- SQL language which
More informationFull file at
David Kroenke's Database Processing: Fundamentals, Design and Implementation (10 th Edition) CHAPTER TWO INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) True-False Questions 1. SQL stands for Standard
More informationSql Server Syllabus. Overview
Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers
More informationRelational Algebra. Mr. Prasad Sawant. MACS College. Mr.Prasad Sawant MACS College Pune
Relational Algebra Mr. Prasad Sawant MACS College Pune MACS College Relational Algebra Tuple - a collection of attributes which describe some real world entity. Attribute - a real world role played by
More informationUsing the MySQL Document Store
Using the MySQL Document Store Alfredo Kojima, Sr. Software Dev. Manager, MySQL Mike Zinner, Sr. Software Dev. Director, MySQL Safe Harbor Statement The following is intended to outline our general product
More informationMySQL Group Replication in a nutshell
1 / 126 2 / 126 MySQL Group Replication in a nutshell the core of MySQL InnoDB Cluster Oracle Open World September 19th 2016 Frédéric Descamps MySQL Community Manager 3 / 126 Safe Harbor Statement The
More informationDatabase Technology. Topic 3: SQL. Olaf Hartig.
Olaf Hartig olaf.hartig@liu.se Structured Query Language Declarative language (what data to get, not how) Considered one of the major reasons for the commercial success of relational databases Statements
More informationPerformance Innovations with Oracle Database In-Memory
Performance Innovations with Oracle Database In-Memory Eric Cohen Solution Architect Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information
More informationChapter 6 - Part II The Relational Algebra and Calculus
Chapter 6 - Part II The Relational Algebra and Calculus Copyright 2004 Ramez Elmasri and Shamkant Navathe Division operation DIVISION Operation The division operation is applied to two relations R(Z) S(X),
More informationSafe Harbor Statement
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment
More informationWhat Are Group Functions? Reporting Aggregated Data Using the Group Functions. Objectives. Types of Group Functions
What Are Group Functions? Group functions operate on sets of rows to give one result per group. Reporting Aggregated Data Using the Group Functions Maximum salary in table Copyright 2004, Oracle. All rights
More informationKey Points. COSC 122 Computer Fluency. Databases. What is a database? Databases in the Real-World DBMS. Database System Approach
COSC 122 Computer Fluency Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) allow for easy storage and retrieval of large amounts of information. 2) Relational
More informationSQL Recursion, Window Queries
SQL Recursion, Window Queries FCDB 10.2 Dr. Chris Mayfield Department of Computer Science James Madison University Apr 02, 2018 Tips on GP5 Java Create object(s) to represent query results Use ArrayList
More informationRelational Databases
Relational Databases Lecture 2 Chapter 3 Robb T. Koether Hampden-Sydney College Fri, Jan 18, 2013 Robb T. Koether (Hampden-Sydney College) Relational Databases Fri, Jan 18, 2013 1 / 26 1 Types of Databases
More informationIntroduction to Oracle9i: SQL
Oracle 1z0-007 Introduction to Oracle9i: SQL Version: 22.0 QUESTION NO: 1 Oracle 1z0-007 Exam Examine the data in the EMPLOYEES and DEPARTMENTS tables. You want to retrieve all employees, whether or not
More informationNULLs & Outer Joins. Objectives of the Lecture :
Slide 1 NULLs & Outer Joins Objectives of the Lecture : To consider the use of NULLs in SQL. To consider Outer Join Operations, and their implementation in SQL. Slide 2 Missing Values : Possible Strategies
More informationSQL Data Manipulation Language. Lecture 5. Introduction to SQL language. Last updated: December 10, 2014
Lecture 5 Last updated: December 10, 2014 Throrought this lecture we will use the following database diagram Inserting rows I The INSERT INTO statement enables inserting new rows into a table. The basic
More informationQuerying Microsoft SQL Server 2008/2012
Querying Microsoft SQL Server 2008/2012 Course 10774A 5 Days Instructor-led, Hands-on Introduction This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL
More informationSQL - Subqueries and. Schema. Chapter 3.4 V4.0. Napier University
SQL - Subqueries and Chapter 3.4 V4.0 Copyright @ Napier University Schema Subqueries Subquery one SELECT statement inside another Used in the WHERE clause Subqueries can return many rows. Subqueries can
More informationCourse Outline. Querying Data with Transact-SQL Course 20761B: 5 days Instructor Led
Querying Data with Transact-SQL Course 20761B: 5 days Instructor Led About this course This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days
More informationQuerying Data with Transact-SQL
Course Code: M20761 Vendor: Microsoft Course Overview Duration: 5 RRP: 2,177 Querying Data with Transact-SQL Overview This course is designed to introduce students to Transact-SQL. It is designed in such
More informationChapter 3: Introduction to SQL
Chapter 3: Introduction to SQL Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 3: Introduction to SQL Overview of the SQL Query Language Data Definition Basic Query
More informationChapter 3. Introducation to Relational Database 9/2/2014 CSC4341 1
Chapter 3 Introducation to Relational Database 9/2/2014 CSC4341 1 Relational Model Structure aspect Data in the database is perceived by the user as tables and nothing but tables Integrity aspect Those
More informationCOMP7640 Assignment 2
COMP7640 Assignment 2 Due Date: 23:59, 14 November 2014 (Fri) Description Question 1 (20 marks) Consider the following relational schema. An employee can work in more than one department; the pct time
More informationQuerying Data with Transact-SQL
Querying Data with Transact-SQL 20761B; 5 Days; Instructor-led Course Description This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can
More information