From 4f1a4caa06e318ba2a3677949ed10341921cc30b Mon Sep 17 00:00:00 2001 From: Gopi Date: Sat, 22 Oct 2016 23:02:45 +0530 Subject: [PATCH 01/28] Updated with some SQL question --- SQL_interview_questions.txt | 46 +++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 2e95e6f..8104684 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -6,7 +6,8 @@ 2) What is the difference between JOIN and UNION? - SQL JOIN allows us to “lookup” records on other table based on the given conditions between two tables. - - UNION operation allows us to add 2 similar data sets to create resulting data set that contains all the data from the source data sets. Union does not require any condition for joining. + - UNION operation allows us to add 2 similar data sets to create resulting data set that contains + all the data from the source data sets. Union does not require any condition for joining. 3) What is the difference between UNION and UNION ALL? - UNION operation returns only the unique records from the resulting data set @@ -18,7 +19,8 @@ 5) What is the difference among UNION, MINUS and INTERSECT? - UNION combines the results from 2 tables and eliminates duplicate records from the result set. - - MINUS operator when used between 2 tables, gives us all the rows from the first table except the rows which are present in the second table. + - MINUS operator when used between 2 tables, gives us all the rows from the first table except + the rows which are present in the second table. - INTERSECT operator returns us only the matching or common rows between 2 result sets. 6) How can we transpose a table using SQL (changing rows to column or vice-versa) ? @@ -47,7 +49,12 @@ 12) Describe the difference between truncate and delete Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. - Truncate will actually remove all the rows from a table and there will be no data in the table after we run the truncate command. + Truncate will actually remove all the rows from a table and there will be no data in the table after + we run the truncate command. + Where clause can be use in Delete statement whereas we cannot use where clause in Truncate. + Truncate delete all the rows in the table which can't be revoked whereas Delete will remove rows based on where + conditions. + If there is no where condition in delete statement it will remove all the records in the table. 13) What is a view? A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. Views are most commonly used to join multiple tables together, or control access to any tables existing in background server processes. @@ -64,10 +71,9 @@ A PRIMARY KEY constraint is a unique identifier for a row within a database table. Every table should have a primary key constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to enforce entity integrity. 17) What is FOREIGN KEY? - A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity. - 16) What's the difference between a primary key and a unique key? +16) What's the difference between a primary key and a unique key? Both primary key and unique key enforces uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where are unique creates a non-clustered index by default. Another major difference is that, primary key doesn't allow NULLs, but unique key allows one NULL only. @@ -79,3 +85,33 @@ Stored procedures can encapsulate logic. You can change stored procedure code without affecting clients. Stored procedures provide better security to your data. +19) What is SQL? + •SQL stands for Structured Query Language. + •Basically SQL is like commands in simple English which provides you with ways to communicate with + relational databases like MS SQL Server, Oracle server and MySQL. + +20) What is the order of execution of group by, order by, where and having? + •The order of execution is where, group by, having and then order by. + +21) Difference between SQL and PL/SQL? + SQL is not a programming language but PL/SQL is the procedural language. PL/SQL is the enhanced form of SQL. + In PL/SQL, we can perform loop and conditional statements. PL/SQL was developed by Oracle + +22) What is CTE (Common Table Expression)? + CTE stands for Common Table Expression. CTE is like a temp table which will create in our current + working database. The major advantage of CTE is to do recursive programming. + +23) What is the difference between CTE and Temptable? + CTE will create in current working database and temp table creates in temp DB. + You cannot able to do index on CTE table. You can do index in temp table. + Temp table is preferable than CTE. + CTE will not be available in consecutive query but temp table will be available in entire connection. + +24) Can we use user defined functions in select statements? + yes, we can use user defined functions in select statements. + +25) can we use DML statements in user defined functions? + No, we can't able to use DML statements in functions. + +26) What is Composite key? + Composite key is the combination of two or more column in a table which make each row in a table unique. From 96970d7b023663d9223f52b9b48be5884ed1fbc2 Mon Sep 17 00:00:00 2001 From: Gopi Date: Sun, 23 Oct 2016 11:40:57 +0530 Subject: [PATCH 02/28] Update SQL_interview_questions.txt --- SQL_interview_questions.txt | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 8104684..0a85b6f 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -39,13 +39,21 @@ ======================= SQL server questions ========================================== 9) What are DMVs? - - Dynamic Management Views (DMVs), are functions that give you information on the state of the server. DMVs, for the most part, are used to monitor the health of a server. They really just give you a snapshot of what’s going on inside the server. They let you monitor the health of a server instance, troubleshoot major problems and tune the server to increase performance + Dynamic Management Views (DMVs), are functions that give you information on the state of the server. DMVs, + for the most part, are used to monitor the health of a server. They really just give you a snapshot of what’s + going on inside the server. + They let you monitor the health of a server instance, troubleshoot major problems and tune the server to increase performance 10) Define a temp table - In a nutshell, a temp table is a temporary storage structure. What does that mean? Basically, you can use a temp table to store data temporarily so you can manipulate and change it before it reaches its destination format. + In a nutshell, a temp table is a temporary storage structure. What does that mean? Basically, + you can use a temp table to store data temporarily so you can manipulate and change it + before it reaches its destination format. 11) What’s the difference between a local temp table and a global temp table? - Local tables are accessible to a current user connected to the server. These tables disappear once the user has disconnected from the server. Global temp tables, on the other hand, are available to all users regardless of the connection. These tables stay active until all the global connections are closed. + Local tables are accessible to a current user connected to the server. These tables disappear once the + user has disconnected from the server. Global temp tables, on the other hand, are available to all users regardless + of the connection. + These tables stay active until all the global connections are closed. 12) Describe the difference between truncate and delete Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. @@ -57,21 +65,32 @@ If there is no where condition in delete statement it will remove all the records in the table. 13) What is a view? - A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. Views are most commonly used to join multiple tables together, or control access to any tables existing in background server processes. + A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. + Views are most commonly used to join multiple tables together, or control access to any tables existing + in background server processes. 14) What is the default port number for SQL Server? - - Basically, when SQL Server is enabled the server instant listens to the TCP port 1433. It can be changed from the Network Utility TCP/IP properties. + Basically, when SQL Server is enabled the server instant listens to the TCP port 1433. + It can be changed from the Network Utility TCP/IP properties. 15) What are the difference between clustered and a non-clustered index? - A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages. + A clustered index is a special type of index that reorders the way records in the table are physically stored. + Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages. - A non clustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk. The leaf node of a non clustered index does not consist of the data pages. Instead, the leaf nodes contain index rows. + A non clustered index is a special type of index in which the logical order of the index does not match the physical + stored order of the rows on disk. The leaf node of a non clustered index does not consist of the data pages. + Instead, the leaf nodes contain index rows. 16) What is PRIMARY KEY? - A PRIMARY KEY constraint is a unique identifier for a row within a database table. Every table should have a primary key constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to enforce entity integrity. + A PRIMARY KEY constraint is a unique identifier for a row within a database table. + Every table should have a primary key constraint to uniquely identify each row and only one primary key + constraint can be created for each table. The primary key constraints are used to enforce entity integrity. 17) What is FOREIGN KEY? - A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity. + A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. + A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would + leave rows with foreign key values when there are no primary keys with that value. + The foreign key constraints are used to enforce referential integrity. 16) What's the difference between a primary key and a unique key? Both primary key and unique key enforces uniqueness of the column on which they are defined. From b2964bcfd31dd16b72c3a170482558701885a407 Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 27 Nov 2016 19:44:29 +0530 Subject: [PATCH 03/28] added interview questions --- SQL_interview_questions.txt | 100 +++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 29 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 0a85b6f..0e5f1dd 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -39,21 +39,13 @@ ======================= SQL server questions ========================================== 9) What are DMVs? - - Dynamic Management Views (DMVs), are functions that give you information on the state of the server. DMVs, - for the most part, are used to monitor the health of a server. They really just give you a snapshot of what’s - going on inside the server. - They let you monitor the health of a server instance, troubleshoot major problems and tune the server to increase performance + Dynamic Management Views (DMVs), are functions that give you information on the state of the server. DMVs, for the most part, are used to monitor the health of a server. They really just give you a snapshot of what’s going on inside the server. They let you monitor the health of a server instance, troubleshoot major problems and tune the server to increase performance 10) Define a temp table - In a nutshell, a temp table is a temporary storage structure. What does that mean? Basically, - you can use a temp table to store data temporarily so you can manipulate and change it - before it reaches its destination format. + In a nutshell, a temp table is a temporary storage structure. What does that mean? Basically, you can use a temp table to store data temporarily so you can manipulate and change it before it reaches its destination format. 11) What’s the difference between a local temp table and a global temp table? - Local tables are accessible to a current user connected to the server. These tables disappear once the - user has disconnected from the server. Global temp tables, on the other hand, are available to all users regardless - of the connection. - These tables stay active until all the global connections are closed. + Local tables are accessible to a current user connected to the server. These tables disappear once the user has disconnected from the server. Global temp tables, on the other hand, are available to all users regardless of the connection. These tables stay active until all the global connections are closed. 12) Describe the difference between truncate and delete Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. @@ -65,32 +57,21 @@ If there is no where condition in delete statement it will remove all the records in the table. 13) What is a view? - A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. - Views are most commonly used to join multiple tables together, or control access to any tables existing - in background server processes. + A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. Views are most commonly used to join multiple tables together, or control access to any tables existing in background server processes. 14) What is the default port number for SQL Server? - - Basically, when SQL Server is enabled the server instant listens to the TCP port 1433. - It can be changed from the Network Utility TCP/IP properties. + Basically, when SQL Server is enabled the server instant listens to the TCP port 1433. It can be changed from the Network Utility TCP/IP properties. 15) What are the difference between clustered and a non-clustered index? - A clustered index is a special type of index that reorders the way records in the table are physically stored. - Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages. + A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages. - A non clustered index is a special type of index in which the logical order of the index does not match the physical - stored order of the rows on disk. The leaf node of a non clustered index does not consist of the data pages. - Instead, the leaf nodes contain index rows. + A non clustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk. The leaf node of a non clustered index does not consist of the data pages. Instead, the leaf nodes contain index rows. 16) What is PRIMARY KEY? - A PRIMARY KEY constraint is a unique identifier for a row within a database table. - Every table should have a primary key constraint to uniquely identify each row and only one primary key - constraint can be created for each table. The primary key constraints are used to enforce entity integrity. + A PRIMARY KEY constraint is a unique identifier for a row within a database table. Every table should have a primary key constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to enforce entity integrity. 17) What is FOREIGN KEY? - A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. - A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would - leave rows with foreign key values when there are no primary keys with that value. - The foreign key constraints are used to enforce referential integrity. + A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity. 16) What's the difference between a primary key and a unique key? Both primary key and unique key enforces uniqueness of the column on which they are defined. @@ -130,7 +111,68 @@ yes, we can use user defined functions in select statements. 25) can we use DML statements in user defined functions? - No, we can't able to use DML statements in functions. + No, we can't able to use DML statements in functions. We can only able to use select statement in a function. 26) What is Composite key? Composite key is the combination of two or more column in a table which make each row in a table unique. + +27) What are Triggers? + Triggers are the special stored procedure which executes automatically when insert, update, delete operation happens on the table. Triggers will reduce the db performance. + +28) Can we use a function in select statement? + yes, we can use function in select statement. We can write some complex queries to a function and refer it in where condition of a query which will improve the performance of your query. + +29)What is subquery? + subquery are the query within a query. + subquery executes first and then the outer query will executes. Based on the results of the subquery, outer query will perform. + ex: select empname from emp where locationid = (select locationid from location where location = 'Chennai') + +30) what are the disadvantages of subquery? + subquery reduces the performance of the query. It's always advisable to use joins instead of subquery. + +31) how to retrieve data based on a pattern match? + we can use 'like' to do pattern match + ex: select empname from employee where empname like 'bal%' + + Since percentage symbol is at-last, it will retrieve data starts with bal. If I pust '%' at first position, the query will retrieve data ends with bal. + Similarly we can also use the percentile '%' symbol at middle. + +32) difference between Truncate and Drop? + Truncate will remove all the records in a table and the table structure remains unchanged. + Drop will remove the table from the database. both the commands can't be roll-back. + +33) how to add a column to an existing table? + alter table emp add address varchar(100); + +34) how to delete a column to an existing table? + alter table emp drop column address + +35) what is default constraint? + default constraint are set at column level. this constraint will set the default value to the record if we haven't provided the data for that particular column on which the default constraint sets. + + ex: alter table emp alter column salary set default '10000' + + the above query will set the default emp salary to 10000. when you adding a new employee to table the default value to salary column in 10000. + +36) what is check constraint? + Check constraint used to check for some condition before the value get inserted into an column. + the check constraint works like a "IF" condition in programming. It limits the data range. + + ex: alter table emp add constraint chk check age<40; + + the above query let you to insert data in age column only when the age is lesser than 40. + +37) what is not null constraint? + if the column is set to not null constraint, then the column must have value it won't accept null value. + +38) what is unique constraint? + unique constraint make sure that each row of a column must have a unique value that make the record unique. + +39) how to declare a variable in sql server/ + declare @my_var varchar(10) = null + + in the above line, I've declared a variable called @my_var which is of type varchar which has 10 byte of memory and I set default to null. + +40) what are the mode of authentications in SQL server? + Windows authentications and SQL server authentications. + \ No newline at end of file From 42a30ec2a7f8e59329b03679f6800d6821593c8a Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 4 Dec 2016 22:06:11 +0530 Subject: [PATCH 04/28] questions based joins, wildcards patterns --- SQL_interview_questions.txt | 91 +++++++++++++++++++++++++++++++++++-- 1 file changed, 87 insertions(+), 4 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 0e5f1dd..a474df2 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -1,5 +1,4 @@ 1) What is the difference between inner and outer join? Explain with example. - - Inner join returns rows when there is at least one match in both tables - Outer join will return matching rows from both tables as well as any unmatched rows from one or both the tables @@ -25,6 +24,7 @@ 6) How can we transpose a table using SQL (changing rows to column or vice-versa) ? - The usual way to do it in SQL is to use CASE statement or DECODE statement + - also we can use pivot to do so. 7) How to generate row number in SQL Without ROWNUM - SELECT name, sal, (SELECT COUNT(*) FROM EMPLOYEE i WHERE o.name >= i.name) row_num @@ -120,7 +120,7 @@ Triggers are the special stored procedure which executes automatically when insert, update, delete operation happens on the table. Triggers will reduce the db performance. 28) Can we use a function in select statement? - yes, we can use function in select statement. We can write some complex queries to a function and refer it in where condition of a query which will improve the performance of your query. + yes, we can use function in select statement. We can write some complex queries to a function and refer it in where condition of a query which will improve the performance of your query. which also reduces the duplication of te query 29)What is subquery? subquery are the query within a query. @@ -159,7 +159,6 @@ the check constraint works like a "IF" condition in programming. It limits the data range. ex: alter table emp add constraint chk check age<40; - the above query let you to insert data in age column only when the age is lesser than 40. 37) what is not null constraint? @@ -175,4 +174,88 @@ 40) what are the mode of authentications in SQL server? Windows authentications and SQL server authentications. - \ No newline at end of file + +41) What is database lock? + database locks are applied on table's data level we can using a transaction to avoid such a situation of accessing same data by two different users. + +42) What are te types of database lock? + there are two types of database lock. + 1) Shared lock + shared lock is also called as read lock. when two users concurrently access the same record only one user can able to edit the record + and other user can only able to read (which is in read only mode) the data. + 2) Exclusive lock + when execusive lock is applied on a data. that can't be edit or view by any other transactions. + +43) What is transaction and when to use it? + * A transaction is a set of statements. transaction passess when all the statements are passed otherwise fails totally. + * if any statement in the trasactions get failed, then previously DB affected changes are get rollback to it's original position. + * a trasaction can use when two different works are going to heppen one by one. consider an example, transferring mony from one account to another account. + ex: + begin try + begin transaction + --A set of statements + commit + end try + begin catch + rollback + end catch + +44) what is acid property? + the most important interview question is ACID property in transaction. + Atomic: the transaction should pass or fail in whole. it won't be in half done + Consistency: + Isolation: one transaction should not interact / disturb another transation. + Durability: once after the successfull transaction data in all the table should be related. once after fail, the tables data should revert ack to it's original states. + +45) what is nested trasaction? + a separate transaction present inside another transaction. + ex: + begin try + -- outer transaction + begin transaction + --A set of statements + -- transaction inside another trasaction + begin transaction + -- set of statements + commit transaction + commit + end try + begin catch + rollback + end catch + +46) what is COALESCE function? + Coalesce function return the first not null value of the column referred in select query. + +47) how to use case in query? + we can use case statement in select query. + ex: select case when column_name is null then 'A' else 'B' end as some_query from sampletable + +48) can we use case in DML statements? + No, we can't able to use CASE statement in DML queries + +49) what is natural join? + natural join will not comes under common join types. It's works based on the common column present within the two tables with same datatype. + +50) what is cross join? + when joining two table if we havnt provided any where condition, then it will return the product of the two tables. Cross join is also called as cartesian join. + ex: we we join two tables called table a and table b. table a has 3 column and table b has 120 column. Then the cross join will provide output like 3 * 120 = 360 rows. + +51) what is difference between left outer join and right outer join? + * left outer join and right outer join are the types of outer join. + * left join will return all the record from the left table and only the matched record from the right table. likewise, right outer join return all record from right table and only the matched record from the left table. + +52) will the truncate and drop table command can revoke? + No, this operations can't be revoked. + +53) What is full outer join? + all the records from both the right and left table gets returned even if there is no match record. + +54) what are the different types of pattern matches? + * we have seen pattern match with like + * we can use '_' (underscore) for single character search. + ex: select name from sites where sitename like '_uvi%' + * we can use charlist to search multiple + ex: select city from states where statename like '[cba]%' + +55) \ No newline at end of file From 8737a9a05e0e9fcf23b078e3b202d8389eecf55d Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 10 Dec 2016 22:33:20 +0530 Subject: [PATCH 05/28] Stored procedure questions --- SQL_interview_questions.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index a474df2..1453421 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -255,7 +255,20 @@ * we have seen pattern match with like * we can use '_' (underscore) for single character search. ex: select name from sites where sitename like '_uvi%' - * we can use charlist to search multiple + * we can use charlist to search multiple datas. ex: select city from states where statename like '[cba]%' -55) \ No newline at end of file +55) What is Sequel?, What is SQL?, and what is the difference/ + * SQL and Sequel are same. + * Sequel is the earlier name of SQL. But, still we can see many people's are using this name. + * Sequel name changed to SQL by removing the vowels. Because, an aircraft company registered sequel as trademark. + +56) How a Sql query gets executes? + when a sql query is given to server, the parser receives it then parse the query and then te parsed query will send to optimizer to create a execution plan. + based on the execution plan, the SQL query gets executes and the result set will produce. + + NOTE: the main work of the parser is to check the SQL query syntatically with the SQL grammer rules and also allocate space in memory to execute the query. + +57) What is stored procedures? + * stored procedure is a batch of scripts which gets executes at a time. + * \ No newline at end of file From 86134b5e7e0f7b71f477668ed29c1020a6f044a7 Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 10 Dec 2016 22:52:59 +0530 Subject: [PATCH 06/28] Stored procedure questions --- SQL_interview_questions.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 1453421..4a499da 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -271,4 +271,15 @@ 57) What is stored procedures? * stored procedure is a batch of scripts which gets executes at a time. - * \ No newline at end of file + * stored procedure accepts input parameters. + * SP increases the performance. Because once the stored procedure was successfully compiled an execution plan also get prepared. each time when we call the SP, it won't compile again until and unless the SP gets changed. + +58) What are the types of Stored Procedures? + * there are four types of stored procedure + * system defined strored procedure + * user defined stored procedure + * extended stored procedure + * CLR stored Procedure +59) what is system stored procedure and user defined stored procedure? +60) what is extended stored procedure? +61) what is CLR stored Procedure? From 409050ea7a49f33200427d8d6bc1b5cb242e00d9 Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 11 Dec 2016 21:44:40 +0530 Subject: [PATCH 07/28] Stored procedure questions --- SQL_interview_questions.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 4a499da..1aa7ee2 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -280,6 +280,21 @@ * user defined stored procedure * extended stored procedure * CLR stored Procedure + 59) what is system stored procedure and user defined stored procedure? + * System stored procedures are predefined which has come from SQL server itself. Below are the sample system stored procedures. + for ex: sp_helptext, sp_depends, sp_executesql, sp_rename + * User defined stored procedure are written by users for their own purpose. below is the basic syntax. + create proc or procedure sp_sampleprocedure + -- input parameters if any ex: @my_var int + as + begin + -- your query. + end + 60) what is extended stored procedure? + + 61) what is CLR stored Procedure? + * The CLR stored procedures are CLR supported. the procedures can be written in any of the .net supported programming languages like C#, VB, F#. + * The method should be public static. if the return type is void then default return to 0. \ No newline at end of file From 8a935fdfa28e1694481b76aab758574927b36ffe Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 11 Dec 2016 22:08:01 +0530 Subject: [PATCH 08/28] Stored procedure questions --- SQL_interview_questions.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 1aa7ee2..784044d 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -273,6 +273,8 @@ * stored procedure is a batch of scripts which gets executes at a time. * stored procedure accepts input parameters. * SP increases the performance. Because once the stored procedure was successfully compiled an execution plan also get prepared. each time when we call the SP, it won't compile again until and unless the SP gets changed. + * SP nesting level is limited to 32 + * but we can use as many number of stored procedure as you want. 58) What are the types of Stored Procedures? * there are four types of stored procedure @@ -293,8 +295,21 @@ end 60) what is extended stored procedure? + * extended stored procedures are starts with xp_ as prefix. It provide an interface with external programs. this extended stored procedures are stored under master database. ex: program from C program. + NOTE: Microsoft likely to remove the extended stored procedure. instead they let us to use CLR stored procedure. 61) what is CLR stored Procedure? * The CLR stored procedures are CLR supported. the procedures can be written in any of the .net supported programming languages like C#, VB, F#. - * The method should be public static. if the return type is void then default return to 0. \ No newline at end of file + * The method should be public static. if the return type is void then default return to 0. + +62) What is recursive stored procedure? + * a stored procedure gets called again again untill the desired output obtain. Default recursive is deactivated + +63) can we return null values from SP? + * we cant able to return null values from SP instead we can return 0. + +64) can we use output variable in SP? + * yes, we can use. + +65) \ No newline at end of file From 1e689b778adf71b5d3296a5689376dec88921965 Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 11 Dec 2016 22:13:54 +0530 Subject: [PATCH 09/28] Stored procedure questions --- SQL_interview_questions.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 784044d..3afb6a5 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -312,4 +312,8 @@ 64) can we use output variable in SP? * yes, we can use. -65) \ No newline at end of file +65) how to handle error in SP? + we can use try catch block to handle exceptions. + +66) can we use transaction in SP? + yes we can use transaction in SP's. it's advisable to use transaction minimally. try to avoid complex transaction which will affect the performance. \ No newline at end of file From f40e89c8b0d283620f9e563d0bc682a2db2d826a Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 11 Dec 2016 22:19:12 +0530 Subject: [PATCH 10/28] Stored procedure questions --- SQL_interview_questions.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 3afb6a5..0c2d131 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -275,6 +275,7 @@ * SP increases the performance. Because once the stored procedure was successfully compiled an execution plan also get prepared. each time when we call the SP, it won't compile again until and unless the SP gets changed. * SP nesting level is limited to 32 * but we can use as many number of stored procedure as you want. + * SP will prevent the SQL injection attack. 58) What are the types of Stored Procedures? * there are four types of stored procedure @@ -313,7 +314,10 @@ * yes, we can use. 65) how to handle error in SP? - we can use try catch block to handle exceptions. + we can use try catch block to handle exceptions. SQL server itself stored error in a table called sys.messages 66) can we use transaction in SP? - yes we can use transaction in SP's. it's advisable to use transaction minimally. try to avoid complex transaction which will affect the performance. \ No newline at end of file + yes we can use transaction in SP's. it's advisable to use transaction minimally. try to avoid complex transaction which will affect the performance. It's good practive to use transaction within the try catch block. + +67) can a SP accept both input and output parameters? + * Sp accept input and output parameters. a max of 1024 values. \ No newline at end of file From 83b22a26c45ca704b7982fb9d19540512f701f8c Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 24 Dec 2016 20:02:40 +0530 Subject: [PATCH 11/28] Questions flow for video tutorials. from sql basics to expert. --- questionslistforvideotutorials.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 questionslistforvideotutorials.txt diff --git a/questionslistforvideotutorials.txt b/questionslistforvideotutorials.txt new file mode 100644 index 0000000..1655657 --- /dev/null +++ b/questionslistforvideotutorials.txt @@ -0,0 +1 @@ +video tutorials questions from basics to \ No newline at end of file From af5f1f77c2dcd678e8b5d993aef9afdb34df55e0 Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 24 Dec 2016 20:11:41 +0530 Subject: [PATCH 12/28] function questions --- SQL_interview_questions.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 0c2d131..cec338d 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -3,7 +3,6 @@ - Outer join will return matching rows from both tables as well as any unmatched rows from one or both the tables 2) What is the difference between JOIN and UNION? - - SQL JOIN allows us to “lookup” records on other table based on the given conditions between two tables. - UNION operation allows us to add 2 similar data sets to create resulting data set that contains all the data from the source data sets. Union does not require any condition for joining. @@ -203,7 +202,7 @@ 44) what is acid property? the most important interview question is ACID property in transaction. Atomic: the transaction should pass or fail in whole. it won't be in half done - Consistency: + Consistency: transaction should create a valid state of data or the returns to its previous state of data Isolation: one transaction should not interact / disturb another transation. Durability: once after the successfull transaction data in all the table should be related. once after fail, the tables data should revert ack to it's original states. @@ -320,4 +319,7 @@ yes we can use transaction in SP's. it's advisable to use transaction minimally. try to avoid complex transaction which will affect the performance. It's good practive to use transaction within the try catch block. 67) can a SP accept both input and output parameters? - * Sp accept input and output parameters. a max of 1024 values. \ No newline at end of file + * Sp accept input and output parameters. a max of 1024 values. + +68) What is a Function? + \ No newline at end of file From 135d299155a1a6a85c05e36994be0b2457201805 Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 24 Dec 2016 20:15:51 +0530 Subject: [PATCH 13/28] questions for video tutorials --- questionslistforvideotutorials.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/questionslistforvideotutorials.txt b/questionslistforvideotutorials.txt index 1655657..c642ffa 100644 --- a/questionslistforvideotutorials.txt +++ b/questionslistforvideotutorials.txt @@ -1 +1,6 @@ -video tutorials questions from basics to \ No newline at end of file +video tutorials questions from basics to expert + +1. SQL/ SEQUEL +2. SQL/ mysql/ mssql +3. sql/ plsql/ tsql +4. \ No newline at end of file From 8fe3a31266bcc25cc3a8bfac3e9dce15ad76ff99 Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 24 Dec 2016 20:17:07 +0530 Subject: [PATCH 14/28] questions for video tutorials --- questionslistforvideotutorials.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/questionslistforvideotutorials.txt b/questionslistforvideotutorials.txt index c642ffa..3ba240e 100644 --- a/questionslistforvideotutorials.txt +++ b/questionslistforvideotutorials.txt @@ -3,4 +3,11 @@ video tutorials questions from basics to expert 1. SQL/ SEQUEL 2. SQL/ mysql/ mssql 3. sql/ plsql/ tsql -4. \ No newline at end of file +4. parser/ execution plan +5. joins +6. temp table. CTE +7. index +8. view +9. SP +10. function +11. trigger \ No newline at end of file From 60c622fe098998d19efa72191947a8570ef60ae3 Mon Sep 17 00:00:00 2001 From: gopi Date: Sat, 24 Dec 2016 20:17:34 +0530 Subject: [PATCH 15/28] questions for video tutorials --- questionslistforvideotutorials.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/questionslistforvideotutorials.txt b/questionslistforvideotutorials.txt index 3ba240e..47f6792 100644 --- a/questionslistforvideotutorials.txt +++ b/questionslistforvideotutorials.txt @@ -10,4 +10,5 @@ video tutorials questions from basics to expert 8. view 9. SP 10. function -11. trigger \ No newline at end of file +11. trigger +12. transaction \ No newline at end of file From b9e7ce64c1bb235d826447640fb5d10d502e5481 Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 15 Jan 2017 21:31:21 +0530 Subject: [PATCH 16/28] updated with some basic questions --- SQL_interview_questions.txt | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index cec338d..973e0c9 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -321,5 +321,23 @@ 67) can a SP accept both input and output parameters? * Sp accept input and output parameters. a max of 1024 values. -68) What is a Function? - \ No newline at end of file +68) What is Database? + * It’s a collection of data + * Organized in a format such that it’ll be easy to manipulate + * SQL is used to communicate with Database + * DBMS – an application which is used to maintain the data in database. + Ex: Microsoft SQL server, Oracle, Sysbase + +69) difference between dbms vs rdbms + DBMS + * DBMS – Database Management System + * Data’s are stored in file system (may be in table) but there is no relationship between files or tables. + * Data stored in hierarchical form or a tree form + * There is no ACID property – security, transaction + RDBMS + * RDBMS – Relational Database Management System + * Data’s are stored in table form + * All the table have relationship between them + * Relationships are created by means of keys + * We have ACID property + * We have Normalization From e6e6f48ed1b18632dd1403371dd8721b8964a838 Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 29 Jan 2017 21:04:44 +0530 Subject: [PATCH 17/28] updated with some beginners question --- SQL_interview_questions.txt | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 973e0c9..63eef8e 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -341,3 +341,40 @@ * Relationships are created by means of keys * We have ACID property * We have Normalization + +70) what is the difference between Aggregate functions and Arthimatic Operation + * when doing calculations using predefined functions is called Aggregate function. + * when doing calculations using arthimatic operators is called Arthimatic operation. + +71) whtat is the differemce between PLSQL vs TSQL + +72) What is the difference between MySQL vs Sql vs SQL Server + * SQL is not a server. It tells procedures to write queries which communicate with RDBMS. + + MYSQL + * MySQL is the RDBMS which is open source and interoperability. + * MySQL is customizable – existing functionality. + * Mostly using in Web development. + * Very friendly to PHP + SQL Server + * MS SQL Server is the Microsoft product which is paid version + * It’s also a RDBMS. Supports only Windows. Platform dependent, also has command prompt interaction. + * Very friendly with Microsoft technologies. + * Has workstation component and server component + +73) What is the difference between SQL vs Sequel + * Sequel is the historic name of the SQL + * Registered trademark of a America based Aerospace company + * Removed vowels and made it as SQL + * SQL is not the server. + * SQL is the Structured Query language which let you to speak with RDBMS. + +74) What is SQL? + * It’s not a server. SQL is a scripting language to speak with RDBMS. + * SQL called Structured Query Language + * SQL gives you procedures to write queries which let you to communicate with RDBMS. + * RDBMS like Oracle, MS SQL Server, IBM, Sybase use SQL + * Common functionality like Select, Insert, Update, Delete, Create, Drop etc. + + + From aa14b04e2197d8b2b0e18e4abf742c0a5c706ada Mon Sep 17 00:00:00 2001 From: gopi Date: Sun, 29 Jan 2017 21:05:26 +0530 Subject: [PATCH 18/28] video tutorials topic list --- questionslistforvideotutorials.txt | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/questionslistforvideotutorials.txt b/questionslistforvideotutorials.txt index 47f6792..35072d3 100644 --- a/questionslistforvideotutorials.txt +++ b/questionslistforvideotutorials.txt @@ -1,14 +1,20 @@ video tutorials questions from basics to expert -1. SQL/ SEQUEL -2. SQL/ mysql/ mssql -3. sql/ plsql/ tsql -4. parser/ execution plan -5. joins -6. temp table. CTE -7. index -8. view -9. SP -10. function -11. trigger -12. transaction \ No newline at end of file + SQL/ SEQUEL + database + dbms vs rdbms + SQL/ mysql/ mssql + sql/ plsql/ tsql + parser/ execution plan + aggregate vs arthimatic + Error Handling + Shared architecture + ACID, Normalizations + joins + temp table. CTE + index + view + SP + function + trigger + transaction \ No newline at end of file From 454caa626a68df8f4cacd4bec0576f3f670b4abd Mon Sep 17 00:00:00 2001 From: gopi Date: Thu, 16 Feb 2017 13:17:27 +0530 Subject: [PATCH 19/28] Added some basic questions --- SQL_interview_questions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 63eef8e..4002a6a 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -375,6 +375,6 @@ * SQL gives you procedures to write queries which let you to communicate with RDBMS. * RDBMS like Oracle, MS SQL Server, IBM, Sybase use SQL * Common functionality like Select, Insert, Update, Delete, Create, Drop etc. - - +75) What is parser and execution plan? +76) what is query optimizer? \ No newline at end of file From 40ecea9c648d6279186df94e88dead6438b45acb Mon Sep 17 00:00:00 2001 From: gopi Date: Thu, 16 Feb 2017 13:25:49 +0530 Subject: [PATCH 20/28] Added some basic questions --- SQL_interview_questions.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 4002a6a..72aeaf8 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -347,6 +347,13 @@ * when doing calculations using arthimatic operators is called Arthimatic operation. 71) whtat is the differemce between PLSQL vs TSQL + * PLSQL - Procedural Structured Query Language + * PLSQL was extended from SQL with many features like declaring variable, SP, function, Error handling. + * Which was developed by Oracle. + * TSQL – Transact Structured Query Language + * This also extended from SQL as like PLSQL. + * Which was developed by Microsoft + 72) What is the difference between MySQL vs Sql vs SQL Server * SQL is not a server. It tells procedures to write queries which communicate with RDBMS. @@ -376,5 +383,7 @@ * RDBMS like Oracle, MS SQL Server, IBM, Sybase use SQL * Common functionality like Select, Insert, Update, Delete, Create, Drop etc. -75) What is parser and execution plan? -76) what is query optimizer? \ No newline at end of file +75) What is parser, Query Optimizer and execution plan? + When query to submitted to execute it wont get executes as given. + parser will check athe grammer and syntax. if the query is well formed then parse tree gets created and Query Optimizer will come into picture. Query Optimizer uses the parse tree generated by parser and decideS how to execute the query like which way is best which way can improve the performance of te CPU. + Finally, query optimizer gives execution plan to the storage engine which gets executed start away. \ No newline at end of file From 3ff5b3ec14695d39bc9f216566eb936d7e828b56 Mon Sep 17 00:00:00 2001 From: Gopi Date: Mon, 24 Apr 2017 22:27:27 +0530 Subject: [PATCH 21/28] new sql quiz file added --- SQL_Quiz.txt | 1 + SQL_interview_questions.txt | 244 +++++++++++++++++++----------------- 2 files changed, 129 insertions(+), 116 deletions(-) create mode 100644 SQL_Quiz.txt diff --git a/SQL_Quiz.txt b/SQL_Quiz.txt new file mode 100644 index 0000000..7442df2 --- /dev/null +++ b/SQL_Quiz.txt @@ -0,0 +1 @@ +SQL Quiz \ No newline at end of file diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 72aeaf8..559144c 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -1,50 +1,55 @@ -1) What is the difference between inner and outer join? Explain with example. - - Inner join returns rows when there is at least one match in both tables - - Outer join will return matching rows from both tables as well as any unmatched rows from one or both the tables - -2) What is the difference between JOIN and UNION? - - SQL JOIN allows us to “lookup” records on other table based on the given conditions between two tables. - - UNION operation allows us to add 2 similar data sets to create resulting data set that contains - all the data from the source data sets. Union does not require any condition for joining. - -3) What is the difference between UNION and UNION ALL? - - UNION operation returns only the unique records from the resulting data set - - UNION ALL will return all the rows, even if one or more rows are duplicated to each other. +1) WHAT IS THE DIFFERENCE BETWEEN INNER AND OUTER JOIN? EXPLAIN WITH EXAMPLE. + - INNER JOIN RETURNS ROWS WHEN THERE IS AT LEAST ONE MATCH IN BOTH TABLES + - OUTER JOIN WILL RETURN MATCHING ROWS FROM BOTH TABLES AS WELL AS ANY UNMATCHED ROWS FROM ONE OR BOTH THE TABLES + +2) WHAT IS THE DIFFERENCE BETWEEN JOIN AND UNION? + - SQL JOIN ALLOWS US TO “LOOKUP” RECORDS ON OTHER TABLE BASED ON THE GIVEN CONDITIONS BETWEEN TWO TABLES. + - UNION OPERATION ALLOWS US TO ADD 2 SIMILAR DATA SETS TO CREATE RESULTING DATA SET THAT CONTAINS + ALL THE DATA FROM THE SOURCE DATA SETS. UNION DOES NOT REQUIRE ANY CONDITION FOR JOINING. + +3) WHAT IS THE DIFFERENCE BETWEEN UNION AND UNION ALL? + - UNION OPERATION RETURNS ONLY THE UNIQUE RECORDS FROM THE RESULTING DATA SET + - UNION CAN'T WORK WITH TEXT DATATYPE + - UNION ALL WILL RETURN ALL THE ROWS, EVEN IF ONE OR MORE ROWS ARE DUPLICATED TO EACH OTHER. -4) What is the difference between WHERE clause and HAVING clause? - - WHERE clause can only be applied on a static non-aggregated column - - we will need to use HAVING for aggregated columns. - -5) What is the difference among UNION, MINUS and INTERSECT? - - UNION combines the results from 2 tables and eliminates duplicate records from the result set. - - MINUS operator when used between 2 tables, gives us all the rows from the first table except - the rows which are present in the second table. - - INTERSECT operator returns us only the matching or common rows between 2 result sets. - -6) How can we transpose a table using SQL (changing rows to column or vice-versa) ? - - The usual way to do it in SQL is to use CASE statement or DECODE statement - - also we can use pivot to do so. - -7) How to generate row number in SQL Without ROWNUM - - SELECT name, sal, (SELECT COUNT(*) FROM EMPLOYEE i WHERE o.name >= i.name) row_num - FROM EMPLOYEE o - order by row_num - -8) How to select first 5 records from a table? - sql server -> SELECT TOP 5 * FROM EMP; - Oracle -> SELECT * FROM EMP WHERE ROWNUM <= 5; - Generic -> SELECT name FROM EMPLOYEE o - WHERE (SELECT count(*) FROM EMPLOYEE i WHERE i.name < o.name) < 5 +4) WHAT IS THE DIFFERENCE BETWEEN WHERE CLAUSE AND HAVING CLAUSE? + - WHERE CLAUSE CAN ONLY BE APPLIED ON A STATIC NON-AGGREGATED COLUMN + - WE WILL NEED TO USE HAVING FOR AGGREGATED COLUMNS. + +5) WHAT IS THE DIFFERENCE AMONG UNION, MINUS AND INTERSECT? + - UNION COMBINES THE RESULTS FROM 2 TABLES AND ELIMINATES DUPLICATE RECORDS FROM THE RESULT SET. + - MINUS OPERATOR WHEN USED BETWEEN 2 TABLES, GIVES US ALL THE ROWS FROM THE FIRST TABLE EXCEPT + THE ROWS WHICH ARE PRESENT IN THE SECOND TABLE. + - INTERSECT OPERATOR RETURNS US ONLY THE MATCHING OR COMMON ROWS BETWEEN 2 RESULT SETS. + +6) HOW CAN WE TRANSPOSE A TABLE USING SQL (CHANGING ROWS TO COLUMN OR VICE-VERSA) ? + - THE USUAL WAY TO DO IT IN SQL IS TO USE CASE STATEMENT OR DECODE STATEMENT + - ALSO WE CAN USE PIVOT TO DO SO. + +7) HOW TO GENERATE ROW NUMBER IN SQL WITHOUT ROWNUM + - SELECT NAME, SAL, (SELECT COUNT(*) FROM EMPLOYEE I WHERE O.NAME >= I .NAME) ROW_NUM + FROM EMPLOYEE O + ORDER BY ROW_NUM + +8) HOW TO SELECT FIRST 5 RECORDS FROM A TABLE? + SQL SERVER -> SELECT TOP 5 * FROM EMP; + ORACLE -> SELECT * FROM EMP WHERE ROWNUM <= 5; + GENERIC -> SELECT NAME FROM EMPLOYEE O + WHERE (SELECT COUNT(*) FROM EMPLOYEE I WHERE I.NAME < O.NAME) < 5 ======================= SQL server questions ========================================== 9) What are DMVs? - - Dynamic Management Views (DMVs), are functions that give you information on the state of the server. DMVs, for the most part, are used to monitor the health of a server. They really just give you a snapshot of what’s going on inside the server. They let you monitor the health of a server instance, troubleshoot major problems and tune the server to increase performance + Dynamic Management Views (DMVs), are functions that give you information on the state of the server. DMVs, for the most part, + are used to monitor the health of a server. They really just give you a snapshot of what’s going on inside the server. + They let you monitor the health of a server instance, troubleshoot major problems and tune the server to increase performance -10) Define a temp table - In a nutshell, a temp table is a temporary storage structure. What does that mean? Basically, you can use a temp table to store data temporarily so you can manipulate and change it before it reaches its destination format. +10) DEFINE A TEMP TABLE + IN A NUTSHELL, A TEMP TABLE IS A TEMPORARY STORAGE STRUCTURE. WHAT DOES THAT MEAN? BASICALLY, YOU CAN USE A TEMP TABLE TO STORE DATA + TEMPORARILY SO YOU CAN MANIPULATE AND CHANGE IT BEFORE IT REACHES ITS DESTINATION FORMAT. -11) What’s the difference between a local temp table and a global temp table? - Local tables are accessible to a current user connected to the server. These tables disappear once the user has disconnected from the server. Global temp tables, on the other hand, are available to all users regardless of the connection. These tables stay active until all the global connections are closed. +11) WHAT’S THE DIFFERENCE BETWEEN A LOCAL TEMP TABLE AND A GLOBAL TEMP TABLE? + LOCAL TABLES ARE ACCESSIBLE TO A CURRENT USER CONNECTED TO THE SERVER. THESE TABLES DISAPPEAR ONCE THE USER HAS DISCONNECTED FROM THE SERVER. + GLOBAL TEMP TABLES, ON THE OTHER HAND, ARE AVAILABLE TO ALL USERS REGARDLESS OF THE CONNECTION. THESE TABLES STAY ACTIVE UNTIL ALL THE GLOBAL CONNECTIONS ARE CLOSED. 12) Describe the difference between truncate and delete Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. @@ -56,21 +61,28 @@ If there is no where condition in delete statement it will remove all the records in the table. 13) What is a view? - A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. Views are most commonly used to join multiple tables together, or control access to any tables existing in background server processes. + A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. Views are most commonly used to + join multiple tables together, or control access to any tables existing in background server processes. 14) What is the default port number for SQL Server? - Basically, when SQL Server is enabled the server instant listens to the TCP port 1433. It can be changed from the Network Utility TCP/IP properties. 15) What are the difference between clustered and a non-clustered index? - A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages. + A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can + have only one clustered index. The leaf nodes of a clustered index contain the data pages. - A non clustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk. The leaf node of a non clustered index does not consist of the data pages. Instead, the leaf nodes contain index rows. + A non clustered index is a special type of index in which the logical order of the index does not match the physical stored order + of the rows on disk. The leaf node of a non clustered index does not consist of the data pages. Instead, the leaf nodes contain index rows. 16) What is PRIMARY KEY? - A PRIMARY KEY constraint is a unique identifier for a row within a database table. Every table should have a primary key constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to enforce entity integrity. + A PRIMARY KEY constraint is a unique identifier for a row within a database table. Every table should have a primary key + constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to + enforce entity integrity. 17) What is FOREIGN KEY? - A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity. + A FOREIGN KEY constraint prevents any actions that would destroy links between tables with the corresponding data values. + A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values + when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity. 16) What's the difference between a primary key and a unique key? Both primary key and unique key enforces uniqueness of the column on which they are defined. @@ -84,17 +96,17 @@ Stored procedures can encapsulate logic. You can change stored procedure code without affecting clients. Stored procedures provide better security to your data. -19) What is SQL? - •SQL stands for Structured Query Language. - •Basically SQL is like commands in simple English which provides you with ways to communicate with - relational databases like MS SQL Server, Oracle server and MySQL. +19) WHAT IS SQL? + •SQL STANDS FOR STRUCTURED QUERY LANGUAGE. + •BASICALLY SQL IS LIKE COMMANDS IN SIMPLE ENGLISH WHICH PROVIDES YOU WITH WAYS TO COMMUNICATE WITH + RELATIONAL DATABASES LIKE MS SQL SERVER, ORACLE SERVER AND MYSQL. -20) What is the order of execution of group by, order by, where and having? - •The order of execution is where, group by, having and then order by. +20) WHAT IS THE ORDER OF EXECUTION OF GROUP BY, ORDER BY, WHERE AND HAVING? + •THE ORDER OF EXECUTION IS WHERE, GROUP BY, HAVING AND THEN ORDER BY. -21) Difference between SQL and PL/SQL? - SQL is not a programming language but PL/SQL is the procedural language. PL/SQL is the enhanced form of SQL. - In PL/SQL, we can perform loop and conditional statements. PL/SQL was developed by Oracle +21) DIFFERENCE BETWEEN SQL AND PL/SQL? + SQL IS NOT A PROGRAMMING LANGUAGE BUT PL/SQL IS THE PROCEDURAL LANGUAGE. PL/SQL IS THE ENHANCED FORM OF SQL. + IN PL/SQL, WE CAN PERFORM LOOP AND CONDITIONAL STATEMENTS. PL/SQL WAS DEVELOPED BY ORACLE 22) What is CTE (Common Table Expression)? CTE stands for Common Table Expression. CTE is like a temp table which will create in our current @@ -233,12 +245,12 @@ 48) can we use case in DML statements? No, we can't able to use CASE statement in DML queries -49) what is natural join? - natural join will not comes under common join types. It's works based on the common column present within the two tables with same datatype. +49) WHAT IS NATURAL JOIN? + NATURAL JOIN WILL NOT COMES UNDER COMMON JOIN TYPES. IT'S WORKS BASED ON THE COMMON COLUMN PRESENT WITHIN THE TWO TABLES WITH SAME DATATYPE. -50) what is cross join? - when joining two table if we havnt provided any where condition, then it will return the product of the two tables. Cross join is also called as cartesian join. - ex: we we join two tables called table a and table b. table a has 3 column and table b has 120 column. Then the cross join will provide output like 3 * 120 = 360 rows. +50) WHAT IS CROSS JOIN? + WHEN JOINING TWO TABLE IF WE HAVNT PROVIDED ANY WHERE CONDITION, THEN IT WILL RETURN THE PRODUCT OF THE TWO TABLES. CROSS JOIN IS ALSO CALLED AS CARTESIAN JOIN. + EX: WE WE JOIN TWO TABLES CALLED TABLE A AND TABLE B. TABLE A HAS 3 COLUMN AND TABLE B HAS 120 COLUMN. THEN THE CROSS JOIN WILL PROVIDE OUTPUT LIKE 3 * 120 = 360 ROWS. 51) what is difference between left outer join and right outer join? * left outer join and right outer join are the types of outer join. @@ -321,69 +333,69 @@ 67) can a SP accept both input and output parameters? * Sp accept input and output parameters. a max of 1024 values. -68) What is Database? - * It’s a collection of data - * Organized in a format such that it’ll be easy to manipulate - * SQL is used to communicate with Database - * DBMS – an application which is used to maintain the data in database. - Ex: Microsoft SQL server, Oracle, Sysbase +68) WHAT IS DATABASE? + * IT’S A COLLECTION OF DATA + * ORGANIZED IN A FORMAT SUCH THAT IT’LL BE EASY TO MANIPULATE + * SQL IS USED TO COMMUNICATE WITH DATABASE + * DBMS – AN APPLICATION WHICH IS USED TO MAINTAIN THE DATA IN DATABASE. + EX: MICROSOFT SQL SERVER, ORACLE, SYSBASE -69) difference between dbms vs rdbms +69) DIFFERENCE BETWEEN DBMS VS RDBMS DBMS - * DBMS – Database Management System - * Data’s are stored in file system (may be in table) but there is no relationship between files or tables. - * Data stored in hierarchical form or a tree form - * There is no ACID property – security, transaction + * DBMS – DATABASE MANAGEMENT SYSTEM + * DATA’S ARE STORED IN FILE SYSTEM (MAY BE IN TABLE) BUT THERE IS NO RELATIONSHIP BETWEEN FILES OR TABLES. + * DATA STORED IN HIERARCHICAL FORM OR A TREE FORM + * THERE IS NO ACID PROPERTY – SECURITY, TRANSACTION RDBMS - * RDBMS – Relational Database Management System - * Data’s are stored in table form - * All the table have relationship between them - * Relationships are created by means of keys - * We have ACID property - * We have Normalization + * RDBMS – RELATIONAL DATABASE MANAGEMENT SYSTEM + * DATA’S ARE STORED IN TABLE FORM + * ALL THE TABLE HAVE RELATIONSHIP BETWEEN THEM + * RELATIONSHIPS ARE CREATED BY MEANS OF KEYS + * WE HAVE ACID PROPERTY + * WE HAVE NORMALIZATION -70) what is the difference between Aggregate functions and Arthimatic Operation - * when doing calculations using predefined functions is called Aggregate function. - * when doing calculations using arthimatic operators is called Arthimatic operation. +70) WHAT IS THE DIFFERENCE BETWEEN AGGREGATE FUNCTIONS AND ARTHIMATIC OPERATION + * WHEN DOING CALCULATIONS USING PREDEFINED FUNCTIONS IS CALLED AGGREGATE FUNCTION. + * WHEN DOING CALCULATIONS USING ARTHIMATIC OPERATORS IS CALLED ARTHIMATIC OPERATION. -71) whtat is the differemce between PLSQL vs TSQL - * PLSQL - Procedural Structured Query Language - * PLSQL was extended from SQL with many features like declaring variable, SP, function, Error handling. - * Which was developed by Oracle. - * TSQL – Transact Structured Query Language - * This also extended from SQL as like PLSQL. - * Which was developed by Microsoft +71) WHTAT IS THE DIFFEREMCE BETWEEN PLSQL VS TSQL + * PLSQL - PROCEDURAL STRUCTURED QUERY LANGUAGE + * PLSQL WAS EXTENDED FROM SQL WITH MANY FEATURES LIKE DECLARING VARIABLE, SP, FUNCTION, ERROR HANDLING. + * WHICH WAS DEVELOPED BY ORACLE. + * TSQL – TRANSACT STRUCTURED QUERY LANGUAGE + * THIS ALSO EXTENDED FROM SQL AS LIKE PLSQL. + * WHICH WAS DEVELOPED BY MICROSOFT -72) What is the difference between MySQL vs Sql vs SQL Server - * SQL is not a server. It tells procedures to write queries which communicate with RDBMS. +72) WHAT IS THE DIFFERENCE BETWEEN MYSQL VS SQL VS SQL SERVER + * SQL IS NOT A SERVER. IT TELLS PROCEDURES TO WRITE QUERIES WHICH COMMUNICATE WITH RDBMS. MYSQL - * MySQL is the RDBMS which is open source and interoperability. - * MySQL is customizable – existing functionality. - * Mostly using in Web development. - * Very friendly to PHP - SQL Server - * MS SQL Server is the Microsoft product which is paid version - * It’s also a RDBMS. Supports only Windows. Platform dependent, also has command prompt interaction. - * Very friendly with Microsoft technologies. - * Has workstation component and server component + * MYSQL IS THE RDBMS WHICH IS OPEN SOURCE AND INTEROPERABILITY. + * MYSQL IS CUSTOMIZABLE – EXISTING FUNCTIONALITY. + * MOSTLY USING IN WEB DEVELOPMENT. + * VERY FRIENDLY TO PHP + SQL SERVER + * MS SQL SERVER IS THE MICROSOFT PRODUCT WHICH IS PAID VERSION + * IT’S ALSO A RDBMS. SUPPORTS ONLY WINDOWS. PLATFORM DEPENDENT, ALSO HAS COMMAND PROMPT INTERACTION. + * VERY FRIENDLY WITH MICROSOFT TECHNOLOGIES. + * HAS WORKSTATION COMPONENT AND SERVER COMPONENT -73) What is the difference between SQL vs Sequel - * Sequel is the historic name of the SQL - * Registered trademark of a America based Aerospace company - * Removed vowels and made it as SQL - * SQL is not the server. - * SQL is the Structured Query language which let you to speak with RDBMS. - -74) What is SQL? - * It’s not a server. SQL is a scripting language to speak with RDBMS. - * SQL called Structured Query Language - * SQL gives you procedures to write queries which let you to communicate with RDBMS. - * RDBMS like Oracle, MS SQL Server, IBM, Sybase use SQL - * Common functionality like Select, Insert, Update, Delete, Create, Drop etc. - -75) What is parser, Query Optimizer and execution plan? - When query to submitted to execute it wont get executes as given. - parser will check athe grammer and syntax. if the query is well formed then parse tree gets created and Query Optimizer will come into picture. Query Optimizer uses the parse tree generated by parser and decideS how to execute the query like which way is best which way can improve the performance of te CPU. - Finally, query optimizer gives execution plan to the storage engine which gets executed start away. \ No newline at end of file +73) WHAT IS THE DIFFERENCE BETWEEN SQL VS SEQUEL + * SEQUEL IS THE HISTORIC NAME OF THE SQL + * REGISTERED TRADEMARK OF A AMERICA BASED AEROSPACE COMPANY + * REMOVED VOWELS AND MADE IT AS SQL + * SQL IS NOT THE SERVER. + * SQL IS THE STRUCTURED QUERY LANGUAGE WHICH LET YOU TO SPEAK WITH RDBMS. + +74) WHAT IS SQL? + * IT’S NOT A SERVER. SQL IS A SCRIPTING LANGUAGE TO SPEAK WITH RDBMS. + * SQL CALLED STRUCTURED QUERY LANGUAGE + * SQL GIVES YOU PROCEDURES TO WRITE QUERIES WHICH LET YOU TO COMMUNICATE WITH RDBMS. + * RDBMS LIKE ORACLE, MS SQL SERVER, IBM, SYBASE USE SQL + * COMMON FUNCTIONALITY LIKE SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ETC. + +75) WHAT IS PARSER, QUERY OPTIMIZER AND EXECUTION PLAN? + WHEN QUERY TO SUBMITTED TO EXECUTE IT WONT GET EXECUTES AS GIVEN. + PARSER WILL CHECK ATHE GRAMMER AND SYNTAX. IF THE QUERY IS WELL FORMED THEN PARSE TREE GETS CREATED AND QUERY OPTIMIZER WILL COME INTO PICTURE. QUERY OPTIMIZER USES THE PARSE TREE GENERATED BY PARSER AND DECIDES HOW TO EXECUTE THE QUERY LIKE WHICH WAY IS BEST WHICH WAY CAN IMPROVE THE PERFORMANCE OF TE CPU. + FINALLY, QUERY OPTIMIZER GIVES EXECUTION PLAN TO THE STORAGE ENGINE WHICH GETS EXECUTED START AWAY. \ No newline at end of file From ec1605a5a2f5b3e609d33134143a064dfb0f0735 Mon Sep 17 00:00:00 2001 From: Gopi Date: Fri, 5 May 2017 19:33:07 +0530 Subject: [PATCH 22/28] added few question --- SQL_Quiz.txt | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/SQL_Quiz.txt b/SQL_Quiz.txt index 7442df2..a977204 100644 --- a/SQL_Quiz.txt +++ b/SQL_Quiz.txt @@ -1 +1,36 @@ -SQL Quiz \ No newline at end of file +SQL Quiz +=========== + +1. Can we use DML statement in function? + a) Yes b) No + ANS: Yes + +2. Can a Table variable (variable of type table) affect in transaction scope? + a) Yes b) No + ANS: No + +3. Can we able to use user defined functions in select query? + a) Yes b)No + ANS: yes + +4. Can we able to use user defined functions in DML query? + a) Yes b)No + ANS: No + +5. Can we able to use case in DML statement? + a) Yes b)No + ANS: No + +6. truncate and drop table command can be revoked? + a) Yes b)No + ANS: No + +7. Can a delete command be revoked? + a) Yes b)No + ANS: Yes + +8. Can we return null value from SP? + a) Yes b)No + ANS: No - instead 0 can be return + +9. \ No newline at end of file From e1dd8223b7b81efcd780dacda979ab8348276946 Mon Sep 17 00:00:00 2001 From: Gopi Date: Fri, 5 May 2017 19:35:44 +0530 Subject: [PATCH 23/28] file updated with new questions --- SQL_interview_questions.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 559144c..2372c9a 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -269,16 +269,16 @@ * we can use charlist to search multiple datas. ex: select city from states where statename like '[cba]%' -55) What is Sequel?, What is SQL?, and what is the difference/ - * SQL and Sequel are same. - * Sequel is the earlier name of SQL. But, still we can see many people's are using this name. - * Sequel name changed to SQL by removing the vowels. Because, an aircraft company registered sequel as trademark. +55) WHAT IS SEQUEL?, WHAT IS SQL?, AND WHAT IS THE DIFFERENCE/ + * SQL AND SEQUEL ARE SAME. + * SEQUEL IS THE EARLIER NAME OF SQL. BUT, STILL WE CAN SEE MANY PEOPLE'S ARE USING THIS NAME. + * SEQUEL NAME CHANGED TO SQL BY REMOVING THE VOWELS. BECAUSE, AN AIRCRAFT COMPANY REGISTERED SEQUEL AS TRADEMARK. -56) How a Sql query gets executes? - when a sql query is given to server, the parser receives it then parse the query and then te parsed query will send to optimizer to create a execution plan. - based on the execution plan, the SQL query gets executes and the result set will produce. +56) HOW A SQL QUERY GETS EXECUTES? + WHEN A SQL QUERY IS GIVEN TO SERVER, THE PARSER RECEIVES IT THEN PARSE THE QUERY AND THEN TE PARSED QUERY WILL SEND TO OPTIMIZER TO CREATE A EXECUTION PLAN. + BASED ON THE EXECUTION PLAN, THE SQL QUERY GETS EXECUTES AND THE RESULT SET WILL PRODUCE. - NOTE: the main work of the parser is to check the SQL query syntatically with the SQL grammer rules and also allocate space in memory to execute the query. + NOTE: THE MAIN WORK OF THE PARSER IS TO CHECK THE SQL QUERY SYNTATICALLY WITH THE SQL GRAMMER RULES AND ALSO ALLOCATE SPACE IN MEMORY TO EXECUTE THE QUERY. 57) What is stored procedures? * stored procedure is a batch of scripts which gets executes at a time. From 88d4f6fc6ccddaae70182f361fabc9f187fdd0d5 Mon Sep 17 00:00:00 2001 From: Gopi Date: Sun, 14 May 2017 22:16:55 +0530 Subject: [PATCH 24/28] updated with some basic questions --- SQL_Quiz.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SQL_Quiz.txt b/SQL_Quiz.txt index a977204..eef0b09 100644 --- a/SQL_Quiz.txt +++ b/SQL_Quiz.txt @@ -33,4 +33,6 @@ SQL Quiz a) Yes b)No ANS: No - instead 0 can be return -9. \ No newline at end of file +9. Can we able to use DML statements in case? + a) Yes b)No + ANS: No - instead 0 can be return From 6e1c12fffebac182278c4ffe55f967b17dc083af Mon Sep 17 00:00:00 2001 From: Gopi Date: Sun, 14 May 2017 22:17:58 +0530 Subject: [PATCH 25/28] added some questions --- SQL_interview_questions.txt | 68 ++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 2372c9a..74385bb 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -51,21 +51,21 @@ LOCAL TABLES ARE ACCESSIBLE TO A CURRENT USER CONNECTED TO THE SERVER. THESE TABLES DISAPPEAR ONCE THE USER HAS DISCONNECTED FROM THE SERVER. GLOBAL TEMP TABLES, ON THE OTHER HAND, ARE AVAILABLE TO ALL USERS REGARDLESS OF THE CONNECTION. THESE TABLES STAY ACTIVE UNTIL ALL THE GLOBAL CONNECTIONS ARE CLOSED. -12) Describe the difference between truncate and delete - Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. - Truncate will actually remove all the rows from a table and there will be no data in the table after - we run the truncate command. - Where clause can be use in Delete statement whereas we cannot use where clause in Truncate. - Truncate delete all the rows in the table which can't be revoked whereas Delete will remove rows based on where - conditions. - If there is no where condition in delete statement it will remove all the records in the table. +12) DESCRIBE THE DIFFERENCE BETWEEN TRUNCATE AND DELETE + DELETE COMMAND REMOVES THE ROWS FROM A TABLE BASED ON THE CONDITION THAT WE PROVIDE WITH A WHERE CLAUSE. + TRUNCATE WILL ACTUALLY REMOVE ALL THE ROWS FROM A TABLE AND THERE WILL BE NO DATA IN THE TABLE AFTER + WE RUN THE TRUNCATE COMMAND. + WHERE CLAUSE CAN BE USE IN DELETE STATEMENT WHEREAS WE CANNOT USE WHERE CLAUSE IN TRUNCATE. + TRUNCATE DELETE ALL THE ROWS IN THE TABLE WHICH CAN'T BE REVOKED WHEREAS DELETE WILL REMOVE ROWS BASED ON WHERE + CONDITIONS. + IF THERE IS NO WHERE CONDITION IN DELETE STATEMENT IT WILL REMOVE ALL THE RECORDS IN THE TABLE. 13) What is a view? A view is simply a virtual table that is made up of elements of multiple physical or “real” tables. Views are most commonly used to join multiple tables together, or control access to any tables existing in background server processes. -14) What is the default port number for SQL Server? - - Basically, when SQL Server is enabled the server instant listens to the TCP port 1433. It can be changed from the Network Utility TCP/IP properties. +14) WHAT IS THE DEFAULT PORT NUMBER FOR SQL SERVER? - + BASICALLY, WHEN SQL SERVER IS ENABLED THE SERVER INSTANT LISTENS TO THE TCP PORT 1433. IT CAN BE CHANGED FROM THE NETWORK UTILITY TCP/IP PROPERTIES. 15) What are the difference between clustered and a non-clustered index? A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can @@ -118,11 +118,11 @@ Temp table is preferable than CTE. CTE will not be available in consecutive query but temp table will be available in entire connection. -24) Can we use user defined functions in select statements? - yes, we can use user defined functions in select statements. +24) CAN WE USE USER DEFINED FUNCTIONS IN SELECT STATEMENTS? + YES, WE CAN USE USER DEFINED FUNCTIONS IN SELECT STATEMENTS. -25) can we use DML statements in user defined functions? - No, we can't able to use DML statements in functions. We can only able to use select statement in a function. +25) CAN WE USE DML STATEMENTS IN USER DEFINED FUNCTIONS? + NO, WE CAN'T ABLE TO USE DML STATEMENTS IN FUNCTIONS. WE CAN ONLY ABLE TO USE SELECT STATEMENT IN A FUNCTION. 26) What is Composite key? Composite key is the combination of two or more column in a table which make each row in a table unique. @@ -130,8 +130,8 @@ 27) What are Triggers? Triggers are the special stored procedure which executes automatically when insert, update, delete operation happens on the table. Triggers will reduce the db performance. -28) Can we use a function in select statement? - yes, we can use function in select statement. We can write some complex queries to a function and refer it in where condition of a query which will improve the performance of your query. which also reduces the duplication of te query +28) CAN WE USE A FUNCTION IN SELECT STATEMENT? + YES, WE CAN USE FUNCTION IN SELECT STATEMENT. WE CAN WRITE SOME COMPLEX QUERIES TO A FUNCTION AND REFER IT IN WHERE CONDITION OF A QUERY WHICH WILL IMPROVE THE PERFORMANCE OF YOUR QUERY. WHICH ALSO REDUCES THE DUPLICATION OF TE QUERY 29)What is subquery? subquery are the query within a query. @@ -148,9 +148,9 @@ Since percentage symbol is at-last, it will retrieve data starts with bal. If I pust '%' at first position, the query will retrieve data ends with bal. Similarly we can also use the percentile '%' symbol at middle. -32) difference between Truncate and Drop? - Truncate will remove all the records in a table and the table structure remains unchanged. - Drop will remove the table from the database. both the commands can't be roll-back. +32) DIFFERENCE BETWEEN TRUNCATE AND DROP? + TRUNCATE WILL REMOVE ALL THE RECORDS IN A TABLE AND THE TABLE STRUCTURE REMAINS UNCHANGED. + DROP WILL REMOVE THE TABLE FROM THE DATABASE. BOTH THE COMMANDS CAN'T BE ROLL-BACK. 33) how to add a column to an existing table? alter table emp add address varchar(100); @@ -178,10 +178,10 @@ 38) what is unique constraint? unique constraint make sure that each row of a column must have a unique value that make the record unique. -39) how to declare a variable in sql server/ - declare @my_var varchar(10) = null +39) HOW TO DECLARE A VARIABLE IN SQL SERVER/ + DECLARE @MY_VAR VARCHAR(10) = NULL - in the above line, I've declared a variable called @my_var which is of type varchar which has 10 byte of memory and I set default to null. + IN THE ABOVE LINE, I'VE DECLARED A VARIABLE CALLED @MY_VAR WHICH IS OF TYPE VARCHAR WHICH HAS 10 BYTE OF MEMORY AND I SET DEFAULT TO NULL. 40) what are the mode of authentications in SQL server? Windows authentications and SQL server authentications. @@ -242,8 +242,8 @@ we can use case statement in select query. ex: select case when column_name is null then 'A' else 'B' end as some_query from sampletable -48) can we use case in DML statements? - No, we can't able to use CASE statement in DML queries +48) CAN WE USE CASE IN DML STATEMENTS? + NO, WE CAN'T ABLE TO USE CASE STATEMENT IN DML QUERIES 49) WHAT IS NATURAL JOIN? NATURAL JOIN WILL NOT COMES UNDER COMMON JOIN TYPES. IT'S WORKS BASED ON THE COMMON COLUMN PRESENT WITHIN THE TWO TABLES WITH SAME DATATYPE. @@ -252,15 +252,15 @@ WHEN JOINING TWO TABLE IF WE HAVNT PROVIDED ANY WHERE CONDITION, THEN IT WILL RETURN THE PRODUCT OF THE TWO TABLES. CROSS JOIN IS ALSO CALLED AS CARTESIAN JOIN. EX: WE WE JOIN TWO TABLES CALLED TABLE A AND TABLE B. TABLE A HAS 3 COLUMN AND TABLE B HAS 120 COLUMN. THEN THE CROSS JOIN WILL PROVIDE OUTPUT LIKE 3 * 120 = 360 ROWS. -51) what is difference between left outer join and right outer join? - * left outer join and right outer join are the types of outer join. - * left join will return all the record from the left table and only the matched record from the right table. likewise, right outer join return all record from right table and only the matched record from the left table. +51) WHAT IS DIFFERENCE BETWEEN LEFT OUTER JOIN AND RIGHT OUTER JOIN? + * LEFT OUTER JOIN AND RIGHT OUTER JOIN ARE THE TYPES OF OUTER JOIN. + * LEFT JOIN WILL RETURN ALL THE RECORD FROM THE LEFT TABLE AND ONLY THE MATCHED RECORD FROM THE RIGHT TABLE. LIKEWISE, RIGHT OUTER JOIN RETURN ALL RECORD FROM RIGHT TABLE AND ONLY THE MATCHED RECORD FROM THE LEFT TABLE. -52) will the truncate and drop table command can revoke? - No, this operations can't be revoked. +52) WILL THE TRUNCATE AND DROP TABLE COMMAND CAN REVOKE? + NO, THIS OPERATIONS CAN'T BE REVOKED. -53) What is full outer join? - all the records from both the right and left table gets returned even if there is no match record. +53) WHAT IS FULL OUTER JOIN? + ALL THE RECORDS FROM BOTH THE RIGHT AND LEFT TABLE GETS RETURNED EVEN IF THERE IS NO MATCH RECORD. 54) what are the different types of pattern matches? * we have seen pattern match with like @@ -398,4 +398,8 @@ 75) WHAT IS PARSER, QUERY OPTIMIZER AND EXECUTION PLAN? WHEN QUERY TO SUBMITTED TO EXECUTE IT WONT GET EXECUTES AS GIVEN. PARSER WILL CHECK ATHE GRAMMER AND SYNTAX. IF THE QUERY IS WELL FORMED THEN PARSE TREE GETS CREATED AND QUERY OPTIMIZER WILL COME INTO PICTURE. QUERY OPTIMIZER USES THE PARSE TREE GENERATED BY PARSER AND DECIDES HOW TO EXECUTE THE QUERY LIKE WHICH WAY IS BEST WHICH WAY CAN IMPROVE THE PERFORMANCE OF TE CPU. - FINALLY, QUERY OPTIMIZER GIVES EXECUTION PLAN TO THE STORAGE ENGINE WHICH GETS EXECUTED START AWAY. \ No newline at end of file + FINALLY, QUERY OPTIMIZER GIVES EXECUTION PLAN TO THE STORAGE ENGINE WHICH GETS EXECUTED START AWAY. + + +76) find the nth salary in the list? with predefined function, without function +77) \ No newline at end of file From 7d3bae50e33fb11b5391658e163109a6620bb4ec Mon Sep 17 00:00:00 2001 From: Gopi Date: Sat, 17 Jun 2017 11:19:46 +0530 Subject: [PATCH 26/28] added some questions --- SQL_Quiz.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/SQL_Quiz.txt b/SQL_Quiz.txt index eef0b09..1f36976 100644 --- a/SQL_Quiz.txt +++ b/SQL_Quiz.txt @@ -36,3 +36,35 @@ SQL Quiz 9. Can we able to use DML statements in case? a) Yes b)No ANS: No - instead 0 can be return + +10. How many clustered index can be created on a table? + a) 1 b) more than one + AND: one + +11. Can we able to create more than one non-clustered index? + a) yes b) no + ans: yes + +12. will clustered index get created when you create a table with a primary key on a column? + a) yes b) no + ans: yes + +13. can we able to create a clustered index on more than one column at a time? + a) yes b) no + ans: yes + +14. can we able to get a out parameter in SP? + a) yes b) no + +15. In a fetching select query, can we able to assign a particular value to a variable? + a) yes b) no + ans: no + explanation : when you write a select query to fetch only the records you will not be able to assign a particular column value to a variable. + ex: select name, age, @department = dept from student. //this query wont get executed in sql server 2008. it wil throw error. + The vice versa also won't work. + +16. what is the default schema in SQL server? + a) dbo b) ser c) ssp + ans: dbo + +17. \ No newline at end of file From 994fba8151b4459eaee05b7c7cebfddca215788e Mon Sep 17 00:00:00 2001 From: Gopi Date: Sat, 17 Jun 2017 11:47:45 +0530 Subject: [PATCH 27/28] questions added --- SQL_interview_questions.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/SQL_interview_questions.txt b/SQL_interview_questions.txt index 74385bb..de3ae26 100644 --- a/SQL_interview_questions.txt +++ b/SQL_interview_questions.txt @@ -402,4 +402,13 @@ 76) find the nth salary in the list? with predefined function, without function + +* select * from dbo.CUSTOMERs +* select top 2 * from dbo.CUSTOMERS +* select ROW_NUMBER()over(order by salary) as test, * from dbo.CUSTOMERS +* select ROW_NUMBEt(tover(partition by salary order by salary), * from dbo.CUSTOMERS + *select * from (select ROW_NUMBER()over(order by salary) as row_num, * from dbo.CUSTOMERS) b where b.row_num <= 2 +* SELECT name, salary, (SELECT COUNT(*) FROM CUSTOMERS cust WHERE o.name <= cust.name +) row_num FROM customers o order by row_num + 77) \ No newline at end of file From 2dbce3faab42f3683098fe17b1b63c3af7f1d7d1 Mon Sep 17 00:00:00 2001 From: Gopi Date: Wed, 8 Aug 2018 11:07:59 +0530 Subject: [PATCH 28/28] Database theory concepts files are added with the sample quizes --- .../Database Normalization.docx | Bin 0 -> 29983 bytes ...Relational Database Concepts and Schema.docx | Bin 0 -> 24171 bytes .../Relational Database Concepts.docx | Bin 0 -> 28879 bytes .../The Relational Database Schema.docx | Bin 0 -> 27761 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 DB Concepts and its Quiz/Database Normalization.docx create mode 100644 DB Concepts and its Quiz/Identifying the Relational Database Concepts and Schema.docx create mode 100644 DB Concepts and its Quiz/Relational Database Concepts.docx create mode 100644 DB Concepts and its Quiz/The Relational Database Schema.docx diff --git a/DB Concepts and its Quiz/Database Normalization.docx b/DB Concepts and its Quiz/Database Normalization.docx new file mode 100644 index 0000000000000000000000000000000000000000..428390fd50db4cda4497e2e0aeb29f0816573f2b GIT binary patch literal 29983 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 i?-~3$4gSq`u*WRY+X4;k)#RwIlb^ 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 S6a*pz-s(W6lUn}o=zjo>afW#S literal 0 HcmV?d00001 diff --git a/DB Concepts and its Quiz/Relational Database Concepts.docx b/DB Concepts and its Quiz/Relational Database Concepts.docx new file mode 100644 index 0000000000000000000000000000000000000000..d72f12ffd0bd789084efb80b241889687d464843 GIT binary patch literal 28879 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 n*BgI&3be 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 KbZ3X3ul@)6nTMeO literal 0 HcmV?d00001 diff --git a/DB Concepts and its Quiz/The Relational Database Schema.docx b/DB Concepts and its Quiz/The Relational Database Schema.docx new file mode 100644 index 0000000000000000000000000000000000000000..cf2ec41baad6cedc591358eddfd3c0613b892935 GIT binary patch literal 27761 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 Pp+bJ8A(4({@o@A%^@?zA literal 0 HcmV?d00001