Difference between revisions of "RDBMS-PostgreSQL/C2/Select-with-Aggregate-functions/English-timed"
PoojaMoolya (Talk | contribs) (Created page with "{| border=1 | '''Time''' | '''Narration''' |- | 00:01 | Welcome to the''' Spoken Tutorial''' on''' Select with Aggregate functions.''' |- | 00:07 | In this tutorial w...") |
Sandhya.np14 (Talk | contribs) |
||
Line 9: | Line 9: | ||
|- | |- | ||
| 00:07 | | 00:07 | ||
− | | In this tutorial we will learn more | + | | In this tutorial, we will learn more clauses that can be used with the '''select''' statement, such as- |
− | '''Distinct''' | + | '''Distinct''', |
|- | |- | ||
|00:16 | |00:16 | ||
− | | '''Between''' | + | | '''Between''', |
− | '''Like''' | + | '''Like''', |
|- | |- | ||
|00:19 | |00:19 | ||
− | | '''In''' | + | | '''In''', |
− | '''Is Null''' and '''Aggregate functions''' | + | '''Is Null''' and '''Aggregate functions'''. |
|- | |- | ||
| 00:26 | | 00:26 | ||
− | | To record this tutorial, I am using | + | | To record this tutorial, I am using: |
− | '''Ubuntu Linux 14.04''' operating system | + | '''Ubuntu Linux 14.04''' operating system, |
− | '''PostgreSQL 9.3.x''' | + | '''PostgreSQL 9.3.x''', |
'''pgAdmin 1.18''' | '''pgAdmin 1.18''' | ||
Line 37: | Line 37: | ||
|- | |- | ||
| 00:41 | | 00:41 | ||
− | | To follow this tutorial, you should have basic understanding of database and | + | | To follow this tutorial, you should have basic understanding of '''database''' and '''table'''s. |
|- | |- | ||
Line 49: | Line 49: | ||
|- | |- | ||
| 01:01 | | 01:01 | ||
− | | '''DISTINCT | + | | '''DISTINCT''' keyword is used in the '''SELECT''' statement to list distinct and unique values. |
− | It removes the duplicate | + | It removes the duplicate '''row'''s or '''column''' values from the '''query''' result. |
|- | |- | ||
Line 69: | Line 69: | ||
|- | |- | ||
| 01:38 | | 01:38 | ||
− | | Type the code as shown here. | + | | Type the '''code''' as shown here. |
− | This '''select | + | This '''select''' statement will retrieve the unique city names from the '''students''' table. |
|- | |- | ||
Line 79: | Line 79: | ||
|- | |- | ||
| 01:54 | | 01:54 | ||
− | | Let us | + | | Let us '''execute''' the query to see the '''output'''. |
|- | |- | ||
| 01:59 | | 01:59 | ||
− | | Next, we will learn about the '''BETWEEN | + | | Next, we will learn about the '''BETWEEN''' operator. |
|- | |- | ||
| 02:03 | | 02:03 | ||
− | | '''BETWEEN | + | | '''BETWEEN''' operator is used to retrieve values within a given range. |
|- | |- | ||
Line 95: | Line 95: | ||
|- | |- | ||
| 02:19 | | 02:19 | ||
− | | Let's see an example for between operator. | + | | Let's see an example for '''between''' operator. |
|- | |- | ||
Line 117: | Line 117: | ||
|- | |- | ||
| 02:52 | | 02:52 | ||
− | | This '''query''' will show all rows from the''' students | + | | This '''query''' will show all rows from the''' students''' table where the '''cgpa''' value is between 7.8 and 8.5. |
|- | |- | ||
Line 143: | Line 143: | ||
|- | |- | ||
| 03:32 | | 03:32 | ||
− | | Next we will learn about the '''LIKE | + | | Next we will learn about the '''LIKE''' operator. |
|- | |- | ||
Line 151: | Line 151: | ||
|- | |- | ||
|03:42 | |03:42 | ||
− | | It allows '''wildcard characters '''to be used within the '''WHERE | + | | It allows '''wildcard characters '''to be used within the '''WHERE''' clause. |
|- | |- | ||
| 03:47 | | 03:47 | ||
− | | There are two '''wildcards '''that can be used in conjunction with the '''LIKE operator''' | + | | There are two '''wildcards '''that can be used in conjunction with the '''LIKE operator'''- |
|- | |- | ||
Line 177: | Line 177: | ||
| Suppose I don't remember the exact name of a student. | | Suppose I don't remember the exact name of a student. | ||
− | But I remember that the student’s name begins with the letter | + | But I remember that the student’s name begins with the letter 'Ra'. |
|- | |- | ||
|04:22 | |04:22 | ||
− | | It is very difficult to search the entire '''students | + | | It is very difficult to search the entire '''students''' table as there are many rows in the '''table.''' |
|- | |- | ||
| 04:29 | | 04:29 | ||
− | | To make the search easy, we can use the '''LIKE | + | | To make the search easy, we can use the '''LIKE''' operator as shown here. |
|- | |- | ||
| 04:35 | | 04:35 | ||
− | | Here, all the student's names start with | + | | Here, all the student's names start with 'Ra' and is followed by any sequence of characters. |
This is called '''pattern matching'''. | This is called '''pattern matching'''. | ||
Line 203: | Line 203: | ||
|- | |- | ||
|04:56 | |04:56 | ||
− | | This '''query '''returns those rows where the students’ names end with | + | | This '''query '''returns those rows where the students’ names end with 'la'. |
|- | |- | ||
|05:03 | |05:03 | ||
− | | There can be any number of characters before | + | | There can be any number of characters before 'la'. |
|- | |- | ||
Line 213: | Line 213: | ||
| Let us see another pattern. | | Let us see another pattern. | ||
− | This | + | This statement returns all the rows where the student’s name has 'am' in the middle. |
|- | |- | ||
|05:21 | |05:21 | ||
− | | Note | + | | Note percent sign before and after 'am'. |
|- | |- | ||
Line 225: | Line 225: | ||
|- | |- | ||
|05:34 | |05:34 | ||
− | | This will fetch rows of students whose name has three characters and has | + | | This will fetch rows of students whose name has three characters and has 'a' in the 2<sup>nd</sup> position. |
|- | |- | ||
Line 231: | Line 231: | ||
| '''Underscore 'r' percent '''matches students whose names begin with a single character. | | '''Underscore 'r' percent '''matches students whose names begin with a single character. | ||
− | It is followed by | + | It is followed by 'r' and ends with any number of characters. |
Let's see the output. | Let's see the output. | ||
Line 237: | Line 237: | ||
|- | |- | ||
| 05:58 | | 05:58 | ||
− | | Next we will see how to use '''IN | + | | Next we will see how to use '''IN''' operator. |
|- | |- | ||
| 06:03 | | 06:03 | ||
− | | Use '''IN | + | | Use '''IN''' operator in the '''WHERE '''clause to check if the value matches any value in a given list. |
− | The syntax is: '''Select column-name from table-name WHERE column-name IN ( value1, value2...)''' etc | + | The syntax is: '''Select column-name from table-name WHERE column-name IN ( value1, value2...)''' etc. |
|- | |- | ||
Line 251: | Line 251: | ||
|- | |- | ||
| 06:25 | | 06:25 | ||
− | | This | + | | This statement will return all rows from the '''students''' table where the city is either Chennai, Nagpur or Hyderabad. |
|- | |- | ||
| 06:35 | | 06:35 | ||
− | | It helps to reduce the usage of multiple '''OR | + | | It helps to reduce the usage of multiple '''OR''' conditions to get the same result. |
− | Let us see the output | + | Let us see the output. |
|- | |- | ||
| 06:44 | | 06:44 | ||
− | | Next we will see how to use the '''IS NULL | + | | Next we will see how to use the '''IS NULL''' operator in the '''select''' statement. |
|- | |- | ||
| 06:51 | | 06:51 | ||
− | | This ''' | + | | This statement will list down the '''record'''s where the '''date of birth''' column is empty. |
|- | |- | ||
|06:58 | |06:58 | ||
− | | In the same way, we can also use the '''IS NOT NULL operator''' | + | | In the same way, we can also use the '''IS NOT NULL operator''' as shown here. |
|- | |- | ||
Line 285: | Line 285: | ||
|- | |- | ||
| 07:22 | | 07:22 | ||
− | | ''' | + | | List of '''aggregate functions''' - |
|- | |- | ||
| 07:25 | | 07:25 | ||
− | | '''Count''' – It | + | | '''Count''' – It returns the number of rows in a table. |
|- | |- | ||
| 07:30 | | 07:30 | ||
− | | '''Sum''' – Returns the sum of a selected column | + | | '''Sum''' – Returns the sum of a selected column. |
|- | |- | ||
| 07:34 | | 07:34 | ||
− | | '''Max''' - Returns the largest value of a specified column | + | | '''Max''' - Returns the largest value of a specified column. |
|- | |- | ||
| 07:39 | | 07:39 | ||
− | | '''Min''' – Returns the smallest value of a specified column | + | | '''Min''' – Returns the smallest value of a specified column. |
|- | |- | ||
| 07:44 | | 07:44 | ||
− | | '''Avg''' – Returns the average value for a specified column | + | | '''Avg''' – Returns the average value for a specified column. |
|- | |- | ||
Line 313: | Line 313: | ||
|- | |- | ||
| 07:53 | | 07:53 | ||
− | | Let’s say, we want to count the number of existing records in the '''students | + | | Let’s say, we want to count the number of existing records in the '''students''' table. |
For that, type the code as shown here. | For that, type the code as shown here. | ||
Line 319: | Line 319: | ||
|- | |- | ||
| 08:03 | | 08:03 | ||
− | | The '''count open parentheses asterisk close parentheses | + | | The '''count open parentheses asterisk close parentheses''' function returns the number of rows that are fetched by the '''SELECT''' statement. |
|- | |- | ||
Line 327: | Line 327: | ||
|- | |- | ||
| 08:17 | | 08:17 | ||
− | | There are 14 records in the '''students | + | | There are 14 records in the '''students''' table. |
|- | |- | ||
Line 349: | Line 349: | ||
|- | |- | ||
| 08:45 | | 08:45 | ||
− | | Type the code and execute. | + | | Type the code and '''execute'''. |
|- | |- | ||
| 08:49 | | 08:49 | ||
− | | Here we can see the '''date of birth''' column value is '''NULL''' for the student | + | | Here, we can see the '''date of birth''' column value is '''NULL''' for the student 'Ram charan'. |
|- | |- | ||
Line 359: | Line 359: | ||
| I have left '''date of birth''' column blank during record creation for this student. | | I have left '''date of birth''' column blank during record creation for this student. | ||
− | So the''' count | + | So the''' count''' function displays the output as 13. |
|- | |- | ||
| 09:07 | | 09:07 | ||
− | | Next let us see how to use the''' SUM | + | | Next, let us see how to use the''' SUM''' function. |
|- | |- | ||
Line 389: | Line 389: | ||
|- | |- | ||
| 09:42 | | 09:42 | ||
− | | This '''select | + | | This '''select''' statement returns the maximum '''cgpa''' score from the '''students''' table. |
9.6 is the highest '''cgpa''' score in the '''students''' table. | 9.6 is the highest '''cgpa''' score in the '''students''' table. | ||
Line 407: | Line 407: | ||
| In this tutorial, we have learnt about More clauses that can be used with the '''select statement, '''such as- | | In this tutorial, we have learnt about More clauses that can be used with the '''select statement, '''such as- | ||
− | '''Distinct''' , '''Between''' , '''Like''' , '''In''' , '''Is Null''' and '''Aggregate functions''' | + | '''Distinct''' , '''Between''' , '''Like''' , '''In''' , '''Is Null''' and '''Aggregate functions'''. |
|- | |- | ||
| 10:21 | | 10:21 | ||
− | | As an assignment, write '''select statements''' to | + | | As an assignment, write '''select statements''' to display all columns from '''students''' table where the student name ends with 'a'. |
|- | |- | ||
Line 419: | Line 419: | ||
|- | |- | ||
| 10:36 | | 10:36 | ||
− | | The video at the following link | + | | The video at the following link summarizes the '''Spoken Tutorial''' project. |
Please download and watch it. | Please download and watch it. | ||
Line 425: | Line 425: | ||
|- | |- | ||
| 10:44 | | 10:44 | ||
− | | The''' Spoken Tutorial Project''' | + | | The''' Spoken Tutorial Project''' team |
− | + | ||
conducts workshops and gives certificates | conducts workshops and gives certificates | ||
Line 437: | Line 436: | ||
|- | |- | ||
| 10:58 | | 10:58 | ||
− | | Spoken Tutorial project is funded by NMEICT, MHRD, Government of India. | + | | Spoken Tutorial project is funded by '''NMEICT, MHRD''', Government of India. |
More information on this mission is available at this link. | More information on this mission is available at this link. | ||
Line 443: | Line 442: | ||
|- | |- | ||
| 11:11 | | 11:11 | ||
− | | This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. | + | | This is Nirmala Venkat from '''IIT Bombay''', signing off. Thanks for watching. |
|} | |} |
Latest revision as of 21:11, 5 February 2019
Time | Narration |
00:01 | Welcome to the Spoken Tutorial on Select with Aggregate functions. |
00:07 | In this tutorial, we will learn more clauses that can be used with the select statement, such as-
Distinct, |
00:16 | Between,
Like, |
00:19 | In,
Is Null and Aggregate functions. |
00:26 | To record this tutorial, I am using:
Ubuntu Linux 14.04 operating system, PostgreSQL 9.3.x, pgAdmin 1.18 |
00:41 | To follow this tutorial, you should have basic understanding of database and tables. |
00:48 | For more details, refer to the RDBMS – PostgreSQL series on this website. |
00:55 | Let’s begin. First we will learn about the DISTINCT clause. |
01:01 | DISTINCT keyword is used in the SELECT statement to list distinct and unique values.
It removes the duplicate rows or column values from the query result. |
01:18 | The syntax is as follows:
SELECT DISTINCT column-names FROM table-name WHERE [condition] |
01:28 | Let us open the pgAdmin for the demonstration. |
01:33 | Click on the SQL icon to open the SQL Editor. |
01:38 | Type the code as shown here.
This select statement will retrieve the unique city names from the students table. |
01:48 | It will eliminate duplicate values from the specified column i.e. city. |
01:54 | Let us execute the query to see the output. |
01:59 | Next, we will learn about the BETWEEN operator. |
02:03 | BETWEEN operator is used to retrieve values within a given range. |
02:09 | The syntax is: SELECT column-names FROM table-name WHERE column-name BETWEEN value1 and value2; |
02:19 | Let's see an example for between operator. |
02:23 | Let's clear the screen and type the code for the query. |
02:28 | Say, I want to retrieve details of students who are born between January 1995 and January 1996. |
02:38 | Let's see the output.
Notice the output shows the list of students as expected. |
02:47 | We will see another example for BETWEEN operator. |
02:52 | This query will show all rows from the students table where the cgpa value is between 7.8 and 8.5. |
03:02 | Let us see the output. |
03:05 | Notice from the output that the value is inclusive of 7.8 and 8.5. |
03:13 | The same query can also be written as shown here. |
03:18 | Instead of BETWEEN operator, we can use- greater than or equal to and
lesser than or equal to operators. |
03:27 | Execute the query to see the output. |
03:32 | Next we will learn about the LIKE operator. |
03:36 | LIKE operator is used to match text values against a given pattern. |
03:42 | It allows wildcard characters to be used within the WHERE clause. |
03:47 | There are two wildcards that can be used in conjunction with the LIKE operator- |
03:53 | Percent (%):
The percent sign matches any sequence of string of any length. |
04:00 | Underscore (_):
The underscore matches a single character. |
04:06 | We will see few examples using percent wildcard. |
04:11 | Suppose I don't remember the exact name of a student.
But I remember that the student’s name begins with the letter 'Ra'. |
04:22 | It is very difficult to search the entire students table as there are many rows in the table. |
04:29 | To make the search easy, we can use the LIKE operator as shown here. |
04:35 | Here, all the student's names start with 'Ra' and is followed by any sequence of characters.
This is called pattern matching. |
04:48 | Let us see a few more examples. |
04:52 | Type the code as shown. |
04:56 | This query returns those rows where the students’ names end with 'la'. |
05:03 | There can be any number of characters before 'la'. |
05:10 | Let us see another pattern.
This statement returns all the rows where the student’s name has 'am' in the middle. |
05:21 | Note percent sign before and after 'am'. |
05:27 | Next we will see how to use underscore to match a single character. |
05:34 | This will fetch rows of students whose name has three characters and has 'a' in the 2nd position. |
05:44 | Underscore 'r' percent matches students whose names begin with a single character.
It is followed by 'r' and ends with any number of characters. Let's see the output. |
05:58 | Next we will see how to use IN operator. |
06:03 | Use IN operator in the WHERE clause to check if the value matches any value in a given list.
The syntax is: Select column-name from table-name WHERE column-name IN ( value1, value2...) etc. |
06:22 | Let us see an example. |
06:25 | This statement will return all rows from the students table where the city is either Chennai, Nagpur or Hyderabad. |
06:35 | It helps to reduce the usage of multiple OR conditions to get the same result.
Let us see the output. |
06:44 | Next we will see how to use the IS NULL operator in the select statement. |
06:51 | This statement will list down the records where the date of birth column is empty. |
06:58 | In the same way, we can also use the IS NOT NULL operator as shown here. |
07:07 | Let us now learn about aggregate function. |
07:11 | Aggregate functions are PostgreSQL built-in functions. |
07:16 | It operates on several rows of a query and returns a single result. |
07:22 | List of aggregate functions - |
07:25 | Count – It returns the number of rows in a table. |
07:30 | Sum – Returns the sum of a selected column. |
07:34 | Max - Returns the largest value of a specified column. |
07:39 | Min – Returns the smallest value of a specified column. |
07:44 | Avg – Returns the average value for a specified column. |
07:49 | Switch back to SQL Editor window. |
07:53 | Let’s say, we want to count the number of existing records in the students table.
For that, type the code as shown here. |
08:03 | The count open parentheses asterisk close parentheses function returns the number of rows that are fetched by the SELECT statement. |
08:13 | Execute this query to see the output. |
08:17 | There are 14 records in the students table. |
08:21 | We can also specify the column name in the function as shown here. |
08:27 | Once again execute the query. |
08:31 | Why is it showing 13?
Because the count function only counts values which are not NULL. |
08:40 | Let us see the output when we specify the date of birth column. |
08:45 | Type the code and execute. |
08:49 | Here, we can see the date of birth column value is NULL for the student 'Ram charan'. |
08:56 | I have left date of birth column blank during record creation for this student.
So the count function displays the output as 13. |
09:07 | Next, let us see how to use the SUM function. |
09:11 | Let us clear the screen. |
09:14 | Type the code as shown here and execute the query.
This returns the summed-up value of the cgpa column. |
09:24 | You can also give an additional 'Where' condition as shown here. |
09:30 | This returns the sum of cgpa values of the students who are from Mumbai city. |
09:38 | Next, let us find the maximum cgpa score. |
09:42 | This select statement returns the maximum cgpa score from the students table.
9.6 is the highest cgpa score in the students table. |
09:54 | Likewise, you can try the remaining aggregate functions on your own. |
10:00 | With this we come to the end of this tutorial.
Let us summarize. |
10:06 | In this tutorial, we have learnt about More clauses that can be used with the select statement, such as-
Distinct , Between , Like , In , Is Null and Aggregate functions. |
10:21 | As an assignment, write select statements to display all columns from students table where the student name ends with 'a'. |
01:31 | Display the minimum and average of the cgpa column. |
10:36 | The video at the following link summarizes the Spoken Tutorial project.
Please download and watch it. |
10:44 | The Spoken Tutorial Project team
conducts workshops and gives certificates For more details, please write to us. |
10:54 | Please post your timed queries in this forum. |
10:58 | Spoken Tutorial project is funded by NMEICT, MHRD, Government of India.
More information on this mission is available at this link. |
11:11 | This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. |