Top 100 SQL Server Interview Questions and Answers in Telugu – 2026

11–17 minutes

ఈ Top 100 SQL Server Interview Questions and Answers guide .NET Developer, Full Stack Developer, Senior Developer, Tech Lead, SQL Developer మరియు Solution Architect interviews కోసం ఉపయోగపడేలా రూపొందించబడింది.


🟢 SQL Server Basics – Questions 1–20

1. SQL Server అంటే ఏమిటి?

జవాబు:
SQL Server అనేది Microsoft అభివృద్ధి చేసిన Relational Database Management System (RDBMS). ఇందులో data ని tables, views, stored procedures, functions వంటి database objects లో store చేసి manage చేస్తాము.


2. SQL అంటే ఏమిటి?

జవాబు:
SQL అంటే Structured Query Language. Database లో data ని:

  • Insert
  • Select
  • Update
  • Delete
  • Create
  • Alter

చేయడానికి SQL ఉపయోగిస్తాము.


3. SQL Server మరియు SQL మధ్య తేడా ఏమిటి?

SQLSQL Server
Query LanguageDatabase Management System
Standard languageMicrosoft product
Data manipulation కోసంDatabase management కోసం
SQL syntax ఉపయోగిస్తుందిSQL language ని implement చేస్తుంది

4. Database అంటే ఏమిటి?

జవాబు:
Data ని organized manner లో store చేయడానికి ఉపయోగించే collection ని Database అంటారు.

ఉదాహరణ:

EmployeeDB
 ├── Employees
 ├── Departments
 ├── Salaries
 └── Addresses

5. Table అంటే ఏమిటి?

జవాబు:
Related data ని rows మరియు columns రూపంలో store చేసే database object ని Table అంటారు.

Employees

Id | Name  | Salary
---|-------|-------
1  | Ravi  | 50000
2  | Kumar | 60000

6. Primary Key అంటే ఏమిటి?

జవాబు:
Table లో ప్రతి row ని uniquely identify చేయడానికి ఉపయోగించే column లేదా columns combination ని Primary Key అంటారు.

CREATE TABLE Employees
(
    Id INT PRIMARY KEY,
    Name VARCHAR(100)
);

Primary Key:

  • Duplicate values ఉండవు
  • NULL ఉండదు

7. Foreign Key అంటే ఏమిటి?

జవాబు:
ఒక table లోని column మరో table యొక్క Primary Key ని reference చేస్తే దాన్ని Foreign Key అంటారు.

CREATE TABLE Orders
(
    OrderId INT PRIMARY KEY,
    CustomerId INT,
    FOREIGN KEY (CustomerId)
        REFERENCES Customers(CustomerId)
);

8. UNIQUE Constraint అంటే ఏమిటి?

జవాబు:
Column లో duplicate values రాకుండా నిరోధించడానికి UNIQUE constraint ఉపయోగిస్తారు.

Email VARCHAR(200) UNIQUE

Primary Key కి భిన్నంగా UNIQUE column సాధారణంగా NULL ని అనుమతించగలదు.


9. NULL అంటే ఏమిటి?

జవాబు:
NULL అంటే value తెలియదు లేదా value అందుబాటులో లేదు అని అర్థం.

NULL అనేది:

0 కాదు
Empty String కాదు
Space కాదు

10. DELETE, TRUNCATE, DROP మధ్య తేడా ఏమిటి?

DELETETRUNCATEDROP
Rows delete చేస్తుందిఅన్ని rows తొలగిస్తుందిObject తొలగిస్తుంది
WHERE ఉపయోగించవచ్చుWHERE ఉపయోగించలేముTable structure కూడా పోతుంది
Logging ఎక్కువLogging తక్కువObject పూర్తిగా తొలగుతుంది
Transaction లో rollback చేయవచ్చుTransaction context లో rollback చేయవచ్చుTransaction handling పై ఆధారపడుతుంది

11. DDL అంటే ఏమిటి?

జవాబు:
DDL = Data Definition Language

Examples:

CREATE
ALTER
DROP
TRUNCATE

12. DML అంటే ఏమిటి?

జవాబు:
DML = Data Manipulation Language

Examples:

INSERT
UPDATE
DELETE

13. DQL అంటే ఏమిటి?

జవాబు:
DQL = Data Query Language.

ప్రధానంగా:

SELECT

query కోసం ఉపయోగిస్తారు.


14. DCL అంటే ఏమిటి?

జవాబు:
DCL = Data Control Language.

Examples:

GRANT
REVOKE
DENY

15. TCL అంటే ఏమిటి?

జవాబు:
TCL = Transaction Control Language.

Examples:

COMMIT
ROLLBACK
SAVE TRANSACTION

16. Constraint అంటే ఏమిటి?

జవాబు:
Table లో valid data మాత్రమే insert అయ్యేలా rules enforce చేయడానికి Constraints ఉపయోగిస్తారు.

Common constraints:

  • PRIMARY KEY
  • FOREIGN KEY
  • UNIQUE
  • NOT NULL
  • CHECK
  • DEFAULT

17. CHECK Constraint అంటే ఏమిటి?

CREATE TABLE Employees
(
    Age INT CHECK (Age >= 18)
);

Age 18 కంటే తక్కువగా ఉంటే database insert/update ని reject చేస్తుంది.


18. DEFAULT Constraint అంటే ఏమిటి?

Status VARCHAR(20) DEFAULT 'Active'

Value ఇవ్వకపోతే Active automatically insert అవుతుంది.


19. Identity Column అంటే ఏమిటి?

Id INT IDENTITY(1,1)

ఇది automatically numeric values generate చేస్తుంది.

IDENTITY(1,1):

  • Starting value = 1
  • Increment = 1

20. Schema అంటే ఏమిటి?

జవాబు:
Database objects ని logically organize చేయడానికి Schema ఉపయోగిస్తారు.

ఉదాహరణ:

Sales.Orders
HR.Employees
Finance.Payments

🟡 SQL Queries – Questions 21–40

21. SELECT statement అంటే ఏమిటి?

SELECT * FROM Employees;

Table నుండి data retrieve చేయడానికి SELECT ఉపయోగిస్తారు.


22. WHERE clause ఎందుకు ఉపయోగిస్తారు?

SELECT *
FROM Employees
WHERE Salary > 50000;

Specific rows ని filter చేయడానికి WHERE ఉపయోగిస్తారు.


23. ORDER BY అంటే ఏమిటి?

SELECT *
FROM Employees
ORDER BY Salary DESC;

Result ని ascending లేదా descending order లో sort చేయడానికి ఉపయోగిస్తారు.


24. GROUP BY అంటే ఏమిటి?

Same values ని groups గా create చేసి aggregate calculations చేయడానికి ఉపయోగిస్తారు.

SELECT DepartmentId, COUNT(*)
FROM Employees
GROUP BY DepartmentId;

25. HAVING మరియు WHERE మధ్య తేడా ఏమిటి?

WHERE → individual rows ని filter చేస్తుంది.

HAVING → grouped results ని filter చేస్తుంది.

SELECT DepartmentId, COUNT(*)
FROM Employees
GROUP BY DepartmentId
HAVING COUNT(*) > 5;

26. DISTINCT అంటే ఏమిటి?

Duplicate results తొలగించడానికి:

SELECT DISTINCT DepartmentId
FROM Employees;

27. TOP అంటే ఏమిటి?

SELECT TOP 10 *
FROM Employees;

మొదటి 10 records retrieve చేయడానికి ఉపయోగిస్తారు.


28. BETWEEN అంటే ఏమిటి?

SELECT *
FROM Employees
WHERE Salary BETWEEN 30000 AND 60000;

ఒక range లో values retrieve చేయడానికి ఉపయోగిస్తారు.


29. IN operator అంటే ఏమిటి?

SELECT *
FROM Employees
WHERE DepartmentId IN (1,2,3);

Multiple values తో comparison చేయడానికి ఉపయోగిస్తారు.


30. LIKE operator అంటే ఏమిటి?

SELECT *
FROM Employees
WHERE Name LIKE 'A%';

Pattern matching కోసం ఉపయోగిస్తారు.

Common wildcards:

%  → zero or more characters
_  → single character

31. INNER JOIN అంటే ఏమిటి?

రెండు tables లో matching records మాత్రమే return చేస్తుంది.

SELECT e.Name, d.DepartmentName
FROM Employees e
INNER JOIN Departments d
ON e.DepartmentId = d.Id;

32. LEFT JOIN అంటే ఏమిటి?

Left table లోని అన్ని records మరియు matching right table records return చేస్తుంది.

SELECT *
FROM Employees e
LEFT JOIN Departments d
ON e.DepartmentId = d.Id;

33. RIGHT JOIN అంటే ఏమిటి?

Right table లోని అన్ని records మరియు matching left table records return చేస్తుంది.


34. FULL OUTER JOIN అంటే ఏమిటి?

రెండు tables లోని matching మరియు non-matching records అన్నింటినీ return చేస్తుంది.


35. CROSS JOIN అంటే ఏమిటి?

రెండు tables యొక్క Cartesian product create చేస్తుంది.

ఉదాహరణకు:

Table A = 3 rows
Table B = 4 rows

Result = 3 × 4 = 12 rows

36. SELF JOIN అంటే ఏమిటి?

ఒక table ని అదే table తో join చేయడాన్ని Self Join అంటారు.

Employee–Manager relationship కోసం ఉపయోగించవచ్చు.

SELECT e.Name AS Employee,
       m.Name AS Manager
FROM Employees e
LEFT JOIN Employees m
ON e.ManagerId = m.Id;

37. UNION మరియు UNION ALL మధ్య తేడా?

UNION duplicate rows తొలగిస్తుంది.

UNION ALL duplicates కూడా return చేస్తుంది.

Performance పరంగా UNION ALL సాధారణంగా faster.


38. EXISTS అంటే ఏమిటి?

Subquery కనీసం ఒక matching row ఉందో లేదో check చేయడానికి ఉపయోగిస్తారు.

SELECT *
FROM Customers c
WHERE EXISTS
(
    SELECT 1
    FROM Orders o
    WHERE o.CustomerId = c.Id
);

39. Subquery అంటే ఏమిటి?

ఒక query లో మరో query ని ఉపయోగించడాన్ని Subquery అంటారు.

SELECT *
FROM Employees
WHERE Salary >
(
    SELECT AVG(Salary)
    FROM Employees
);

40. CTE అంటే ఏమిటి?

CTE = Common Table Expression.

Complex queries readable గా ఉండేందుకు ఉపయోగిస్తారు.

WITH EmployeeCTE AS
(
    SELECT *
    FROM Employees
)
SELECT *
FROM EmployeeCTE;

🔵 SQL Functions – Questions 41–55

41. Aggregate Functions అంటే ఏమిటి?

Multiple rows మీద calculation చేయడానికి ఉపయోగిస్తారు.

Examples:

COUNT()
SUM()
AVG()
MIN()
MAX()

42. COUNT(*) మరియు COUNT(Column) మధ్య తేడా?

COUNT(*)

Rows అన్నింటినీ count చేస్తుంది.

COUNT(ColumnName)

NULL values ని count చేయదు.


43. ISNULL() అంటే ఏమిటి?

NULL value కి alternative value ఇవ్వడానికి:

SELECT ISNULL(Phone, 'Not Available')
FROM Customers;

44. COALESCE() అంటే ఏమిటి?

Multiple expressions లో first non-null value return చేస్తుంది.

SELECT COALESCE(HomePhone, MobilePhone, 'N/A')

45. NULLIF() అంటే ఏమిటి?

రెండు expressions equal అయితే NULL return చేస్తుంది.

SELECT NULLIF(10,10);

Result:

NULL

46. CAST మరియు CONVERT అంటే ఏమిటి?

Data type conversion కోసం ఉపయోగిస్తారు.

SELECT CAST(Salary AS VARCHAR(20))
SELECT CONVERT(VARCHAR(20), Salary)

47. CHARINDEX() అంటే ఏమిటి?

String లో ఒక character/string position కనుగొనడానికి ఉపయోగిస్తారు.

SELECT CHARINDEX('a', 'Database');

48. SUBSTRING() అంటే ఏమిటి?

SELECT SUBSTRING('SQL SERVER', 1, 3);

Result:

SQL

49. LEN() మరియు DATALENGTH() మధ్య తేడా?

LEN() trailing spaces ని ignore చేస్తుంది.

DATALENGTH() actual bytes count చేస్తుంది.


50. DATEADD() అంటే ఏమిటి?

Date కి interval add చేయడానికి:

SELECT DATEADD(DAY, 10, GETDATE());

51. DATEDIFF() అంటే ఏమిటి?

రెండు dates మధ్య difference కనుగొనడానికి:

SELECT DATEDIFF(DAY, StartDate, EndDate);

52. GETDATE() అంటే ఏమిటి?

SQL Server current date మరియు time return చేస్తుంది.

SELECT GETDATE();

53. ROW_NUMBER() అంటే ఏమిటి?

Result rows కి sequential number assign చేస్తుంది.

SELECT
    ROW_NUMBER() OVER (ORDER BY Salary DESC) AS RowNum,
    Name,
    Salary
FROM Employees;

54. RANK() మరియు DENSE_RANK() మధ్య తేడా?

Suppose salaries:

100
100
90
80

RANK():

1
1
3
4

DENSE_RANK():

1
1
2
3

55. Window Function అంటే ఏమిటి?

Rows ని collapse చేయకుండా calculation చేయడానికి Window Functions ఉపయోగిస్తారు.

Examples:

ROW_NUMBER()
RANK()
DENSE_RANK()
SUM() OVER()
AVG() OVER()

🟣 Indexes – Questions 56–65

56. Index అంటే ఏమిటి?

Database queries ని faster గా execute చేయడానికి Index ఉపయోగిస్తారు.

Index ఒక book యొక్క index లాంటిది.


57. Clustered Index అంటే ఏమిటి?

Table data యొక్క physical/logical row organization ని index key ఆధారంగా ఏర్పాటు చేసే index type.

ఒక table కి సాధారణంగా ఒక clustered index మాత్రమే ఉంటుంది.


58. Non-Clustered Index అంటే ఏమిటి?

Data rows కి pointers/references కలిగి ఉండే separate index structure.

ఒక table కి multiple non-clustered indexes ఉండవచ్చు.


59. Clustered మరియు Non-Clustered Index మధ్య తేడా?

ClusteredNon-Clustered
Table data organization తో closely tiedSeparate index structure
సాధారణంగా ఒకటిMultiple ఉండవచ్చు
Range queries కి usefulSearch performance improve చేస్తుంది

60. Composite Index అంటే ఏమిటి?

Multiple columns పై create చేసే index.

CREATE INDEX IX_Employee
ON Employees(DepartmentId, Salary);

61. Covering Index అంటే ఏమిటి?

Query కి అవసరమైన columns అన్నీ index లో available గా ఉంటే దాన్ని Covering Index అంటారు.

CREATE INDEX IX_Employee
ON Employees(DepartmentId)
INCLUDE(Name, Salary);

62. Index Seek అంటే ఏమిటి?

Index ద్వారా required rows ని efficiently locate చేయడాన్ని Index Seek అంటారు.


63. Index Scan అంటే ఏమిటి?

Index లో పెద్ద భాగం లేదా మొత్తం scan చేయడాన్ని Index Scan అంటారు.


64. ఎక్కువ indexes ఉంటే ఏం జరుగుతుంది?

SELECT queries fast కావచ్చు కానీ:

  • INSERT slow
  • UPDATE slow
  • DELETE slow
  • Storage ఎక్కువ

అవుతాయి.

కాబట్టి indexes ని అవసరానికి అనుగుణంగా design చేయాలి.


65. Index Fragmentation అంటే ఏమిటి?

Index pages లో data organization inefficient గా మారడాన్ని fragmentation అంటారు.

దీనిని analyze చేసి అవసరమైతే:

ALTER INDEX ... REORGANIZE;

లేదా

ALTER INDEX ... REBUILD;

చేయవచ్చు.


🔴 Stored Procedures, Views & Functions – Questions 66–75

66. Stored Procedure అంటే ఏమిటి?

Database లో pre-defined SQL statements collection ని Stored Procedure అంటారు.

CREATE PROCEDURE GetEmployees
AS
BEGIN
    SELECT *
    FROM Employees;
END;

67. Stored Procedure ఉపయోగాలు ఏమిటి?

  • Reusability
  • Security
  • Centralized database logic
  • Reduced network traffic
  • Parameterization

68. Stored Procedure కి Parameters ఎలా pass చేస్తారు?

CREATE PROCEDURE GetEmployee
    @Id INT
AS
BEGIN
    SELECT *
    FROM Employees
    WHERE Id = @Id;
END;

Call:

EXEC GetEmployee @Id = 10;

69. View అంటే ఏమిటి?

View అనేది saved SELECT query ఆధారంగా create చేసే virtual table.

CREATE VIEW EmployeeView
AS
SELECT Id, Name, Salary
FROM Employees;

70. View మరియు Table మధ్య తేడా?

Table: Actual data store చేస్తుంది.

View: సాధారణంగా query definition ని store చేస్తుంది; underlying tables నుండి data retrieve చేస్తుంది.


71. Function అంటే ఏమిటి?

Reusable SQL logic ని function గా define చేయవచ్చు.

Types:

  • Scalar Function
  • Inline Table-Valued Function
  • Multi-Statement Table-Valued Function

72. Stored Procedure మరియు Function మధ్య తేడా?

Stored ProcedureFunction
EXEC ద్వారా call చేయవచ్చుQuery లో ఉపయోగించవచ్చు
Multiple result sets సాధ్యంFunction type పై ఆధారపడి return ఉంటుంది
Transactions/side effects support ఎక్కువRestrictions ఎక్కువ
Parameters supportParameters support

73. Trigger అంటే ఏమిటి?

Table లేదా database event జరిగినప్పుడు automatically execute అయ్యే database object.

Examples:

INSERT
UPDATE
DELETE

74. AFTER Trigger అంటే ఏమిటి?

DML operation successfully execute అయిన తర్వాత trigger execute అవుతుంది.


75. INSTEAD OF Trigger అంటే ఏమిటి?

Original operation కి బదులుగా trigger logic execute అవుతుంది.

Views మీద కూడా INSTEAD OF triggers ఉపయోగించవచ్చు.


🟠 Transactions & Concurrency – Questions 76–85

76. Transaction అంటే ఏమిటి?

Multiple database operations ని ఒక logical unit గా execute చేయడాన్ని Transaction అంటారు.

BEGIN TRANSACTION;

UPDATE Accounts
SET Balance = Balance - 1000
WHERE Id = 1;

UPDATE Accounts
SET Balance = Balance + 1000
WHERE Id = 2;

COMMIT;

77. ACID Properties అంటే ఏమిటి?

A – Atomicity
Transaction మొత్తం success లేదా మొత్తం failure.

C – Consistency
Database valid state లో ఉండాలి.

I – Isolation
Concurrent transactions ఒకదానిపై మరొకటి inappropriate గా ప్రభావితం చేయకూడదు.

D – Durability
Committed data persist అవుతుంది.


78. COMMIT అంటే ఏమిటి?

Transaction changes ని permanently commit చేయడానికి:

COMMIT TRANSACTION;

79. ROLLBACK అంటే ఏమిటి?

Transaction changes ని undo చేయడానికి:

ROLLBACK TRANSACTION;

80. SAVEPOINT అంటే ఏమిటి?

Transaction లో intermediate point create చేయడానికి SQL Server లో:

SAVE TRANSACTION SavePoint1;

తర్వాత specific savepoint వరకు rollback చేయవచ్చు.


81. Deadlock అంటే ఏమిటి?

రెండు లేదా అంతకంటే ఎక్కువ transactions ఒకదానికొకటి locks release చేయడానికి wait చేస్తే Deadlock ఏర్పడుతుంది.

ఉదాహరణ:

Transaction A → Resource 1 lock
Transaction B → Resource 2 lock

A waits for Resource 2
B waits for Resource 1

82. Deadlock ఎలా resolve చేయాలి?

  • Proper transaction ordering
  • Short transactions
  • Proper indexes
  • Avoid unnecessary locks
  • Query optimization
  • Retry mechanism

SQL Server deadlock victim గా ఒక transaction ని terminate చేసి మరో transaction ని continue చేయవచ్చు.


83. Blocking అంటే ఏమిటి?

ఒక transaction lock hold చేస్తున్నందువల్ల మరో transaction అదే resource కోసం wait చేయడాన్ని Blocking అంటారు.


84. Isolation Level అంటే ఏమిటి?

Concurrent transactions ఒకదాని data ని మరొకటి ఎలా చూడాలో control చేసే setting.

SQL Server isolation levels:

Read Uncommitted
Read Committed
Repeatable Read
Snapshot
Serializable

85. Dirty Read అంటే ఏమిటి?

ఒక transaction commit చేయని data ని మరో transaction read చేయడాన్ని Dirty Read అంటారు.

READ UNCOMMITTED isolation level లో ఇది సంభవించవచ్చు.


🟤 Performance & Optimization – Questions 86–95

86. SQL Query Performance ఎలా improve చేయాలి?

ప్రధాన techniques:

  • Proper indexes
  • Avoid SELECT *
  • Query execution plan analyze చేయడం
  • Statistics maintain చేయడం
  • Large data కి pagination
  • SARGable predicates
  • Unnecessary joins avoid చేయడం
  • Proper data types ఉపయోగించడం

87. Execution Plan అంటే ఏమిటి?

SQL Server ఒక query ని ఎలా execute చేయబోతుందో చూపించే plan ని Execution Plan అంటారు.

ఇందులో:

Index Seek
Index Scan
Table Scan
Sort
Hash Match
Nested Loops
Merge Join

వంటి operators కనిపిస్తాయి.


88. Actual Execution Plan మరియు Estimated Execution Plan మధ్య తేడా?

Estimated Plan: Query execute చేయకముందు optimizer estimate.

Actual Plan: Query execute అయిన తర్వాత actual execution information తో plan.

Performance troubleshooting లో Actual Execution Plan చాలా useful.


89. Statistics అంటే ఏమిటి?

Columns లో data distribution గురించి optimizer కి information అందించేది Statistics.

Query optimizer మంచి execution plan select చేయడానికి statistics ఉపయోగిస్తుంది.


90. SARGable Query అంటే ఏమిటి?

Index ని efficiently utilize చేయగల search predicate ని SARGable predicate అంటారు.

Bad:

WHERE YEAR(OrderDate) = 2026

Better:

WHERE OrderDate >= '20260101'
AND OrderDate < '20270101'

91. N+1 Query Problem అంటే ఏమిటి?

ముందుగా ఒక query execute చేసి, ఆ తర్వాత ప్రతి record కోసం మరో query execute చేయడాన్ని N+1 problem అంటారు.

ఉదాహరణ:

1 query → Customers
N queries → Orders for each customer

దీనివల్ల database calls ఎక్కువ అవుతాయి.


92. Pagination ఎలా implement చేయాలి?

Modern SQL Server versions లో:

SELECT *
FROM Employees
ORDER BY Id
OFFSET 20 ROWS
FETCH NEXT 10 ROWS ONLY;

ఇది pagination కోసం ఉపయోగించవచ్చు.


93. Query లో SELECT * ఎందుకు avoid చేయాలి?

SELECT * వల్ల అవసరం లేని columns కూడా retrieve అవుతాయి.

Problems:

  • More network traffic
  • More memory
  • Poor readability
  • Covering indexes ఉపయోగించడంలో సమస్యలు

Better:

SELECT Id, Name, Salary
FROM Employees;

94. Temp Table అంటే ఏమిటి?

Temporary data store చేయడానికి ఉపయోగించే table.

CREATE TABLE #Employees
(
    Id INT,
    Name VARCHAR(100)
);

#Employees local temporary table.


95. Table Variable అంటే ఏమిటి?

DECLARE @Employees TABLE
(
    Id INT,
    Name VARCHAR(100)
);

Temporary result/data కోసం table variable ఉపయోగించవచ్చు.

Large datasets కోసం temp table మరియు table variable choice workload/version పై ఆధారపడి ఉంటుంది.


🟣 Advanced SQL Server – Questions 96–100

96. Temp Table మరియు Table Variable మధ్య తేడా ఏమిటి?

Temp TableTable Variable
#Table syntax@Table syntax
Larger/intermediate workloads కి usefulSmaller/simple workloads లో useful
Statistics/indexing capabilities ఎక్కువCapabilities comparatively limited
TempDB లో store అవుతుందిTempDB infrastructure ఉపయోగించవచ్చు
Complex queries లో usefulSimple operations లో useful

97. Normalization అంటే ఏమిటి?

Database లో duplicate data తగ్గించి data integrity improve చేయడానికి tables ని logically organize చేయడాన్ని Normalization అంటారు.

Common forms:

1NF
2NF
3NF
BCNF

98. Denormalization అంటే ఏమిటి?

Performance లేదా reporting requirements కోసం intentionally redundant data maintain చేయడాన్ని Denormalization అంటారు.

ఉదాహరణ:

Customer
Order
OrderDetails

నుండి reporting performance కోసం కొన్ని frequently accessed values ని combined structure లో maintain చేయడం.


99. SQL Injection అంటే ఏమిటి?

User input ని unsafe గా SQL query లో concatenate చేయడం వల్ల attacker malicious SQL inject చేసే అవకాశం ఉంటుంది.

Bad:

var sql = "SELECT * FROM Users WHERE Name = '" + name + "'";

Better:

var command = new SqlCommand(
    "SELECT * FROM Users WHERE Name = @Name",
    connection);

command.Parameters.AddWithValue("@Name", name);

.NET applications లో parameterized queries, EF Core parameterization, stored procedures వంటి safe approaches ఉపయోగించాలి.


100. SQL Server Database ని Production లో ఎలా optimize చేస్తారు?

జవాబు: Production SQL Server optimization అనేది ఒకే technique కాదు. Complete approach అవసరం.

Step 1 – Query Performance

Slow Queries
     ↓
Execution Plan
     ↓
Identify Bottleneck
     ↓
Optimize Query

Step 2 – Index Optimization

Missing Indexes
Unused Indexes
Fragmentation
Index Usage

వీటిని analyze చేయాలి.

Step 3 – Database Design

  • Proper normalization
  • Correct data types
  • Appropriate constraints
  • Good relationships

Step 4 – Concurrency

  • Blocking identify చేయాలి
  • Deadlocks analyze చేయాలి
  • Transactions short గా ఉంచాలి
  • Appropriate isolation level ఉపయోగించాలి

Step 5 – Monitoring

Production environment లో:

CPU
Memory
IO
Wait Statistics
Blocking
Deadlocks
Long-running Queries
Database Growth

వంటివి monitor చేయాలి.


⭐ Bonus: SQL Server Interviewలో తరచుగా అడిగే Scenario Questions

Scenario 1: ఒక query productionలో చాలా slow గా ఉంది. ఏం చేస్తారు?

Answer:

1. Query identify
2. Actual Execution Plan చూడటం
3. Query statistics analyze చేయటం
4. Index usage check చేయటం
5. Missing/unused indexes analyze చేయటం
6. Blocking/deadlocks check చేయటం
7. Statistics check/update
8. Query rewrite
9. Test in staging
10. Production monitoring

Scenario 2: Tableలో 10 కోట్ల records ఉన్నాయి. Query fast చేయాలంటే?

Answer:

  • Proper indexing
  • Partitioning అవసరమైతే consider చేయడం
  • Pagination
  • Select only required columns
  • Query optimization
  • Statistics maintenance
  • Archiving strategy
  • Appropriate database design

Scenario 3: Deadlock frequently వస్తోంది. ఎలా troubleshoot చేస్తారు?

Answer:

మొదట deadlock information/captured graph analyze చేయాలి.

తర్వాత:

Transaction order
       ↓
Locks
       ↓
Queries
       ↓
Indexes
       ↓
Transaction duration

వీటిని analyze చేసి root cause fix చేయాలి.


Scenario 4: Duplicate records తొలగించాలి. ఎలా?

ఉదాహరణకు Email duplicate అయితే ROW_NUMBER() ఉపయోగించవచ్చు:

WITH CTE AS
(
    SELECT *,
           ROW_NUMBER() OVER
           (
               PARTITION BY Email
               ORDER BY Id
           ) AS RN
    FROM Customers
)
DELETE FROM CTE
WHERE RN > 1;

ఇక్కడ ప్రతి Email కి మొదటి record ఉంచి మిగిలిన duplicates తొలగించవచ్చు.


Scenario 5: Second Highest Salary ఎలా find చేస్తారు?

SELECT MAX(Salary)
FROM Employees
WHERE Salary <
(
    SELECT MAX(Salary)
    FROM Employees
);

లేదా:

SELECT Salary
FROM
(
    SELECT Salary,
           DENSE_RANK() OVER
           (
               ORDER BY Salary DESC
           ) AS RN
    FROM Employees
) X
WHERE RN = 2;

🎯 Interview Preparation కోసం ముఖ్యమైన SQL Server Topics

2026 SQL Server interviewకి ఈ 15 areas మీద ప్రత్యేకంగా preparation చేయడం మంచిది:

  1. Joins
  2. CTE
  3. Subqueries
  4. Window Functions
  5. ROW_NUMBER / RANK / DENSE_RANK
  6. Indexes
  7. Execution Plans
  8. Query Optimization
  9. Transactions
  10. ACID Properties
  11. Isolation Levels
  12. Deadlocks & Blocking
  13. Stored Procedures
  14. Temp Tables & Table Variables
  15. SQL Injection & Security

🏆 Final Interview Tip

Senior/Lead .NET interviewsలో కేవలం “SQL syntax తెలుసా?” అని మాత్రమే అడగరు. ఎక్కువగా:

“Productionలో query slow అయితే ఎలా troubleshoot చేస్తారు?”

“Deadlock వస్తే ఎలా resolve చేస్తారు?”

“10 crore records ఉన్న tableని ఎలా optimize చేస్తారు?”

“ఏ index create చేస్తారు? ఎందుకు?”

“Execution Planలో ఏం చూస్తారు?”

లాంటి real-time scenario-based questions అడుగుతారు.

అందువల్ల ఈ 100 questionsతో పాటు SQL Query Optimization + Indexing + Execution Plans + Transactions + Deadlocks + Real-Time SQL Scenarios మీద practical knowledge ఉండటం Senior .NET Developer / Tech Lead interviewsకి చాలా ఉపయోగపడుతుంది.