Home
Search results “Nvarchar sql oracle”
Oracle SQL Tutorial 32 - VARCHAR2 and NVARCHAR2
 
03:06
This video we are going to discuss the VARCHAR2 and the NVARCHAR2 data types. The previous videos are a good foundation to this video. I've actually discussed so much stuff in those videos that I don’t have a whole lot to say. Good for you, right? I discussed over the previous videos that you should prefer to use VARCHAR2 over CHAR. That's because there is not a difference in performance or storage for a VARCHAR2 column. The only difference is that an CHAR column forces each value to take up a certain length even if it's not. There is one difference between the variable length and fixed length data types here that you need to know about, and that is storage limits. CHAR has a limit of 2000 bytes, while VARCHAR2 has a limit of 4000 bytes. That means you can store twice as much junk in a VARCHAR2 column! Other than that, these data types work exactly the same. I recommend you always use the VARCHAR2 data types instead of the CHAR data types, and only use NVARCHAR2 if you have a non-Unicode database. This will allow you to store Unicode characters in a column. Now, the amount of storage you can put in a VARCHAR2 column is twice what you can put in a CHAR column, but 4000 characters is still not very many characters. This is where the LOB data types come in, which we will discuss in the next video! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 5120 Caleb Curry
Oracle SQL Tutorial 29 - NCHAR Part 1
 
04:58
NCHAR is another data type available in Oracle database. This data type is very similar to the char data type with some key differences. NCHAR is also known as the national character set. This is a data type that allows us to store Unicode characters. It is really recommended that you watch the two videos over Unicode and UTF-8 because this video is going to talk a lot about it. Why is it that we have an entire data type dedicated to storing Unicode? That will be easily understood once we understand how character sets and encodings are applied to Oracle. They are applied at the database level. That means that you have a character set that applies to the entire database. This is in contrast to some database management systems that allow you to apply a data type at the table and column level. For example, in MySQL you can make a table have a character set, and make a specific column in that table a different character set. That means we can customize everything at the expense of adding potential complexity and confusion. Oracle does not work that way. In Oracle, we define one character set for the entire database. The problem with defining a character set for the entire database is that it may not be the character set we want to use for everything. That is where the NCHAR column comes in. The NCHAR column allows us to have a Unicode column inside of a database that does not use Unicode as the default character set. That is important because it is very often that we want to use Unicode but we may not need to use it for everything, for example if that application is working with ASCII nearly all of the time. If you are using Unicode for the database, then NCHAR is not going to be needed and should not be used. This data type is not as widely accepted, so only use it if you absolutely need to, specifically when you need to store Unicode in a non-Unicode database. Additionally, there is some controversy when it comes to whether or not you should use the CHAR and NCHAR data types in Oracle at all. We will discuss why in an upcoming video. In the next video we are going to go over some specific character sets that Oracle can use. See you then! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppor me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 3843 Caleb Curry
Oracle SQL Tutorial 25 - ASCII and Unicode
 
03:33
In the previous video we talked about some of the most popular data types. We are going to discuss them in more detail. The data type we are going to start with is CHAR and NCHAR. I told you of both of these but I never explained the difference. That's because there is some other stuff I need to explain before I can explain the difference. This has to deal with what is known as character sets. When you have a string, there are only so many characters you are allowed to store in that string. The characters you are allowed to store is determined by what is known as the character set. A common character set is ASCII. This character set allows you to store English characters, numbers, and some symbols. ASCII started with 127 characters, and then they came out with the ASCII extended, which allows for up to 255 characters. Even with 255 characters though, we are limited in what we can store using one character set. If the computer only allows ASCII, we are going to be limited when working with different languages. Of course it works for some situations, but globalization of software has been a big thing with the development of the interwebs …and the movement towards a new world order (Revelation 13:7). That means that ASCII is no longer the best character set. It has largely been replaced with a character set known as Unicode. Oracle has a few Unicode character sets that we can use when we work with string data. When you start studying character sets, I can promise that you will run across the word encoding. Encoding refers to the way that the allowed characters can be stored on the computer. A computer doesn't just store a letter, everything has to be stored in binary. Unicode is the character set, but it has numerous different encodings. Essentially, the computer can store the same characters in multiple different ways, depending on which encoding is used. The most popular encodings for Unicode are UTF-8 and UTF-16. UTF stands for Unicode Transformation Format. In the next video we will be discussing these in detail and express their differences. Once we got that down, we'll be able to loop back around to data types. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 5442 Caleb Curry
Difference between char,nchar,varchar,nvarchar in SqlServer
 
13:40
Compleate diffrence between char,nchar,varchar,nvarchar in SqlServer
Views: 14350 Tech mohan
nchar, nvarchar, and ntext Microsoft SQL Server Tutorial - Unicode Data Types
 
03:57
What considerations do Unicode data types such as nvarchar and nchar have over ASCII ones? This Microsoft SQL Server tutorial provides an overview.
Views: 7479 Edward Kench
Oracle SQL Tutorial 31 - NCHAR Part 2
 
03:12
This video is going to be part 2 of NCHAR. That's because I have a bit more things to say about it before we move on to other data types. The first thing I wanted to mention is that if you declare an NCHAR(50), it is going to always be 50 characters. You do not need to use the CHAR or BYTE keyword in parenthesis to specify which you would like. We've said that NCHAR uses Unicode, but as we've learned in the last video, there are many character sets that use Unicode. Which character set is NCHAR going to use? That decision is based off of what your database's national character set is. So for every database you can declare a database character set and you can declare a national character set. The national character set is what is used for this data type. There are two options for the national character set, AL16UTF16, and UTF8. The default is AL16UTF16, which uses the utf-16 encoding. The Oracle docs has a lot of pros and cons for each one, but in general the defaults are default for a reason, so AL16UTF16 usually works fine. Now, a few videos ago I made a comment about the CHAR and NCHAR data types and how they might not be recommended. Why so? The reason is that CHAR is secretly just a VARCHAR2 that is padded to take up a full length. It does not save space nor improve performance in the database, so the chances are you are never going to want to use it. That being said, everything you've learned has not been a waste because a lot can be applied to the VARCHAR2 and NVARCHAR2 data types. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 3458 Caleb Curry
Dynamic sql table name variable
 
11:59
Text version of the video http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-table-name-variable.html Slides http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-table-name-variable_20.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss how to pass table name dynamically for stored procedure in sql server. This is one of the sql questions that is very commonly asked. I have a web page with a textbox. When I enter a table name in the textbox and when I click "Load Data" button, we want to retrieve data from that respective table and display it on the page. Copy the SQL Script to create the tables from my blog using the link below http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-table-name-variable.html Create the following stored procedure. Notice we are passing table name as a parameter to the stored prcoedure. In the body of the stored procedure we are concatenating strings to build our dynamic sql statement. In our previous videos we discussed that this open doors for SQL injection. Create procedure spDynamicTableName @TableName nvarchar(100) As Begin Declare @sql nvarchar(max) Set @sql = 'Select * from ' + @TableName Execute sp_executesql @sql End So the obvious question that comes to our mind is, why are we not creating parameterised sql statement instead. The answers is we can't. SQL Server does not allow table names and column names to be passed as parameters. Notice in the example below, we are creating a parameterised query with @TabName as a parameter. When we execute the following code, the procedure gets created successfully. Create procedure spDynamicTableName1 @TableName nvarchar(100) As Begin Declare @sql nvarchar(max) Set @sql = 'Select * from @TabName' Execute sp_executesql @sql, N'@TabName nvarchar(100)', @TabName = @TableName End But when we try to execute it we get an error - Must declare the table variable "@TabName" Execute spDynamicTableName1 N'Countries' Add a Web Page to the project that we have been working with in our previous video. Name it "DynamicTableName.aspx". Copy and paste the HTML from my blog using the link below http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-table-name-variable.html Copy and paste the code from my blog in the code-behind page http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-table-name-variable.html At this point, run the application and type the following text in the "Table Name" textbox and click "Load Data" button. Notice "SalesDB" database is dropped. Our application is prone to SQL injection as we have implemented dynamic sql in our stored procedure by concatenating strings instead of using parameters. Employees; Drop database SalesDB One way to prevent SQL injection in this case is by using SQL Server built-in function - QUOTENAME(). We will discuss QUOTENAME() function in detail in our next video. For now understand that by default, this function wraps that string that is passed to it in a pair of brackets. SELECT QUOTENAME('Employees') returns [Employees] Modify the stored procedure to use QUOTENAME() function as shown below. Alter procedure spDynamicTableName @TableName nvarchar(100) As Begin Declare @sql nvarchar(max) Set @sql = 'Select * from ' + QUOTENAME(@TableName) Execute sp_executesql @sql End At this point, type the following text in the "Table Name" textbox and click "Load Data" button. Notice you will see a message - Invalid object name 'Employees; Drop database SalesDB'. Also "SalesDB" database is not dropped. Employees; Drop database SalesDB The entire text in "Table Name" textbox is wrapped in a pair of brackets by the QUOTENAME function and is treated as table name. Since we do have a table with the specified name, we get the error - Invalid object name.
Views: 23790 kudvenkat
Oracle SQL Tutorial 27 - CHAR Part 1
 
03:52
This video and the next is going to cover CHAR and NCHAR. Be sure to check out the previous two videos as these are going to introduce you to some foundational knowledge required to understand these data types. CHAR is a fixed-length data type. What that means is that every value for a CHAR column is going to be the same length. You specify the length in parenthesis when you create the table. The thing you need to know though is that the default measurement is in bytes. That means if you specify the length to be CHAR(50), the length of each value will be 50 bytes, by default. If you want to change that to 50 characters, you can pass in the word CHAR as in CHAR(50 CHAR). This is known as a qualifier. Specifically, they are known as length semantics qualifiers (describes the meaning of the given length). Now, I said the default was bytes, but you can actually change the default to characters. In that situation, you can actually use the keyword BYTE to break away from the default. In general, it's best to put CHAR or BYTE even if it is the default. In general, it's best to keep things consistent. It's okay to have these measured in CHAR or BYTE, but it is recommended that every column is the same. It allows you to be more consistent as if some columns measure length in bytes and some measure length in characters, things can get confusing. If you do want to change the default, look up NLS_LENGTH_SEMANTICS as well as the potential problems it may bring. What values are allowed in parenthesis? That is what we are going to discuss in the next video. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 4314 Caleb Curry
011 E - Difference betwween CHAR, VARCHAR, VARCHAR2, NVARCHAR
 
06:01
The difference between different types of character datatypes CHAR VARCHAR VARCHAR2 NVARCHAR
Views: 3397 Rishabh Jain
DIFFERENCE BETWEEN CHAR AND VARCHAR2 DATATYPE IN ORACLE SQL
 
04:36
This video tutorial explains the difference between similar looking and used char datatype and varchar2 datatypes with an simple example. This video will answer the question such as how is the data internally stored differently for char and vacchar2 datatype. Also why is varchar2 much better option to be used than char data type is explained. If you want more such videos of exciting and amazing 'difference between' concepts, check out the links below : union and union all : https://youtu.be/n9FqQOd8liY replace and translate : https://youtu.be/HKYF77BGzOE procedure and function : https://youtu.be/q3LmOenL120 in and exists : https://youtu.be/REX4IjRYlFw rank and dense_rank : https://youtu.be/WGSX998hZ9M delete and truncate : https://youtu.be/u76wMm2byXo %type and %rowtype : https://youtu.be/MlLUFeZ_3eM
Views: 3042 Kishan Mashru
Why is varchar(max) getting truncated?
 
03:31
Have you ever tried to fit more than 8000 characters into a variable defined as varchar(max) (or nvarchar(max)) only to see your data get truncated? Today we explore why this happens and how to fix it, allowing you to create really long SQL strings. Related blog post with example code: https://bertwagner.com/2018/05/15/why-is-my-varcharmax-variable-getting-truncated/ Twitter: https://twitter.com/bertwagner Instagram: https://www.instagram.com/bertwagner/ https://www.instagram.com/sqlwithbert/ Facebook: https://www.facebook.com/SQLWithBert
Views: 365 Bert Wagner
how to auto increment varchar in sql server
 
08:26
how to auto increment varchar in sql server
Views: 13811 Kannababu Banna
Differences between Char and Varchar Datatypes |  MSSQL Training
 
16:36
** For Online Training Registration: https://goo.gl/r6kJbB ? Call: +91-8179191999 ? Visit Our Website for Classroom Training: https://nareshit.in/sql-server-training/ ? For Online Training: https://nareshit.com/course/sql-server-online-training/ #sqlserver #server #programming #course #Tutorials #Training #Videos -------------------------- ? About NareshIT: "Naresh IT is having 14+ years of experience in software training industry and the best Software Training Institute for online training, classroom training, weekend training, corporate training of Hadoop, Salesforce, AWS, DevOps, Spark, Data Science, Python, Tableau, RPA ,Java, C#.NET, ASP.NET, Oracle, Testing Tools, Silver light, Linq, SQL Server, Selenium, Android, iPhone, C Language, C++, PHP and Digital Marketing in USA,Hyderabad, Chennai and Vijayawada,Bangalore India which provides online training across all the locations -------------------------- ? Our Online Training Features: 1.Training with Real-Time Experts 2.Industry Specific Scenario’s 3.Flexible Timings 4.Soft Copy of Material 5. Share Videos of each and every session. -------------------------- Please write back to us at [email protected]/[email protected] or Call us at USA: +1404-232-9879 or India: +918179191999 ** Check The Below Links** ? For Course Reg: https://goo.gl/r6kJbB ? Subscribe to Our Channel: https://goo.gl/q9ozyG ? Circle us on G+: https://plus.google.com/NareshIT ? Like us on Facebook: https://www.facebook.com/NareshIT ? Follow us on Twitter: https://twitter.com/nareshitech ? Follow us on Linkedin: https://in.linkedin.com/company/naresh-i-technologies ? Follow us on Instagram: https://www.instagram.com/nareshitech/
Views: 16052 Naresh i Technologies
11. CHAR, VARCHAR and TEXT Data Type in SQL (Hindi)
 
03:32
Please Subscribe Channel Like, Share and Comment Visit : www.geekyshows.com
Views: 33038 Geeky Shows
Audit table changes in sql server
 
06:45
sql server 2008 ddl trigger audit sql server table changes tracking In this video we will discuss, how to audit table changes in SQL Server using a DDL trigger. Table to store the audit data Create table TableChanges ( DatabaseName nvarchar(250), TableName nvarchar(250), EventType nvarchar(250), LoginName nvarchar(250), SQLCommand nvarchar(2500), AuditDateTime datetime ) Go The following trigger audits all table changes in all databases on a SQL Server. CREATE TRIGGER tr_AuditTableChanges ON ALL SERVER FOR CREATE_TABLE, ALTER_TABLE, DROP_TABLE AS BEGIN DECLARE @EventData XML SELECT @EventData = EVENTDATA() INSERT INTO SampleDB.dbo.TableChanges (DatabaseName, TableName, EventType, LoginName, SQLCommand, AuditDateTime) VALUES ( @EventData.value('(/EVENT_INSTANCE/DatabaseName)[1]', 'varchar(250)'), @EventData.value('(/EVENT_INSTANCE/ObjectName)[1]', 'varchar(250)'), @EventData.value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(250)'), @EventData.value('(/EVENT_INSTANCE/LoginName)[1]', 'varchar(250)'), @EventData.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(2500)'), GetDate() ) END In the above example we are using EventData() function which returns event data in XML format. Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/audit-table-changes-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/audit-table-changes-in-sql-server_12.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html Full SQL Server Course https://www.youtube.com/playlist?list=PL4cyC4G0M1RQ_Rm52cQ4CcOJ_T_HXeMB4 All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 40032 kudvenkat
ORACLE 12c: How to extend VARCHAR2 datatypes to 32k
 
02:17
New feature 12c: Extend to VARCHAR2() 32k, instead of 4000 bytes. Let take advanced of VARCHAR2 over CLOB !!
Views: 5354 Database Tutorials
9. What are the Difference Between VARCHAR and VARCHAR2 in Oracle Database
 
02:13
What are the Difference Between VARCHAR and VARCHAR2 in Oracle Database
SQL Server Tutorial - Difference between char, nchar, varchar, nvarchar DataTypes in SqlServer
 
06:26
In this video you will learn aboutDifference between char, nchar, varchar, nvarchar DataTypes in SqlServer in Urdu and Hindi.
Views: 4347 IT4Solutions
SQL lesson 29, Difference between char and varchar2
 
06:13
The video will explain the difference between alphanumeric datatypes char and varchar2
Views: 5479 hammadshams
NTILE function in SQL Server
 
05:10
In this video we will discuss NTILE function in SQL Server NTILE function 1. Introduced in SQL Server 2005 2. ORDER BY Clause is required 3. PARTITION BY clause is optional 4. Distributes the rows into a specified number of groups 5. If the number of rows is not divisible by number of groups, you may have groups of two different sizes. 6. Larger groups come before smaller groups For example NTILE(2) of 10 rows divides the rows in 2 Groups (5 in each group) NTILE(3) of 10 rows divides the rows in 3 Groups (4 in first group, 3 in 2nd & 3rd group) Syntax : NTILE (Number_of_Groups) OVER (ORDER BY Col1, Col2, ...) SQL Script to create Employees table Create Table Employees ( Id int primary key, Name nvarchar(50), Gender nvarchar(10), Salary int ) Go Insert Into Employees Values (1, 'Mark', 'Male', 5000) Insert Into Employees Values (2, 'John', 'Male', 4500) Insert Into Employees Values (3, 'Pam', 'Female', 5500) Insert Into Employees Values (4, 'Sara', 'Female', 4000) Insert Into Employees Values (5, 'Todd', 'Male', 3500) Insert Into Employees Values (6, 'Mary', 'Female', 5000) Insert Into Employees Values (7, 'Ben', 'Male', 6500) Insert Into Employees Values (8, 'Jodi', 'Female', 7000) Insert Into Employees Values (9, 'Tom', 'Male', 5500) Insert Into Employees Values (10, 'Ron', 'Male', 5000) Go NTILE function without PARTITION BY clause : Divides the 10 rows into 3 groups. 4 rows in first group, 3 rows in the 2nd & 3rd group. SELECT Name, Gender, Salary, NTILE(3) OVER (ORDER BY Salary) AS [Ntile] FROM Employees What if the specified number of groups is GREATER THAN the number of rows NTILE function will try to create as many groups as possible with one row in each group. With 10 rows in the table, NTILE(11) will create 10 groups with 1 row in each group. SELECT Name, Gender, Salary, NTILE(11) OVER (ORDER BY Salary) AS [Ntile] FROM Employees NTILE function with PARTITION BY clause : When the data is partitioned, NTILE function creates the specified number of groups with in each partition. The following query partitions the data into 2 partitions (Male & Female). NTILE(3) creates 3 groups in each of the partitions. SELECT Name, Gender, Salary, NTILE(3) OVER (PARTITION BY GENDER ORDER BY Salary) AS [Ntile] FROM Employees Link for all dot net and sql server video tutorial playlists https://www.youtube.com/user/kudvenkat/playlists?sort=dd&view=1 Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2015/10/ntile-function-in-sql-server.html
Views: 37581 kudvenkat
Differences between Unicode and Non Unicode Datatypes | MSSQL Training
 
22:17
** For Online Training Registration: https://goo.gl/r6kJbB ? Call: +91-8179191999 ? Visit Our Website for Classroom Training: https://nareshit.in/sql-server-training/ ? For Online Training: https://nareshit.com/course/sql-server-online-training/ #sqlserver #server #programming #course #Tutorials #Training #Videos -------------------------- ? About NareshIT: "Naresh IT is having 14+ years of experience in software training industry and the best Software Training Institute for online training, classroom training, weekend training, corporate training of Hadoop, Salesforce, AWS, DevOps, Spark, Data Science, Python, Tableau, RPA ,Java, C#.NET, ASP.NET, Oracle, Testing Tools, Silver light, Linq, SQL Server, Selenium, Android, iPhone, C Language, C++, PHP and Digital Marketing in USA,Hyderabad, Chennai and Vijayawada,Bangalore India which provides online training across all the locations -------------------------- ? Our Online Training Features: 1.Training with Real-Time Experts 2.Industry Specific Scenario’s 3.Flexible Timings 4.Soft Copy of Material 5. Share Videos of each and every session. -------------------------- Please write back to us at [email protected]/[email protected] or Call us at USA: +1404-232-9879 or India: +918179191999 ** Check The Below Links** ? For Course Reg: https://goo.gl/r6kJbB ? Subscribe to Our Channel: https://goo.gl/q9ozyG ? Circle us on G+: https://plus.google.com/NareshIT ? Like us on Facebook: https://www.facebook.com/NareshIT ? Follow us on Twitter: https://twitter.com/nareshitech ? Follow us on Linkedin: https://in.linkedin.com/company/naresh-i-technologies ? Follow us on Instagram: https://www.instagram.com/nareshitech/
Views: 10983 Naresh i Technologies
Oracle SQL Tutorial 26 - UTF-8 and UTF-16
 
05:46
UTF-8 and UTF-16 are different encodings for the Unicode character set. Let's discuss UTF-8 first. UTF-8 is what is known as a variable-length character set. This means that the amount of storage a character takes up depends on what character it is. For example, if we store the character A, it will only take up one byte. In fact, ASCII is a subset of UTF-8. That means UTF-8 encoding can work with ASCII data. If you are new to computer storage, a byte is a very small amount of information. The smallest thing a computer can store is a bit. 1 or 0. On or off. There are 8 bits in a byte, 1024 bytes in a kilobyte, 1024 kilobytes in a megabyte, 1024 megabytes in a gigabyte, and 1024 gigabytes in a terabyte, and 1024 terabytes in a petabyte. Considering it is completely possible for a database to be multiple petabytes, you can understand that a byte is very small. If you store a non-English character, the size of UTF-8 will increase to 2, 3, or 4 bytes. If you think back to when we used the VARCHAR data type, we passed in 50 CHAR. The reason we throw in that CHAR is that the default for Oracle is 50 characters. Now you can understand why adding the CHAR might be important. If a character can take up multiple bytes, you cannot guarantee 50 characters. Now, on to UTF-16. UTF-16 is also a variable length encoding, but it differs in that It is either 2 or 4 bytes. That means to store an A, it now takes two bytes rather than one. Even though a byte is so small, when you are storing billions of characters, an unnecessary byte really adds up to a lot of wasted storage. We can only represent so many characters with 2 bytes. When we run out of options, we move to four bytes to allow for other characters. Which do we use? It often depends on what platform you are on and also what languages you are working with. For example, if you are working with Asian language, UTF-16 stores each character in 2 bytes while UTF-8 stores each character in 3 bytes. So you could save space by using UTF-16. Additionally, UTF-16 works better when you are writing code in Java or something from Microsoft .NET because UTF-16, or a subset of it called UCS-2, is widely adopted. Other than that, UTF-8 will be the one you want. Now that we have built a pretty good foundation of character sets, we can now continue our discussion of data types. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 7295 Caleb Curry
4 Unicode and N character in SQL Server
 
12:01
with Arabic content by easy way to learn شرح بالعربي
Part 6   Transform rows into columns in sql server
 
08:53
Link for all dot net and sql server video tutorial playlists http://www.youtube.com/user/kudvenkat/playlists Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2014/06/part-6-transform-rows-into-columns-in.html This is another common sql server interview question. We will be using Countries table in this example. SQL to create the table Create Table Countries ( Country nvarchar(50), City nvarchar(50) ) GO Insert into Countries values ('USA','New York') Insert into Countries values ('USA','Houston') Insert into Countries values ('USA','Dallas') Insert into Countries values ('India','Hyderabad') Insert into Countries values ('India','Bangalore') Insert into Countries values ('India','New Delhi') Insert into Countries values ('UK','London') Insert into Countries values ('UK','Birmingham') Insert into Countries values ('UK','Manchester') Here is the interview question. Write a sql query to transpose rows to columns. Using PIVOT operator we can very easily transform rows to columns. Select Country, City1, City2, City3 From ( Select Country, City, 'City'+ cast(row_number() over(partition by Country order by Country) as varchar(10)) ColumnSequence from Countries ) Temp pivot ( max(City) for ColumnSequence in (City1, City2, City3) ) Piv
Views: 188588 kudvenkat
PL/SQL Tutorial: Differences Between PLS_INTEGER and BINARY_INTEGER
 
07:25
Differences Between PLS_INTEGER and BINARY_INTEGER SQL Tutorial SQL Tutorial for beginners PLSQL Tutorial PLSQL Tutorial for beginners PL/SQL Tutorial PL SQL Tutorial PL SQL Tutorial for beginners PL/SQL Tutorial for beginners Oracle SQL Tutorial
Views: 519 TechLake
CHAR vs VARCHAR
 
04:42
Views: 2493 Rocky Jagtiani
Over clause in SQL Server
 
09:13
over partition by in sql server 2008 sql server over clause partition partition by clause in sql server 2008 over partition by clause in sql In this video we will discuss the power and use of Over clause in SQL Server. The OVER clause combined with PARTITION BY is used to break up data into partitions. Syntax : function (...) OVER (PARTITION BY col1, Col2, ...) The specified function operates for each partition. For example : COUNT(Gender) OVER (PARTITION BY Gender) will partition the data by GENDER i.e there will 2 partitions (Male and Female) and then the COUNT() function is applied over each partition. Any of the following functions can be used. Please note this is not the complete list. COUNT(), AVG(), SUM(), MIN(), MAX(), ROW_NUMBER(), RANK(), DENSE_RANK() etc. Example : SQl Script to create Employees table Create Table Employees ( Id int primary key, Name nvarchar(50), Gender nvarchar(10), Salary int ) Go Insert Into Employees Values (1, 'Mark', 'Male', 5000) Insert Into Employees Values (2, 'John', 'Male', 4500) Insert Into Employees Values (3, 'Pam', 'Female', 5500) Insert Into Employees Values (4, 'Sara', 'Female', 4000) Insert Into Employees Values (5, 'Todd', 'Male', 3500) Insert Into Employees Values (6, 'Mary', 'Female', 5000) Insert Into Employees Values (7, 'Ben', 'Male', 6500) Insert Into Employees Values (8, 'Jodi', 'Female', 7000) Insert Into Employees Values (9, 'Tom', 'Male', 5500) Insert Into Employees Values (10, 'Ron', 'Male', 5000) Go Write a query to retrieve total count of employees by Gender. Also in the result we want Average, Minimum and Maximum salary by Gender. This can be very easily achieved using a simple GROUP BY query as show below. SELECT Gender, COUNT(*) AS GenderTotal, AVG(Salary) AS AvgSal, MIN(Salary) AS MinSal, MAX(Salary) AS MaxSal FROM Employees GROUP BY Gender What if we want non-aggregated values (like employee Name and Salary) in result set along with aggregated values You cannot include non-aggregated columns in the GROUP BY query. SELECT Name, Salary, Gender, COUNT(*) AS GenderTotal, AVG(Salary) AS AvgSal, MIN(Salary) AS MinSal, MAX(Salary) AS MaxSal FROM Employees GROUP BY Gender The above query will result in the following error : Column 'Employees.Name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause One way to achieve this is by including the aggregations in a subquery and then JOINING it with the main query as shown in the example below. Look at the amount of T-SQL code we have to write. SELECT Name, Salary, Employees.Gender, Genders.GenderTotals, Genders.AvgSal, Genders.MinSal, Genders.MaxSal FROM Employees INNER JOIN (SELECT Gender, COUNT(*) AS GenderTotals, AVG(Salary) AS AvgSal, MIN(Salary) AS MinSal, MAX(Salary) AS MaxSal FROM Employees GROUP BY Gender) AS Genders ON Genders.Gender = Employees.Gender Better way of doing this is by using the OVER clause combined with PARTITION BY SELECT Name, Salary, Gender, COUNT(Gender) OVER(PARTITION BY Gender) AS GenderTotals, AVG(Salary) OVER(PARTITION BY Gender) AS AvgSal, MIN(Salary) OVER(PARTITION BY Gender) AS MinSal, MAX(Salary) OVER(PARTITION BY Gender) AS MaxSal FROM Employees Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/over-clause-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/over-clause-in-sql-server_29.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 84784 kudvenkat
GROUPING ID function in SQL Server
 
12:38
grouping_id function in sql server 2008 grouping_id in sql server 2008 example sql server grouping level In this video we will discuss 1. GROUPING_ID function in SQL Server 2. Difference between GROUPING and GROUPING_ID functions 3. Use of GROUPING_ID function GROUPING_ID function computes the level of grouping. Difference between GROUPING and GROUPING_ID Syntax : GROUPING function is used on single column, where as the column list for GROUPING_ID function must match with GROUP BY column list. GROUPING(Col1) GROUPING_ID(Col1, Col2, Col3,...) GROUPING indicates whether the column in a GROUP BY list is aggregated or not. Grouping returns 1 for aggregated or 0 for not aggregated in the result set. GROUPING_ID() function concatenates all the GOUPING() functions, perform the binary to decimal conversion, and returns the equivalent integer. In short GROUPING_ID (A, B, C) = GROUPING(A) + GROUPING(B) + GROUPING(C) Let us understand this with an example. SELECT Continent, Country, City, SUM(SaleAmount) AS TotalSales, CAST(GROUPING(Continent) AS NVARCHAR(1)) + CAST(GROUPING(Country) AS NVARCHAR(1)) + CAST(GROUPING(City) AS NVARCHAR(1)) AS Groupings, GROUPING_ID(Continent, Country, City) AS GPID FROM Sales GROUP BY ROLLUP(Continent, Country, City) Row Number 1 : Since the data is not aggregated by any column GROUPING(Continent), GROUPING(Country) and GROUPING(City) return 0 and as result we get a binar string with all ZEROS (000). When this converted to decimal we get 0 which is displayed in GPID column. Row Number 7 : The data is aggregated for Country and City columns, so GROUPING(Country) and GROUPING(City) return 1 where as GROUPING(Continent) return 0. As result we get a binar string (011). When this converted to decimal we get 10 which is displayed in GPID column. Row Number 15 : This is the Grand total row. Notice in this row the data is aggregated by all the 3 columns. Hence all the 3 GROUPING functions return 1. So we get a binary string with all ONES (111). When this converted to decimal we get 7 which is displayed in GPID column. Use of GROUPING_ID function : GROUPING_ID function is very handy if you want to sort and filter by level of grouping. Sorting by level of grouping : SELECT Continent, Country, City, SUM(SaleAmount) AS TotalSales, GROUPING_ID(Continent, Country, City) AS GPID FROM Sales GROUP BY ROLLUP(Continent, Country, City) ORDER BY GPID Filter by level of grouping : The following query retrieves only continent level aggregated data SELECT Continent, Country, City, SUM(SaleAmount) AS TotalSales, GROUPING_ID(Continent, Country, City) AS GPID FROM Sales GROUP BY ROLLUP(Continent, Country, City) HAVING GROUPING_ID(Continent, Country, City) = 3 Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/groupingid-function-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/groupingid-function-in-sql-server_27.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 31097 kudvenkat
Part 4   Delete duplicate rows in sql
 
03:26
Link for all dot net and sql server video tutorial playlists http://www.youtube.com/user/kudvenkat/playlists Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2014/05/part-4-delete-duplicate-rows-in-sql.html In this video, we will discuss deleting all duplicate rows except one from a sql server table. SQL Script to create Employees table Create table Employees ( ID int, FirstName nvarchar(50), LastName nvarchar(50), Gender nvarchar(50), Salary int ) GO Insert into Employees values (1, 'Mark', 'Hastings', 'Male', 60000) Insert into Employees values (1, 'Mark', 'Hastings', 'Male', 60000) Insert into Employees values (1, 'Mark', 'Hastings', 'Male', 60000) Insert into Employees values (2, 'Mary', 'Lambeth', 'Female', 30000) Insert into Employees values (2, 'Mary', 'Lambeth', 'Female', 30000) Insert into Employees values (3, 'Ben', 'Hoskins', 'Male', 70000) Insert into Employees values (3, 'Ben', 'Hoskins', 'Male', 70000) Insert into Employees values (3, 'Ben', 'Hoskins', 'Male', 70000) The delete query should delete all duplicate rows except one. Here is the SQL query that does the job. PARTITION BY divides the query result set into partitions. WITH EmployeesCTE AS ( SELECT *, ROW_NUMBER()OVER(PARTITION BY ID ORDER BY ID) AS RowNumber FROM Employees ) DELETE FROM EmployeesCTE WHERE RowNumber ] 1
Views: 329355 kudvenkat
How to transpose column to row in sql
 
12:43
Hi friends today we will learn how to transpose column data into row of table. #transposecolumntorow Oracle database Unbeatable,Unbreakable Platform..
Views: 15819 Oracle World
Dynamic sql output parameter
 
05:25
Text version of the video http://csharp-video-tutorials.blogspot.com/2017/05/dynamic-sql-output-parameter.html Slides http://csharp-video-tutorials.blogspot.com/2017/05/dynamic-sql-output-parameter_8.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss, how to use output parameters with dynamic sql. Let us understand this with an example. SQL script to create Employees table Create table Employees ( ID int primary key identity, FirstName nvarchar(50), LastName nvarchar(50), Gender nvarchar(50), Salary int ) Go Insert into Employees values ('Mark', 'Hastings', 'Male', 60000) Insert into Employees values ('Steve', 'Pound', 'Male', 45000) Insert into Employees values ('Ben', 'Hoskins', 'Male', 70000) Insert into Employees values ('Philip', 'Hastings', 'Male', 45000) Insert into Employees values ('Mary', 'Lambeth', 'Female', 30000) Insert into Employees values ('Valarie', 'Vikings', 'Female', 35000) Insert into Employees values ('John', 'Stanmore', 'Male', 80000) Go We want to write a dynamic sql statement that returns total number of male of female employees. If the gender value is specified as "Male", then the query should return total male employees. Along the same lines, if the the value for gender is "Female", then we should get total number of female employees. The following dynamic sql, will give us what we want. In this case, the query returns total number of "Male" employees. If you want the total number of female employees, simply set @gender='Female'. Declare @sql nvarchar(max) Declare @gender nvarchar(10) Set @gender = 'Male' Set @sql = 'Select Count(*) from Employees where [email protected]' Execute sp_executesql @sql, N'@gender nvarchar(10)', @gender At the moment we are not using output parameters. If you want the count of employees to be returned using an OUTPUT parameter, then we have to do a slight modification to the query as shown below. The key here is to use the OUTPUT keyword in your dynamic sql. This is very similar to using OUTPUT parameters with a stored procedure. Declare @sql nvarchar(max) Declare @gender nvarchar(10) Declare @count int Set @gender = 'Male' Set @sql = 'Select @count = Count(*) from Employees where [email protected]' Execute sp_executesql @sql, N'@gender nvarchar(10), @count int OUTPUT', @gender, @count OUTPUT Select @count The OUTPUT parameter returns NULL, if you forget to use OUTPUT keyword.. The following query returns NULL, as we removed the OUTPUT keyword from @count parameter Declare @sql nvarchar(max) Declare @gender nvarchar(10) Declare @count int Set @gender = 'Male' Set @sql = 'Select @count = Count(*) from Employees where [email protected]' Execute sp_executesql @sql, N'@gender nvarchar(10), @count int OUTPUT', @gender, @count Select @count
Views: 15134 kudvenkat
Dynamic SQL in SQL Server
 
12:12
Text version of the video http://csharp-video-tutorials.blogspot.com/2017/03/dynamic-sql-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2017/03/dynamic-sql-in-sql-server_27.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss 1. What is Dynamic SQL 2. Simple example of using Dynamic SQL What is Dynamic SQL Dynamic SQL is a SQL built from strings at runtime. Simple example of using Dynamic SQL Here is the SQL Script to create Employees table and populate it with data Create table Employees ( ID int primary key identity, FirstName nvarchar(50), LastName nvarchar(50), Gender nvarchar(50), Salary int ) Go Insert into Employees values ('Mark', 'Hastings', 'Male', 60000) Insert into Employees values ('Steve', 'Pound', 'Male', 45000) Insert into Employees values ('Ben', 'Hoskins', 'Male', 70000) Insert into Employees values ('Philip', 'Hastings', 'Male', 45000) Insert into Employees values ('Mary', 'Lambeth', 'Female', 30000) Insert into Employees values ('Valarie', 'Vikings', 'Female', 35000) Insert into Employees values ('John', 'Stanmore', 'Male', 80000) Go One way to achieve this is by implementing a stored procedure as shown below that this page would call. Create Procedure spSearchEmployees @FirstName nvarchar(100), @LastName nvarchar(100), @Gender nvarchar(50), @Salary int As Begin Select * from Employees where (FirstName = @FirstName OR @FirstName IS NULL) AND (LastName = @LastName OR @LastName IS NULL) AND (Gender = @Gender OR @Gender IS NULL) AND (Salary = @Salary OR @Salary IS NULL) End Go The stored procedure in this case is not very complicated as we have only 4 search filters. What if there are 20 or more such filters. This stored procedure can get complex. To make things worse what if we want to specify conditions like AND, OR etc between these search filters. The stored procedure can get extremely large, complicated and difficult to maintain. One way to reduce the complexity is by using dynamic SQL as show below. Depending on for which search filters the user has provided the values on the "Search Page", we build the WHERE clause dynamically at runtime, which can reduce complexity. However, you might hear arguments that dynamic sql is bad both in-terms of security and performance. This is true if the dynamic sql is not properly implemented. From a security standpoint, it may open doors for SQL injection attack and from a performance standpoint, the cached query plans may not be reused. If properly implemented, we will not have these problems with dynamic sql. In our upcoming videos, we will discuss good and bad dynamic sql implementations. For now let's implement a simple example that makes use of dynamic sql. In the example below we are assuming the user has supplied values only for FirstName and LastName search fields. To execute the dynamicl sql we are using system stored procedure sp_executesql. sp_executesql takes two pre-defined parameters and any number of user-defined parameters. @statement - The is the first parameter which is mandatory, and contains the SQL statements to execute @params - This is the second parameter and is optional. This is used to declare parameters specified in @statement The rest of the parameters are the parameters that you declared in @params, and you pass them as you pass parameters to a stored procedure Declare @sql nvarchar(1000) Declare @params nvarchar(1000) Set @sql = 'Select * from Employees where [email protected] and [email protected]' Set @params = '@FirstName nvarchar(100), @LastName nvarchar(100)' Execute sp_executesql @sql, @params, @FirstName='Ben',@LastName='Hoskins' This is just the introduction to dynamic SQL. If a few things are unclear at the moment, don't worry. In our upcoming videos we will discuss the following 1. Implementing a real world "Search Web Page" with and without dynamic SQL 2. Performance and Security implications of dynamic sql. Along the way we will also discuss good and bad dynamic sql implementations. 3. Different options available for executing dynamic sql and their implications 4. Using dynamic sql in stored procedures and it's implications Once we discuss all the above, you will understand 1. The flexibility dynamic sql provides 2. Advantages and disadvantages of dynamic sql 3. When and when not to use dynamic sql
Views: 39377 kudvenkat
Part 1   How to find nth highest salary in sql
 
11:45
Link for all dot net and sql server video tutorial playlists http://www.youtube.com/user/kudvenkat/playlists Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2014/05/part-1-how-to-find-nth-highest-salary_17.html This is a very common SQL Server Interview Question. There are several ways of finding the nth highest salary. By the end of this video, we will be able to answer all the following questions as well. How to find nth highest salary in SQL Server using a Sub-Query How to find nth highest salary in SQL Server using a CTE How to find the 2nd, 3rd or 15th highest salary Let's use the following Employees table for this demo Use the following script to create Employees table Create table Employees ( ID int primary key identity, FirstName nvarchar(50), LastName nvarchar(50), Gender nvarchar(50), Salary int ) GO Insert into Employees values ('Ben', 'Hoskins', 'Male', 70000) Insert into Employees values ('Mark', 'Hastings', 'Male', 60000) Insert into Employees values ('Steve', 'Pound', 'Male', 45000) Insert into Employees values ('Ben', 'Hoskins', 'Male', 70000) Insert into Employees values ('Philip', 'Hastings', 'Male', 45000) Insert into Employees values ('Mary', 'Lambeth', 'Female', 30000) Insert into Employees values ('Valarie', 'Vikings', 'Female', 35000) Insert into Employees values ('John', 'Stanmore', 'Male', 80000) GO To find the highest salary it is straight forward. We can simply use the Max() function as shown below. Select Max(Salary) from Employees To get the second highest salary use a sub query along with Max() function as shown below. Select Max(Salary) from Employees where Salary [ (Select Max(Salary) from Employees) To find nth highest salary using Sub-Query SELECT TOP 1 SALARY FROM ( SELECT DISTINCT TOP N SALARY FROM EMPLOYEES ORDER BY SALARY DESC ) RESULT ORDER BY SALARY To find nth highest salary using CTE WITH RESULT AS ( SELECT SALARY, DENSE_RANK() OVER (ORDER BY SALARY DESC) AS DENSERANK FROM EMPLOYEES ) SELECT TOP 1 SALARY FROM RESULT WHERE DENSERANK = N To find 2nd highest salary we can use any of the above queries. Simple replace N with 2. Similarly, to find 3rd highest salary, simple replace N with 3. Please Note: On many of the websites, you may have seen that, the following query can be used to get the nth highest salary. The below query will only work if there are no duplicates. WITH RESULT AS ( SELECT SALARY, ROW_NUMBER() OVER (ORDER BY SALARY DESC) AS ROWNUMBER FROM EMPLOYEES ) SELECT SALARY FROM RESULT WHERE ROWNUMBER = 3
Views: 885311 kudvenkat
Lead and Lag functions in SQL Server 2012
 
07:27
In this video we will discuss about Lead and Lag functions. Lead and Lag functions Introduced in SQL Server 2012 Lead function is used to access subsequent row data along with current row data Lag function is used to access previous row data along with current row data ORDER BY clause is required PARTITION BY clause is optional Syntax LEAD(Column_Name, Offset, Default_Value) OVER (ORDER BY Col1, Col2, ...) LAG(Column_Name, Offset, Default_Value) OVER (ORDER BY Col1, Col2, ...) Offset - Number of rows to lead or lag. Default_Value - The default value to return if the number of rows to lead or lag goes beyond first row or last row in a table or partition. If default value is not specified NULL is returned. We will use the following Employees table for the examples in this video SQL Script to create the Employees table Create Table Employees ( Id int primary key, Name nvarchar(50), Gender nvarchar(10), Salary int ) Go Insert Into Employees Values (1, 'Mark', 'Male', 1000) Insert Into Employees Values (2, 'John', 'Male', 2000) Insert Into Employees Values (3, 'Pam', 'Female', 3000) Insert Into Employees Values (4, 'Sara', 'Female', 4000) Insert Into Employees Values (5, 'Todd', 'Male', 5000) Insert Into Employees Values (6, 'Mary', 'Female', 6000) Insert Into Employees Values (7, 'Ben', 'Male', 7000) Insert Into Employees Values (8, 'Jodi', 'Female', 8000) Insert Into Employees Values (9, 'Tom', 'Male', 9000) Insert Into Employees Values (10, 'Ron', 'Male', 9500) Go Lead and Lag functions example WITHOUT partitions : This example Leads 2 rows and Lags 1 row from the current row. When you are on the first row, LEAD(Salary, 2, -1) allows you to move forward 2 rows and retrieve the salary from the 3rd row. When you are on the first row, LAG(Salary, 1, -1) allows us to move backward 1 row. Since there no rows beyond row 1, Lag function in this case returns the default value -1. When you are on the last row, LEAD(Salary, 2, -1) allows you to move forward 2 rows. Since there no rows beyond the last row 1, Lead function in this case returns the default value -1. When you are on the last row, LAG(Salary, 1, -1) allows us to move backward 1 row and retrieve the salary from the previous row. SELECT Name, Gender, Salary, LEAD(Salary, 2, -1) OVER (ORDER BY Salary) AS Lead_2, LAG(Salary, 1, -1) OVER (ORDER BY Salary) AS Lag_1 FROM Employees Lead and Lag functions example WITH partitions : Notice that in this example, Lead and Lag functions return default value if the number of rows to lead or lag goes beyond first row or last row in the partition. SELECT Name, Gender, Salary, LEAD(Salary, 2, -1) OVER (PARTITION By Gender ORDER BY Salary) AS Lead_2, LAG(Salary, 1, -1) OVER (PARTITION By Gender ORDER BY Salary) AS Lag_1 FROM Employees Text version of the video http://csharp-video-tutorials.blogspot.com/2015/10/lead-and-lag-functions-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2015/10/lead-and-lag-functions-in-sql-server_5.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 49317 kudvenkat
Every VARCHAR2(N) Declaration a Bug in PL/SQL!?
 
07:51
Every VARCHAR2(N) Declaration a Bug!? That's right. VARCHAR2 declarations mean that you have to provide an "N" or constraint on the size of the variable. If you have such declarations all over your code, that's a form of hard-coding and you are likely to get hammered by VALUE_ERROR exceptions. This video shows how to fix this problem. See the Practically Perfect PL/SQL YouTube channel for related videos. https://www.youtube.com/channel/UCpJpLMRm452kVcie3RpINPw ============================================ Copyright © 2015 Oracle and/or its affiliates. Oracle is a registered trademark of Oracle and/or its affiliates. All rights reserved. Other names may be registered trademarks of their respective owners. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the “Materials”). The Materials are provided “as is” without any warranty of any kind, either express or implied, including without limitation warranties or merchantability, fitness for a particular purpose, and non-infringement.
Char vs Varchar2 |Char vs Varchar2 in Oracle|Datatype in Oracle | Difference Between char & Varchar2
 
06:25
Char vs Varchar2 | Char vs Varchar2 in Oracle | Datatype in Oracle | Difference Between Char & Varchar2 ------------------------------------------------------------------------------------------------------ sql, varchar, oracle sql, char, varchar2, difference between char and varchar2, difference between char and varchar in oracle sql, char and varchar2, varchar and char, char datatye, varchar2 datatype, char vs varchar, char v/s varchar, char datatype in oracle, varchar2 datatype in oracle, char datatype example, varchar2 datatype example, oracle 12c extended data types,oracle data types with examples,char vs varchar performance oracle,oracle varchar2 vs varchar,difference between varchar and varchar2 in sql server,oracle 11g data types,varchar2 max size in oracle 12c,oracle table data types,oracle float data type,extended data types in oracle,oracle number datatype limit,char vs varchar performance oracle,varchar2 oracle,compare char and varchar2 in oracle,difference between varchar and varchar2 in sql server,varchar2 example,oracle 12c varchar vs varchar2,oracle varchar2 vs sql varchar,varchar2 oracle max length sql tutorials for beginners, sql expert, sql expert tutorials, database, oracle, table, online training,insert into oracle,oracle insert into multiple rows,create table oracle,oracle 12c alter table add identity column,oracle create table default value sysdate,collections in oracle pl sql with examples,Oracle 12c, database, oracle database (software), sql, sql developer, sql tutorials, how to create database using dbca, how to create database in oracle,oracle cloud, database 12c, dba genesis,database services, database, create, 11g, dba, db, beginner, Please Subscribe My Channel
SQL 12c  Tutorial 21 : SQL 12c Features APPROX_COUNT_DISTINCT
 
03:36
SQL 12c Tutorial 21 : SQL 12c Features APPROX_COUNT_DISTINCT for COUNT & DISTINCT Combination SQL 12c Tutorial for beginners Oracle SQL 12c Tutorial for beginners APPROX_COUNT_DISTINCT for COUNT and DISTINCT
Views: 719 TechLake
Table valued parameters in SQL Server
 
06:46
table valued parameters example send table variable to stored procedure pass table variable as parameter to stored procedure pass table variable to sql stored procedure In this video we will discuss table valued parameters in SQL Server. Table Valued Parameter is a new feature introduced in SQL SERVER 2008. Table Valued Parameter allows a table (i.e multiple rows of data) to be passed as a parameter to a stored procedure from T-SQL code or from an application. Prior to SQL SERVER 2008, it is not possible to pass a table variable as a parameter to a stored procedure. Let us understand how to pass multiple rows to a stored procedure using Table Valued Parameter with an example. We want to insert multiple rows into the following Employees table. SQL Script to create the Employees table Create Table Employees ( Id int primary key, Name nvarchar(50), Gender nvarchar(10) ) Go Step 1 : Create User-defined Table Type CREATE TYPE EmpTableType AS TABLE ( Id INT PRIMARY KEY, Name NVARCHAR(50), Gender NVARCHAR(10) ) Go Step 2 : Use the User-defined Table Type as a parameter in the stored procedure. Table valued parameters must be passed as read-only to stored procedures, functions etc. This means you cannot perform DML operations like INSERT, UPDATE or DELETE on a table-valued parameter in the body of a function, stored procedure etc. CREATE PROCEDURE spInsertEmployees @EmpTableType EmpTableType READONLY AS BEGIN INSERT INTO Employees SELECT * FROM @EmpTableType END Step 3 : Declare a table variable, insert the data and then pass the table variable as a parameter to the stored procedure. DECLARE @EmployeeTableType EmpTableType INSERT INTO @EmployeeTableType VALUES (1, 'Mark', 'Male') INSERT INTO @EmployeeTableType VALUES (2, 'Mary', 'Female') INSERT INTO @EmployeeTableType VALUES (3, 'John', 'Male') INSERT INTO @EmployeeTableType VALUES (4, 'Sara', 'Female') INSERT INTO @EmployeeTableType VALUES (5, 'Rob', 'Male') EXECUTE spInsertEmployees @EmployeeTableType That's it. Now select the data from Employees table and notice that all the rows of the table variable are inserted into the Employees table. In our next video, we will discuss how to pass table as a parameter to the stored procedure from an ADO.NET application Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/table-valued-parameters-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/table-valued-parameters-in-sql-server_17.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 62552 kudvenkat
Lesson 35 Cast and Convert Function in SQL in Hindi
 
13:10
In this video we will learn use of Cast and Convert function in SQL Here is the sql script that I have used in this video. create table tblemployee ( Id int primary key identity, EmployeeName nvarchar(50), JoinDate datetime ) insert into tblEmployee values('Mayur', '2018-11-17 08:59:44.173') insert into tblEmployee values('Ajay', '2017-02-06 15:30:09.134') insert into tblEmployee values('Sunil', '2018-12-17 08:56:47.000') insert into tblEmployee values('Meera', '2018-12-10 03:20:20.000') insert into tblEmployee values('Jaya', '2018-12-16 09:01:30.000') insert into tblEmployee values('Vinod', '2018-05-21 15:24:47.000') insert into tblEmployee values('Lalit', '2018-04-17 10:52:14.000') insert into tblEmployee values('Divya', '2017-10-12 08:56:47.000') insert into tblEmployee values('Sital', '2018-12-17 09:56:49.000') insert into tblEmployee values('Kavita', '2018-12-17 14:56:33.000') insert into tblEmployee values('Devid', '2018-12-16 15:02:40.000') insert into tblEmployee values('Darshil', '2017-02-06 15:03:45.000') insert into tblEmployee values('Ketu', '2018-05-21 15:03:47.000') insert into tblEmployee values('Shivam', '2018-05-21 16:04:43.000') insert into tblEmployee values('Reena', '2018-05-21 13:06:22.000') select convert(nvarchar, getdate(), 0) -- Dec 16 2018 10:54AM select convert(nvarchar(30), getdate(), 1) -- 12/16/18 select convert(nvarchar(30), getdate(), 2) --18.12.16 select convert(nvarchar(30), getdate(), 3) -- 16/12/18 select convert(nvarchar(30), getdate(), 4) -- 16.12.18 select convert(nvarchar(30), getdate(), 5) -- 16-12-18 select convert(nvarchar(30), getdate(), 6) -- 16 Dec 18 select convert(nvarchar(30), getdate(), 7) -- Dec 16, 18 select convert(nvarchar(30), getdate(), 8) -- 11:20:22 select convert(nvarchar(30), getdate(), 9) -- Dec 16 2018 11:20:22:250AM select convert(nvarchar(30), getdate(), 10) -- 12-16-18 select convert(nvarchar(30), getdate(), 20) -- 2018-12-16 11:58:08 select convert(nvarchar(30), '2018-12-05 10:48:02.440', 1) -- 12:07:03
Views: 134 Vijay Mulsaniya
Subqueries in sql   Part 59
 
14:34
In this video we will discuss about subqueries in sql server. Let us understand subqueris with an example. Please create the required tables and insert sample data using the script below. Create Table tblProducts ( [Id] int identity primary key, [Name] nvarchar(50), [Description] nvarchar(250) ) Create Table tblProductSales ( Id int primary key identity, ProductId int foreign key references tblProducts(Id), UnitPrice int, QuantitySold int ) Insert into tblProducts values ('TV', '52 inch black color LCD TV') Insert into tblProducts values ('Laptop', 'Very thin black color acer laptop') Insert into tblProducts values ('Desktop', 'HP high performance desktop') Insert into tblProductSales values(3, 450, 5) Insert into tblProductSales values(2, 250, 7) Insert into tblProductSales values(3, 450, 4) Insert into tblProductSales values(3, 450, 9) Write a query to retrieve products that are not at all sold? This can be very easily achieved using subquery as shown below. Select [Id], [Name], [Description] from tblProducts where Id not in (Select Distinct ProductId from tblProductSales) Most of the times subqueries can be very easily replaced with joins. The above query is rewritten using joins and produces the same results. Select tblProducts.[Id], [Name], [Description] from tblProducts left join tblProductSales on tblProducts.Id = tblProductSales.ProductId where tblProductSales.ProductId IS NULL In this example, we have seen how to use a subquery in the where clause. Let us now discuss about using a sub query in the SELECT clause. Write a query to retrieve the NAME and TOTALQUANTITY sold, using a subquery. Select [Name], (Select SUM(QuantitySold) from tblProductSales where ProductId = tblProducts.Id) as TotalQuantity from tblProducts order by Name Query with an equivalent join that produces the same result. Select [Name], SUM(QuantitySold) as TotalQuantity from tblProducts left join tblProductSales on tblProducts.Id = tblProductSales.ProductId group by [Name] order by Name From these examples, it should be very clear that, a subquery is simply a select statement, that returns a single value and can be nested inside a SELECT, UPDATE, INSERT, or DELETE statement. It is also possible to nest a subquery inside another subquery. According to MSDN, subqueries can be nested upto 32 levels. Subqueries are always encolsed in paranthesis and are also called as inner queries, and the query containing the subquery is called as outer query. The columns from a table that is present only inside a subquery, cannot be used in the SELECT list of the outer query. Next Video: What to choose for performance? Queries that involve a subquery or a join Text version of the video http://csharp-video-tutorials.blogspot.com/2013/01/subqueries-in-sql-part-59.html Slides http://csharp-video-tutorials.blogspot.com/2013/09/part-59-subqueries-in-sql-server.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 203241 kudvenkat
SQL script to insert into many to many table
 
14:52
Text Article http://csharp-video-tutorials.blogspot.com/2017/02/sql-script-to-insert-into-many-to-many.html Slides http://csharp-video-tutorials.blogspot.com/2017/02/sql-script-to-insert-into-many-to-many_6.html SQL Server Interview Questions and Answers text articles & slides http://csharp-video-tutorials.blogspot.com/2014/05/sql-server-interview-questions-and.html SQL Server Interview Questions and Answers playlist https://www.youtube.com/playlist?list=PL6n9fhu94yhXcztdLO7i6mdyaegC8CJwR All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss how to insert data into a table that has many-to-many relationship Create table Students ( Id int primary key identity, StudentName nvarchar(50) ) Go Create table Courses ( Id int primary key identity, CourseName nvarchar(50) ) Go Create table StudentCourses ( StudentId int not null foreign key references Students(Id), CourseId int not null foreign key references Courses(Id) ) Go Students - Id column is identity column Courses - Id column is identity column StudentCourses - StudentId and CourseId columns are foreign keys referencing Id column in Students and Courses tables As you can see, StudentCourses is a bridge table that has many to many relationship with Students and Courses tables. This means a given student can be enrolled into many courses and a given course can have many students enrolled. Below is the question asked in an interview for SQL Server Developer role. Write a SQL script to insert data into StudentCourses table. Here are the rules that your script should follow. 1. There will be 2 inputs for the script Student Name - The name of the student who wants to enroll into a course Course Name - The name of the course the student wants to enroll into 2. If the student is already in the Students table, then use that existing Student Id. If the student is not already in the Students table, then a row for that student must be inserted into the Students table, and use that new student id. 3. Along the same lines, if the course is already in the Courses table, then use that existing Course Id. If the course is not already in the Courses table, then a row for that course must be inserted into the Courses table, and use that new course id. 4. There should be no duplicate student course enrollments, i.e a given student must not be enrolled in the same course twice. For example, Tom must not be enrolled in C# course twice. Answer : To avoid duplicate student course enrollments create a composite primary key on StudentId and CourseId columns in StudentCourses table. With this composite primary key in place, if someone tries to enroll the same student in the same course again we get violation of primary key constraint error. Alter table StudentCourses Add Constraint PK_StudentCourses Primary Key Clustered (CourseId, StudentId) Here is the SQL script that inserts data into the 3 tables as expected Declare @StudentName nvarchar(50) = 'Sam' Declare @CourseName nvarchar(50) = 'SQL Server' Declare @StudentId int Declare @CourseId int -- If the student already exists, use the existing student ID Select @StudentId = Id from Students where StudentName = @StudentName -- If the course already exists, use the existing course ID Select @CourseId = Id from Courses where CourseName = @CourseName -- If the student does not exist in the Students table If (@StudentId is null) Begin -- Insert the student Insert into Students values(@StudentName) -- Get the Id of the student Select @StudentId = SCOPE_IDENTITY() End -- If the course does not exist in the Courses table If (@CourseId is null) Begin -- Insert the course Insert into Courses values(@CourseName) -- Get the Id of the course Select @CourseId = SCOPE_IDENTITY() End -- Insert StudentId & CourseId in StudentCourses table Insert into StudentCourses values(@StudentId, @CourseId) If required, we can very easily convert this into a stored procedure as shown below. Create procedure spInsertIntoStudentCourses @StudentName nvarchar(50), @CourseName nvarchar(50) as Begin Declare @StudentId int Declare @CourseId int Select @StudentId = Id from Students where StudentName = @StudentName Select @CourseId = Id from Courses where CourseName = @CourseName If (@StudentId is null) Begin Insert into Students values(@StudentName) Select @StudentId = SCOPE_IDENTITY() End If (@CourseId is null) Begin Insert into Courses values(@CourseName) Select @CourseId = SCOPE_IDENTITY() End Insert into StudentCourses values(@StudentId, @CourseId) End Use the following statement to execute the stored procedure Execute spInsertIntoStudentCourses 'Tom','C#'
Views: 80858 kudvenkat
Dynamic SQL in Stored Procedure
 
09:32
In this video we will discuss, using dynamic sql in a stored procedure and it's implications from sql injection perspective. We will discuss performance implications of using dynamic sql in a stored procedure in a later video. Text version of the video http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-in-stored-procedure.html Slides http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-in-stored-procedure_11.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists Consider the following stored procedure "spSearchEmployees". We implemented this procedure in Part 139 of SQL Server tutorial. This stored procedure does not have any dynamic sql in it. It is all static sql and is immune to sql injection. Create Procedure spSearchEmployees @FirstName nvarchar(100) = NULL, @LastName nvarchar(100) = NULL, @Gender nvarchar(50) = NULL, @Salary int = NULL As Begin Select * from Employees where (FirstName = @FirstName OR @FirstName IS NULL) AND (LastName = @LastName OR @LastName IS NULL) AND (Gender = @Gender OR @Gender IS NULL) AND (Salary = @Salary OR @Salary IS NULL) End Go Whether you are creating your dynamic sql queries in a client application like ASP.NET web application or in a stored procedure, you should never ever concatenate user input values. Instead you should be using parameters. Notice in the following example, we are creating dynamic sql queries by concatenating parameter values, instead of using parameterized queries. This stored procedure is prone to SQL injection. Let's prove this by creating a "Search Page" that calls this procedure. Create Procedure spSearchEmployeesBadDynamicSQL @FirstName nvarchar(100) = NULL, @LastName nvarchar(100) = NULL, @Gender nvarchar(50) = NULL, @Salary int = NULL As Begin Declare @sql nvarchar(max) Set @sql = 'Select * from Employees where 1 = 1' if(@FirstName is not null) Set @sql = @sql + ' and FirstName=''' + @FirstName + '''' if(@LastName is not null) Set @sql = @sql + ' and LastName=''' + @LastName + '''' if(@Gender is not null) Set @sql = @sql + ' and Gender=''' + @Gender + '''' if(@Salary is not null) Set @sql = @sql + ' and Salary=''' + @Salary + '''' Execute sp_executesql @sql End Go Add a Web Page to the project that we have been working with in our previous video. Name it "DynamicSQLInStoredProcedure.aspx". Copy and paste the HTML and code available on my blog at the following link http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-in-stored-procedure.html At this point, run the application and type the following text in the "Firsname" text and click "Search" button. Notice "SalesDB" database is dropped. Our application is prone to SQL injection as we have implemented dynamic sql in our stored procedure by concatenating strings instead of using parameters. ' Drop database SalesDB -- In the following stored procedure we have implemented dynamic sql by using parameters, so this is not prone to sql injecttion. This is an example for good dynamic sql implementation. Create Procedure spSearchEmployeesGoodDynamicSQL @FirstName nvarchar(100) = NULL, @LastName nvarchar(100) = NULL, @Gender nvarchar(50) = NULL, @Salary int = NULL As Begin Declare @sql nvarchar(max) Declare @sqlParams nvarchar(max) Set @sql = 'Select * from Employees where 1 = 1' if(@FirstName is not null) Set @sql = @sql + ' and [email protected]' if(@LastName is not null) Set @sql = @sql + ' and [email protected]' if(@Gender is not null) Set @sql = @sql + ' and [email protected]' if(@Salary is not null) Set @sql = @sql + ' and [email protected]' Execute sp_executesql @sql, N'@FN nvarchar(50), @LN nvarchar(50), @Gen nvarchar(50), @sal int', @[email protected], @[email protected], @[email protected], @[email protected] End Go On the code-behind page, use stored procedure spSearchEmployeesGoodDynamicSQL instead of spSearchEmployeesBadDynamicSQL. We do not have to change any other code. At this point run the application one more time and type the following text in the "Firstname" textbox and click the "Search" button. ' Drop database SalesDB -- Notice "SalesDB" database is not dropped, So in this case our application is not succeptible to SQL injection attack. Summary : Whether you are creating dynamic sql in a client application (like a web application) or in a stored procedure always use parameters instead of concatnating strings. Using parameters to create dynamic sql statements prevents sql injection.
Views: 31042 kudvenkat
SQL Server except operator
 
05:14
sql except example sql except operator example sql server except example sql server except order by sql server except clause SQL Server except operator In this video we will discuss SQL Server except operator with examples. EXCEPT operator returns unique rows from the left query that aren’t in the right query’s results. Introduced in SQL Server 2005 The number and the order of the columns must be the same in all queries The data types must be same or compatible This is similar to minus operator in oracle Let us understand this with an example. SQL Script to create the tables Create Table TableA ( Id int primary key, Name nvarchar(50), Gender nvarchar(10) ) Go Insert into TableA values (1, 'Mark', 'Male') Insert into TableA values (2, 'Mary', 'Female') Insert into TableA values (3, 'Steve', 'Male') Insert into TableA values (4, 'John', 'Male') Insert into TableA values (5, 'Sara', 'Female') Go Create Table TableB ( Id int primary key, Name nvarchar(50), Gender nvarchar(10) ) Go Insert into TableB values (4, 'John', 'Male') Insert into TableB values (5, 'Sara', 'Female') Insert into TableB values (6, 'Pam', 'Female') Insert into TableB values (7, 'Rebeka', 'Female') Insert into TableB values (8, 'Jordan', 'Male') Go Notice that the following query returns the unique rows from the left query that aren’t in the right query’s results. Select Id, Name, Gender From TableA Except Select Id, Name, Gender From TableB To retrieve all of the rows from Table B that does not exist in Table A, reverse the two queries as shown below. Select Id, Name, Gender From TableB Except Select Id, Name, Gender From TableA You can also use Except operator on a single table. SQL script to create tblEmployees table Create table tblEmployees ( Id int identity primary key, Name nvarchar(100), Gender nvarchar(10), Salary int ) Go Insert into tblEmployees values ('Mark', 'Male', 52000) Insert into tblEmployees values ('Mary', 'Female', 55000) Insert into tblEmployees values ('Steve', 'Male', 45000) Insert into tblEmployees values ('John', 'Male', 40000) Insert into tblEmployees values ('Sara', 'Female', 48000) Insert into tblEmployees values ('Pam', 'Female', 60000) Insert into tblEmployees values ('Tom', 'Male', 58000) Insert into tblEmployees values ('George', 'Male', 65000) Insert into tblEmployees values ('Tina', 'Female', 67000) Insert into tblEmployees values ('Ben', 'Male', 80000) Go Except operator on a single table Select Id, Name, Gender, Salary From tblEmployees Where Salary ]= 50000 Except Select Id, Name, Gender, Salary From tblEmployees Where Salary ]= 60000 Order By clause should be used only once after the right query Select Id, Name, Gender, Salary From tblEmployees Where Salary ]= 50000 Except Select Id, Name, Gender, Salary From tblEmployees Where Salary ]= 60000 order By Name Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/sql-server-except-operator.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/adsbygoogle-window.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 39829 kudvenkat
Sql date interview questions
 
10:59
In this video we will discuss the common date related sql interview questions and answers. If you are comfortable with the SQL Date functions, then you should be able to easily answer most of these questions. Text version of the video https://csharp-video-tutorials.blogspot.com/2018/11/sql-date-interview-questions.html Slides https://csharp-video-tutorials.blogspot.com/2018/11/sql-date-interview-questions-slides.html SQL Server Interview Questions and Answers https://www.youtube.com/playlist?list=PL6n9fhu94yhXcztdLO7i6mdyaegC8CJwR SQL Server Interview Questions and Answers - Text Articles & Slides http://csharp-video-tutorials.blogspot.com/2014/05/sql-server-interview-questions-and.html Angular, JavaScript, jQuery, Dot Net & SQL Playlists https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd It is also useful to understand SQL CAST & CONVERT functions. We discussed DATE, CAST & CONVERT functions in Parts 25 to 28 in our SQL Server Tutorial. After watching this video you should be able to answer any sql date interview questions similar to the following. Write a SQL query to get 1. All people who are born on a given date (For example, 9th October 2017) 2. All people who are born between 2 given dates (For example, all people born between Nov 1, 2017 and Dec 31, 2017) 3. All people who are born on the same day and month excluding the year (For example, 9th October) 4. All people who are born yesterday, today, tomorrow, last seven days, and next 7 days 5. All people whose birth year is the same (For example, all people born in 2017, 2018 etc.) Once you are comfortable answering these questions you can extend the concepts you have learned to answer similar questions like the following. 1. Orders placed between 2 given dates or on a given day, month, year etc. 2. Customers gained or lost. 3. Employees joined or left etc.
Views: 5762 kudvenkat
الدرس السادس والثلاثون : أنواع البيانات Data Types
 
07:56
تحديد انواع البيانات في قواعد البيانات مع شرح لبعضها مثل ال Char,varchar,BOOL,TEXT,float, double ,INT و شرح لبعض الخصائص التي تأتي معها مثل long,tiny , small,meduime رابط تحميل الدرس http://abdullaheid.org/download/mysql101/36.Data-Types.zip
Views: 14732 Abdullah Almehmadi
Prevent sql injection with dynamic sql
 
10:28
Text version of the video http://csharp-video-tutorials.blogspot.com/2017/04/prevent-sql-injection-with-dynamic-sql.html Slides http://csharp-video-tutorials.blogspot.com/2017/04/prevent-sql-injection-with-dynamic-sql_5.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss, how to prevent SQL injection when using dynamic SQL. In Part 140, we have implemented "Search Page" using dynamic SQL. Since we have used parameters to build our dynamic SQL statements, it is not prone to SQL Injection attack. This is an example of good dynamic SQL implementation. I have seen lot of software developers, not just the beginners but even experienced developers, buidling their dynamic sql queries by concatenating strings instead of using parameters without realizing that they are opening the doors for SQL Injection. Please check my blog at the following link for code used in the demo. http://csharp-video-tutorials.blogspot.com/2017/04/prevent-sql-injection-with-dynamic-sql.html Since we are concatenating the user input values to build the dynamic sql statement, the end user can very easily inject sql. Imagine, what happens for example, if the user enters the following in the "Firstname" textbox. ' Drop database SalesDB -- With the above SQL injected into the "Firstname" textbox, if you click the "Search" button, the following is the query which is sent to SQL server. This will drop the SalesDB. Select * from Employees where 1 = 1 AND FirstName = '' Drop database SalesDB --' On the other hand, if you use parameters to build your dynamic SQL statements, SQL Injection is not an issue. The following input in the "Firstname" textbox, would not drop the SalesDB database. ' Drop database SalesDB -- The text the user has provided in the "Firstname" textbox is treated as the value for @Firstname parameter. The following is the query that is generated and executed. exec sp_executesql N'Select * from Employees where 1 = 1 AND [email protected]',N'@FirstName nvarchar(26)',@FirstName=N''' Drop database SalesDB --' We don't have this problem of sql injection if we are using stored procedures. "SearchPageWithoutDynamicSQL.aspx" is using the stored procedure "spSearchEmployees" instead of dynamic SQL. The same input in the "Firstname" texbox on this page, would generate the following. Notice, whatever text we typed in the "Firstname" textbox is treated as the value for @FirstName parameter. exec spSearchEmployees @FirstName=N''' Drop database SalesDB --' An important point to keep in mind here is that if you have dynamic SQL in your stored procedure, and you are concatenating strings in that stored procedure to build your dynamic sql statements instead of using parameters, it is still prone to SQL injection. If this is not clear at the moment don't worry, we will discuss an example of this in out next video. So in summary, while dynamic sql provides great flexibility when implementing complicated logic with lot of permutations and combinations, if not properly implemented it may open doors for sql injection. Always use parameters to build dynamic sql statements, instead of concatenating user input values. Another benefit of using parameters to build dynamic sql statements is that it allows cached query plans to be reused, which greatly increases the performance. We will discuss an example of this in our upcoming videos.
Views: 19112 kudvenkat
13. Example of All Data Type in SQL (Hindi)
 
09:16
Please Subscribe Channel Like, Share and Comment Visit : www.geekyshows.com
Views: 26818 Geeky Shows