1) Simple select :
2) Get details for one particular employee
3) Get the distinct employees present in the whole record (table)
Take distinct employees and also give other fields related to them :
Take Count total lines in that table :
Take total count of unique employees in the table : (WE can discuss more in aggregate functions )
4) Operators which can be used in where clause : most important if you want to extract a particular
data from the record or table
AND AND OR CONDITIONS :
AND means all the conditions given after AND must be satisfied
OR mean if any of the condition is satisfied the result will be given
AND operator :
OR operator :
NOT operator can be used for all where conditions (NOT IN , NOT LIKE , NOT BETWEEN )
INSERT :
Insert into PS_EMPLOYEES
(EMPLID,EMPL_RCD,BIRTHDATE,BIRTHPLACE,DT_OF_DEATH,COUNTRY_NM_FORMAT,NAME,NAME_I
NITIALS,
NAME_PREFIX,NAME_SUFFIX,NAME_TITLE,LAST_NAME_SRCH,FIRST_NAME_SRCH,LAST_NAME,FIRST
_NAME,
MIDDLE_NAME,SECOND_LAST_SRCH,SECOND_LAST_NAME,NAME_AC,PREF_FIRST_NAME,LAST_NAM
E_PREF_NLD,
COUNTRY,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,CITY,NUM1,NUM2,HOUSE_TYPE,ADDR_FIELD1
,ADDR_FIELD2,
ADDR_FIELD3,COUNTY,STATE,POSTAL,GEO_CODE,IN_CITY_LIMIT,HOME_PHONE,NATIONAL_ID_TYPE,
NATIONAL_ID,
SEX,MAR_STATUS,HIGHEST_EDUC_LVL,FT_STUDENT,MILITARY_STATUS,US_WORK_ELIGIBILTY,DISABL
ED,
DISABLED_VET,ETHNIC_GROUP,TWO_RACES_IND_USA,CITIZENSHIP_STATUS,ORIG_HIRE_DT,PER_OR
G,BENEFIT_RCD_NBR,
CMPNY_SENIORITY_DT,SERVICE_DT,HOME_HOST_CLASS,LAST_INCREASE_DT,BUSINESS_TITLE,PROBA
TION_DT,
SECURITY_CLEARANCE,EFFDT,EFFSEQ,HIRE_DT,EXPECTED_RETURN_DT,TERMINATION_DT,
LAST_DATE_WORKED,REPORTS_TO,SUPERVISOR_ID,BUSINESS_UNIT,DEPTID,JOBCODE,POSITION_NB
R,EMPL_STATUS,ACTION,ACTION_DT,
ACTION_REASON,LOCATION,JOB_ENTRY_DT,DEPT_ENTRY_DT,POSITION_ENTRY_DT,SHIFT,REG_TEMP
,FULL_PART_TIME,FLSA_STATUS,OFFICER_CD,
COMPANY,PAYGROUP,EMPL_TYPE,HOLIDAY_SCHEDULE,STD_HOURS,STD_HRS_FREQUENCY,REG_REG
ION,PAID_HOURS,PAID_FTE,PAID_HRS_FREQUENCY,
FTE,EEO_CLASS,SAL_ADMIN_PLAN,GRADE,GRADE_ENTRY_DT,STEP,STEP_ENTRY_DT,GL_PAY_TYPE,CO
MP_FREQUENCY,COMPRATE,CHANGE_AMT,
CHANGE_PCT,ANNUAL_RT,MONTHLY_RT,DAILY_RT,HOURLY_RT,ANNL_BENEF_BASE_RT,SHIFT_RT,SHI
FT_FACTOR,CURRENCY_CD,
DIRECTLY_TIPPED,PAY_SYSTEM_FLG,SETID_DEPT,SETID_JOBCODE,SETID_LOCATION,SETID_SALARY,C
UR_RT_TYPE,
JOB_INDICATOR,PAY_UNION_FEE,UNION_CD,BARG_UNIT,UNION_SENIORITY_DT,ENTRY_DATE,LABO
R_AGREEMENT,
EMPL_CTG,EMPL_CTG_L1,EMPL_CTG_L2,SETID_LBR_AGRMNT,WPP_STOP_FLAG,LABOR_FACILITY_ID,
LBR_FAC_ENTRY_DT,LAYOFF_EXEMPT_FLAG,LAYOFF_EXEMPT_RSN,EEO1CODE,EEO4CODE,EEO5CODE
,EEO6CODE,EEO_JOB_GROUP,JOB_FAMILY,IPEDSSCODE,MANAGER_ID,EEO4_FUNCTION,ASOFDATE,F
ROMDATE,JOBTITLE,JOBTITLE_ABBRV,DEPTNAME,DEPTNAME_ABBRV,REHIRE_DT,WORK_PHONE,NID
_COUNTRY,SEC_CLEARANCE_TYPE,ADD_SAL_AMT1_ACH,ADD_SAL_AMT2_ACH,ADD_SAL_AMT3_AC
H,ADD_SAL_AMT4_ACH,ADD_SAL_AMT5_ACH,ADD_SAL_AMT6_ACH,ADD_SAL_AMT7_ACH,ADD_SAL
_AMT8_ACH,ADD_SAL_AMT9_ACH,ADD_SAL_ERNCD1_ACH,ADD_SAL_ERNCD2_ACH,ADD_SAL_ERNC
D3_ACH,ADD_SAL_ERNCD4_ACH,ADD_SAL_ERNCD5_ACH,ADD_SAL_ERNCD6_ACH,ADD_SAL_ERNCD7
_ACH,ADD_SAL_ERNCD8_ACH,ADD_SAL_ERNCD9_ACH,NXT_SALREVW_DT_ACH,CONTRACT_BEGIN_D
T,CONTRACT_END_DT,CRED_SPLIT_OPT_ACH,DEPENDENT_BENEF,LINK_EMPLID_ACH,REASON_PYMT
_ACH,REDUCTION_AMT_ACH,SURVR_BEN_OPTN_ACH,TIMING_OF_PYMT_ACH,RELATIONSHIP_ACH,
ADJ_SERVICE_DT_ACH,CP_PENSION_DT_ACH,CP_PRB_DT_ACH,CPR_SERVICE_DT_ACH,DC_PENSION_
DT_ACH,END_ACTASGN_DT_ACH,END_CONTR_SAB_ACH,END_REHAB_DT_ACH,FOLLOWUPDATE_AC
H,ISP_DT_ACH,MARITAL_SEP_DT_ACH,PENSION_DT_ACH,RETIRE_DT_ACH,REV_SVC_DT_ACH,VACATI
ON_DT_ACH,VSP_DT_ACH,ISPVSP_END_DT_ACH,NBR_OF_WEEKS_ACH,FIN_BRANC_DESC_ACH,HR_B
RANCH_ACH,ABI_TONONTIME_ACH,ACT_SUPERVISOR_ACH,ACTING_JOBCODE_ACH,ACT_SUPVR_NA
ME,ADD_SAL_CHG_ACH,AUDIT_SEQNO_ACH,BAS_GROUP_ID,BASIC_COMP_AMT_ACH,BEN_STATUS,
DERVD_OCC_CODE_ACH,ELIG_CONFIG1,ELIG_CONFIG2,ELIG_CONFIG3,ELIG_CONFIG4,ELIG_CONFIG5,
ELIG_CONFIG6,ELIG_CONFIG7,ELIG_CONFIG8,ELIG_CONFIG9,EMPL_CLASS,HR_STATUS,OT_HOURLY_R
T_ACH,PERM_DEPT_ACH,SAL_REVW_DT_ACH,START_ACT_DT_ACH,START_ACTRS_DT_ACH,STAT_AC
TION_ACH,STAT_REASON_ACH,TAX_LOCATION_CD,TIME_RPTG_GRP_ACH,UT_HOURLY_RT_ACH,VAC
_HOURLY_RT_ACH,ACT_JOBCD_DSC_ACH,MANAGER_LEVEL,ADMIN_OFC_ACH,LOCATION_CITY_ACH,
LOCATION_DESCR,NEE_PROV_DESCR_ACH,PAYGROUP_DESCR,MAIL_DROP,MTO_WEEKS_ACH,ALTER
_EMPLID,LANG_CD,NEE_PROVIDER_ID,SUPERVISOR_NAME,PROT_ABBR_ACH,PROT_COMPRATE_ACH
,PROT_EFFDT_ACH,PROT_ENDDT_ACH,PROT_MGRLVL_ACH,PROT_LABOR_AGR_ACH,PROTECT_TYPE_
ACH,ADM_OFC_DESCR_ACH,PAY_FREQ_DESCR_ACH,MANAGER_EMAIL,EMAIL_ADDR,BUS_UNIT_DES
CR_ACH,COMPANY_DESCR_ACH,UNION_CD_DESCR_ACH,LBR_AGR_DESCR_ACH,PENSION_REQ_DT_A
CH,EXPECTED_END_DATE,ACT_RSN_DESCR_ACH,ACTION_DESCR_ACH,PNSN_FND_CD_ACH,HR_DIVISI
ON_ACH,OCCUPATION_CDE_ACH,OCCUPATION_CLS_ACH,ARPT_DESGN_ACH,FIN_SDIV1_DESC_ACH,
MEPP_PENS_DT_ACH,CAP_DT_ACH)
Values
('000118',0,to_date('25-MAR-54','DD-MON-RR'),' ',null,'001','OLUWADARASIMI SCAVO',' ','MRS',' ','
','SCAVO','OLUWADARASIMI','SCAVO','OLUWADARASIMI','K',' ',' ',' ','OLUWADARASIMI','7','CAN','1000
ADDRESS1',' ',' ',' ','MONTREAL',' ',' ',' ',' ',' ',' ',' ','QC','T1K 0K5',' ','
','2147483647','PR','246715999','F','M','A','N',' ',' ','N','N',' ','N',' ',to_date('18-MAY-99','DD-MON-
RR'),'EMP',0,to_date('18-MAY-99','DD-MON-RR'),to_date('18-MAY-99','DD-MON-RR'),'M',to_date('01-
APR-19','DD-MON-RR'),' ',null,' ',to_date('01-JAN-24','DD-MON-RR'),0,to_date('18-MAY-99','DD-MON-
RR'),null,to_date('04-JUL-03','DD-MON-RR'),to_date('04-JUL-03','DD-MON-RR'),' ','
','AC001','ACR','004442',' ','Q','DTA',to_date('11-JAN-24','DD-MON-RR'),'BSP','YULZZ',to_date('02-
MAR-00','DD-MON-RR'),to_date('01-APR-19','DD-MON-
RR'),null,'N','R','F','N','N','ACR','P20','S','ZZZ',40,'ACW','CAN',0,0,' ',1,'N','X01','SR',to_date('02-MAR-
00','DD-MON-RR'),0,to_date('18-MAY-99','DD-MON-RR'),'
','M',3466.79,0,0,41601.48,3466.79,113.899,19.932328,0,0,0,'CAD','N','NA','SHARE','SHARE','SHARE','S
HARE',' ','P','N','MGM',' ',null,null,'MGM','X00002','NONE','NONE','SHARE','N',' ',null,'N','
','N','N','N','N',' ','MGM','N',' ',' ',to_date('28-JUN-24','DD-MON-RR'),to_date('28-JUN-24','DD-MON-
RR'),'Senior VP and CIO','SVP & CIO','Canadian Retirement Department','Can Ret',to_date('18-MAY-
99','DD-MON-RR'),'2147483647','CAN',' ',577.86,0,0,0,0,0,0,0,0,'GE1',' ',' ',' ',' ',' ',' ',' ',' ',null,null,null,'
',' ',' ','C',0,'50','M',' ',null,null,null,null,null,null,null,null,to_date('01-APR-19','DD-MON-
RR'),null,null,to_date('18-MAY-99','DD-MON-RR'),to_date('01-APR-19','DD-MON-
RR'),null,to_date('18-MAY-99','DD-MON-RR'),null,null,0,' ',' ','R',' ',' ','
',4,24,'RET',4044.65,'R','3010P','B000','ACA','10','MGM','0',' ',' ',' ',' ',' ','I',19.932328,' ',null,null,null,' ','
','CAN-QC','X1',23.254738,19.932328,' ','0','CAN','Dorval','YUL Location',' ','Cdn Retired
Executives','1045',0,' ','ENG',' ',' ',0,0,null,null,' ',' ',' ',' ','Monthly',' ','peoplesoft-
[email protected]','Air Canada','Air Canada Retirement
Payroll','Management','MGM',null,null,'Benefit Status Change','Data Change','CMGT',' ','010','3','YUL','
',null,null);
DELETE STATEMENT :
delete
from PS_EMPLOYEES a
where a.country = 'CAN'
AND A.CITY IN ( 'MONTREAL' )
and emplid = '000118';
UPDATE STATEMENT :
UPDATE PS_EMPLOYEES a SET A.NAME = 'DEEPA' WHERE emplid = '000118';
SELECT TOP ROWS :
Aggregate functions are often used with the GROUP BY clause of the SELECT statement. The GROUP BY clause
splits the result-set into groups of values and the aggregate function can be used to return a single value for
each group.
The most commonly used SQL aggregate functions are:
MIN() - returns the smallest value within the selected column
MAX() - returns the largest value within the selected column
COUNT() - returns the number of rows in a set
SUM() - returns the total sum of a numerical column
AVG() - returns the average value of a numerical column
Aggregate functions ignore null values (except for COUNT()).
MAX :
MIN :
Left outer join : It basically gets all the data present in table 1 and the common values present in table
1 and 2 AND if there are no matching data then the result wil be 0
So here in below example EMPLOYEES table has few values which EMPLOYEES_LNG table don’t have
EMPLOYEES Table :
EMPLOYEES_LNG table
Now lets do a left outer join of these tables : So when we see the result , we can see the data which is
present in table 1 and matching values of table 1 and 2 . (Marked in red are the values which are only
in employees table which is the left table )
UNION and UNIOIN all :
UNION means it will return all the distinct data in both the tables. (No repeated or duplicate data
found in result)
UNION ALL means it will simply return all the data in both the tables
EXISTS and NOT EXISTS is to check a data in table one if it is also present or not present in table two .
Go through INSERT SELECT , CASE syntax from W3 schools
Go through the SQL operators like below