Okay, embedded SQL is very different. Embedded SQL is the exact SQL clause that is created, that is parsed from the application. So an embedded SQL statement from an application might indicate that I want the empID from the employees table like this. This entire statement can be embedded in a Java, in a C sharp, in a Python application, exact statement just like this. And parsed to the connection of my oracle database to retrieve the employee IDs or to retrieve the employee IDs and the employee names, if I really so choose. So this exact statement that returns these values, this would be an embedded statement if it was coming from an application. Embedded SQL, dynamic SQL, right? Then there's ETL which really stands for extract, transform and load. This is the act of taking data from one source, manipulating it and then loading it to a different source. ETL processes are used to create data warehouses for example, I may choose to extract quantity and price. I may choose to run a calculated transformation where I'm multiplying quantity times price, adding tax and shipping information, and loading quantity, price, tax, shipping information and the total. So I extracted from the source, quantity and price. I transformed it so that I computed quantity times price, added the sales tax, added the shipping information and shipping prices, and loaded all of those together in the destination table. ETL, okay? Function, functions are used all the time to create aggregates, if you will. So if I do a select some price from products like this, if I run this, I'm going to get one number. And what that did, if I just look at this without the sum, in this case sum would be the function. If I run this, this gives me the first one is 5, then it's 3.99, and the third value is 250,845. So this is giving me three rows. If I do a sum, price, it's giving me what's called a Scalar value. One value that basically combines our sums or adds all three values together. If I say average here it will basically divide that number by three because there are three rows of data. So average in this case is a function, sum is a function. If I say min, for example, that's another function. What is the minimum price? 3.99. What is the maximum price like that? Maximum price, which is 250,000, I think, [LAUGH] right, 250,845. So min and max and average and sum are examples of functions right within SQL statements. IDE stands for integrated development environment. Here I'm using SQL developer. This is an integrated environment because I can see what tables there are, what views there are, indexes there are, I can see reports I may have created, I can get the response right here. I can build the SQL statement right here, integrated development environment. Predicate, this is interesting. If I say select, and I say product ID, Product ID,price and I do this and I run this, so I get these two, I get product ID and price. If I use the where clause, where, and I say product ID is greater than 2 when I did that, right? Essentially the predicate here is product ID is greater than 2. That's the predicate, predicate is essentially the where clause, how are you filtering the data? Okay, whatever comes after the where clause, how the data's filtered essentially becomes your predicate. Pseudocolumn, let me show you this. You're going to find this interesting, pseudocolumns are columns that are added to every single table. You cannot insert, you cannot update, you cannot delete but you can select on them. Let me show you what I mean. If I click on the Depts here, I get the department and the department name. Notice that employees has employee ID, employee name and Dept ID, and products has that and sales has that. However, if I do a select row ID, like that row ID, empID, emp name from employees. Look at this, when I run this, look at the row ID, this is not in my defined in my employees table. Employees table does not have a row ID listed but row IDs are pseudocolumns. Pseudocolumn is inserted in every single row and I can search based on this too. If I copy this right over here, if I just copy this and I say where row ID =, and I copy that like that and then I run this. I'm going to get the first row back, watch, look. So I can select on it, I can search where clause based on it, but I don't insert or update or delete that, okay? So row ID and row num is another example. If I do a select row num, empID, emp name from employees like that. So now I got row num, see that, row num. If I say where I can also do a where clause, I could say where row num is greater than 2, and I do a run, it'll just, notice it doesn't know what that is, [LAUGH] right? So, but I can see it. So row num and row ID is an example of pseudocolumns, okay, pseudo columns, columns that are not insertable, updatable, deletable but they exist.