5. LIMBAJUL SQL 5.1 Prezentare generală neprocedural declarativ extensii dialect implementarea limbajului SQL apelare directă modulară încapsulată



Similar documents
jeudi 22 octobre 15 Limbajul SQL

Ghid pentru salvarea mail-urilor folosind un client de mail

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

Quality Research by Using Performance Evaluation Metrics for Software Systems and Components

Chat (Chat Room) Setarea modului de vizualizare a mesajelor în camera de chat

PROGRAME DE CALCUL TABELAR. MS EXCEL 2010

The Analysis of Currency Exchange Rate Evolution using a Data Mining Technique

Studiu privind influenţa luminilor stroboscopice asupra percepţiei

Seminar 2. Diagrama SIPOC. Harta proceselor. Studiu de caz pentru un ansamblu de procese. Scop. Durată. Obiective CUPRINS. A. Diagrama SIPOC pag.

Road Traffic Information and Monitoring System

I. Rolul ratelor de dobândă în determinarea cursului de schimb. Paritatea ratelor de dobândă

SISTEMUL DE OPERARE WINDOWS XP

Association Rule Mining as a Data Mining Technique

RESEARCH ON SOIL CONSOLIDATION USING CONSOLIDATION CELL UNDER CONSTANT RATE OF STRAIN

S Privire de ansamblu asupra automatelor programabile din familia SIMATIC. Fig 1: Privire de ansamblu

THE NEED TO USE DATA MINING TECHNIQUES IN E-BUSINESS

Controlul aplicaţiilor ce funcţionează pe sisteme Windows prin intermediul dispozitivelor Android

A Decision Tree for Weather Prediction

CORRELATIVE STUDY OF PMA SCORING IN A GROUP OF ROMANIAN PATIENTS SUBMITTED TO TOTAL HIP REPLACEMENT

II. JavaScript date şi operatori

Applying TwoStep Cluster Analysis for Identifying Bank Customers Profile

Cursul 1. Notiuni fundamentale privind utilizarea calculatorului

The Flow of Funds Into and Out of Business

Decline in prolonged hormone replacement therapy in women aged 45 years or more, and impact of a centralised database tool

DESIGNING A DRIP IRRIGATION SYSTEM USING HYDROCALC IRRIGATION PLANNING PROIECTAREA UNUI SISTEM DE IRIGAŢII PRIN PICURARE UTILIZÂND PROGRAMUL HYDROCALC

GHID DE UTILIZARE MICROSOFT OFFICE Versiunea documentului 2.0

DATA STORAGE METHOD FOR SYSTEMS WITH 8 BIT MICROPROCESSORS OR MICROCONTROLLERS

Profesor univ. dr. Maria BOLDEA Lector univ. dr. Bogdan Ion BOLDEA. EXCEL 2007 Teorie şi aplicaţii

Manual pentru Instalarea Certificatului Digital Calificat DigiSign

SOFTWARE RELIABILITY PREDICTION MODEL USING RAYLEIGH FUNCTION

Curs 3. CATIA V5R20. Prezentare generală. Generalităţi

Online stock trading platform

Quality Assurance Review for Higher Education

A Practical Implementation of a Data Mining Technique

Website for Human Resources Management in a Public Institution Using Caché Object-Oriented Model

Manual pentru Instalarea Certificatului Digital Calificat DigiSign

- suport de curs - INFORMATICĂ APLICATĂ ÎN PSIHOLOGIE FACULTATEA DE PSIHOLOGIE ŞI ŞTIINŢELE EDUCAŢIEI

Instalarea MetaTrader Data Center

Project Portfolio Management Software

Cutting Systems. Dispozitive de siguranţă pentru gaze tehnice

Configurare Editor de Text (Writer):

Analele Universităţii Constantin Brâncuşi din Târgu Jiu, Seria Economie, Nr. 1/2009

Analele Universităţii Constantin Brâncuşi din Târgu Jiu, Seria Economie, Nr. 4/2010

Modulul 4 Calcul tabelar

The Annual Inflation Rate Analysis Using Data Mining Techniques

Termeni și condiții. Condiţii generale de utilizare a site-ului

Expenses, Risks and Advantages Generated by the Introduction of the Euro Currency

NOUTĂŢI PRIVIND MODIFICAREA POLITICII CONTABILE REFERITOARE LA METODA DE EVALUARE A ACTIVELOR IMOBILIZATE

Regresia liniară simplă

SISTEMUL DE POŞTĂ ELECTRONICĂ

Construirea şi studiul unor probleme duale prin intermediul funcţiei de scalarizare

2013 Preliminary Financial Results Presentation. February 11 th, 2014

INFOGRAFICĂ. Aplicatii cu AUTOCAD

MANUAL PENTRU Windows 7

Utilizarea indicatorilor de masurare a performantei (KPI) in companiile din Romania

Arhitectura Sistemelor de Calcul

ASOCIAȚIA DE ACREDITARE DIN ROMÂNIA ORGANISMUL NAȚIONAL DE ACREDITARE

Ghidul utilizatorului

Project manager s pocket guide. Ghidul de buzunar al managerului de proiect

MODULUL 4 BAZELE UTILIZĂRII APLICAŢIILOR DE CALCUL TABELAR; APLICAŢIA EXCEL DIN MICROSOFT OFFICE CURSUL

Funds transfer pricing in banking. Transferul intern al fondurilor în mediul bancar

Ghidul utilizatorului de software

Excel. 6. Excel CUPRINS

DESIGN OF AN EXPERT SYSTEM FOR EFFICIENT SELECTION OF DATA MINING METHOD

Dispozitiv universal de extindere a razei WiFi, Versiunea Powerline (XAVN2001) Ghid de instalare

TL-WR841N TL-WR841ND Router Wireless N

Curs 1 - Introducere.

TERMENI SI CONDITII DE UTILIZARE A SERVICIULUI MyAccount

LIFE EXPECTANCY IN ROMÂNIA

INSTRUCŢIUNI PENTRU COMPLETAREA FORMULARULUI DS 160

Using Principal Component Analysis in Loan Granting

Money and the Key Aspects of Financial Management

SISTEM INFORMATIC UNIC INTEGRAT AL ASIGURĂRILOR DE SĂNĂTATE DIN ROMÂNIA

Regulile INCOTERMS şi importanţa lor

Să separe problemele importante de cele posibile, astfel încât să vă puteţi concentra asupra ameliorării acestora.

Adaptor Powerline 500 PassThru (XAVB5401) Ghid de instalare

ASPECTS REGARDING THE HUMAN RESOURCES MANAGEMENT AT S.C. VINIFRUCT COPOU S.A. IAŞI

Oracle SQL. Course Summary. Duration. Objectives

Abdolhamid Arbabi, Vali Mehdinezhad University of Sistan and Baluchestan Zahedan, Faculty of Education and Psychology, Iran

ReviSal - Manual Utilizare

UNIVERSITATEA TEHNICĂ GHEORGHE ASACHI DIN IAŞI FACULTATEA DE ELECTRONICĂ, TELECOMUNICAŢII ŞI TEHNOLOGIA INFORMAŢIEI

Furnizarea de servicii hosting la limita dintre content şi comunicaţii electronice

DIGITIZAREA PARCELELOR AGRICOLE FERMIER CARE A SOLICITAT PLATA UNICĂ PE UNITATE DE SUPRAFAŢĂ (S.A.P.S.) IN CAMPANIILE ANTERIOARE ( )

RESEARCH ON DECREASING THE COST PRICE FOR THE SYNCHRONOUS HYDROGENERATOR

THE INTERFERENCE BETWEEN BIPOLAR PATHOLOGY AND PSYCHOSIS FROM ONSET AND ON THE LONG TERM - A COMPARATIVE STUDY

UNIVERSITATEA DE VEST DIN TIMISOARA

Effective and Efficient Tools in Human Resources Management Control

MANUAL DE INSTALARE SI UTILIZARE

Laborator Electronică Digitală Circuite Logice TTL şi CMOS. Circuite Logice TTL şi CMOS

Anale. Seria Informatică. Vol. VII fasc Annals. Computer Science Series. 7 th Tome 1 st Fasc. 2009

ASSURING QUALITY IN IT SERVICE MANAGEMENT

Chapter 3 - Adoption of new technologies and market orientation Organizations

Property Management pentru NPL-uri

NUMERICAL ANALYSIS OF COMPOSITE STEEL CONCRETE STRUCTURAL SHEAR WALLS WITH STEEL ENCASED PROFILES

SEMANTIC CLASSIFICATION OF VERY HIGH RESOLUTION EARTH OBSERVATION IMAGE CONTENT BASED ON TOPOLOGICAL INFORMATION

Oracle Database: SQL and PL/SQL Fundamentals

BUSINESS INTELLIGENCE PERFORMANCE AND CAPACITY IMPACT

ENGLEZA JURIDICA LEGAL ENGLISH MIHAIL KOGALNICEANU UNIVERSITY IASI UNIVERSITATEA MIHAIL KOGALNICEANU IASI SEMINAR MATERIAL SUPORT DE CURS DREPT AN II

INTELIGENŢĂ ÎN BUSINESS INTELLIGENCE. The Intelligence in Business Intelligence

Manual de utilizare MONEY TRADE BCR pers juridice

Transcription:

5. LIMBAJUL SQL 5.1 Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Pronunţia oficială: si-q-el. Neoficial, si-quel. Este un limbaj neprocedural şi declarativ, deoarece utilizatorul descrie ce date vrea să obţină, fără a fi nevoie să stabilească modalităţile de a ajunge la datele respective. Nu poate fi considerat un limbaj de programare sau unul de sistem, ci mai degrabă face parte din categoria limbajelor de aplicaţii, fiind orientat pe mulţimi. Foarte frecvent, este utilizat în administrarea bazelor de date client/server, aplicaţia client fiind cea care generează instrucţiunile SQL. Lansat iniţial de IBM. Standardizat prima dată de ANSI, apoi ISO. Actualmente, ISO 92. Pentru că există o standardizare a limbajului SQL, multe SGBD (Oracle, Access, Sybase) recunosc principalele instrucţiuni ale acestuia. Caracteristicile adăugate standardului se numesc extensii. De ex, în standard sunt specificate 6 tipuri diferite de date pentru o BD SQL. În multe implementări, această listă este completată cu o diversitate de extensii. Fiecare implementare se numeşte dialect. Dialectul ACCSES conţine unele particularităţi, fiind conceput mai mult pentru crearea interogărilor de selecţie. Există 3 metode de bază privind implementarea limbajului SQL: apelare directă (Direct Invocation): constă în introducerea instrucţiunilor direct de la prompter modulară (Modul Language): foloseşte proceduri apelate de programele aplicaţie încapsulată (Embedded SQL): conţine instrucţiuni încapsulate în codul de program Instrucţiunile SQL pot fi grupate în: instrucţiuni de definire a datelor, care permit descrierea structurii BD instrucţiuni de manipulate a datelor: adaugă, şterge, modifică înregistrări instrucţiuni de selecţie a datelor, care permit consultarea BD instrucţiuni de procesare a tranzacţiilor instrucţiuni de control al cursorului instrucţiuni pivind controlul accesului la date În limbajul SQL standardizat de ISO nu se folosesc termenii formali de relaţie, atribut, tuplu, ci tabel, coloană, rând. Scrierea comenzilor SQL O instrucţiuni SQL este formată din cuvinte rezervate şi cuvinte definite de utilizator. Cuvintele rezervate constituie partea fixă şi se scriu exact cum este necesar. Cuvintele definite de utilizator reprezintă denumirile diverselor obiecte din BD. Deşi standardul nu o cere, majoritatea dialectelor cer terminator de instrucţiune ( ; ). Majoritatea componentelor nu sunt sensibile la tipul de litere (excepţie importantă: când datele au caracter literal, de ex, dacă se stochează numele POPA şi cautăm Popa, nu vom găsi înregistrarea respectivă). Deşi SQL este un limbaj cu format liber, o instrucţiune este mai lizibilă dacă se utilizează indentarea şi alinierea. De ex: fiecare clauză dintr-o instrucţiune trebuie să înceapă pe o linie nouă începutul fiecărei clauze să fie aliniat cu începutul celorlalte dacă o clauză are mai multe părţi, fiecare parte trebuie să apară pe câte o linie separată şi trebuie indentată faţă de începutul clauzei

Convenţii de notare folosite în definirea instrucţiunilor: majuscule pentru cuvintele rezervate litere mici pentru cuvinte definite de utilizator bara verticală indică posibilitatea alegerii dintre mai multe variante acoladele { } indică un element necesar parantezele drepte [ ] indică un element opţional punctele de suspensie... indică o repetare opţională a unui articol, de 0 sau mai multe ori Identificatorii SQL sunt utilizaţi pentru a numi obiecte din BD. Pentru caracterele utilizate, standardul ISO permite A...Z, a...z, 0...9, _. Restricţii impuse identificatorilor: nu poate fi mai lung de 128 caractere (majoritatea dialectelor au o limită mult mai joasă) trebuie să înceapă cu o literă nu poate conţine spaţii libere 5.2 Instrucţiuni pentru definirea datelor Teoretic, comenzile pentru definirea datelor fac parte din modulul corespunzător componentei DDL din SGBD. Totuşi, în majoritatea implementărilor SQL comenzile de definire a datelor sunt prelucrate de acelaşi interpretor care rezolvă şi interogările şi operaţiile de manipulare a datelor. Componentele DML şi DDL ale SGBD sunt implementate în acelaşi modul software. CREATE DATABASE nume_bd Crează o bază de date. Majoritatea SGBD permit crearea unei BD print-un simplu clic de mouse. Există şi posibilitatea folosirii acestei instrucţiuni, dar mult mai greoi. Comanda nu e standardizată, ACCESS nici nu o acceptă. CREATE TABLE nume_tabel (câmp1 tip_dată [NOT NULL], câmp2 tip_dată [NOT NULL], câmp3 tip_dată [NOT NULL]...) Crează un tabel şi defineşte structura unei înregistrări precum şi tipurile de date asociate câmpurilor. Numele tabelului trebuie să fie unic în BD. Clauza NOT NULL arată că în câmpul respectiv nu se memorează valori de tip NULL. ALTER TABLE nume_tabel ADD nume_câmp tip_dată Adaugă un câmp la un tabel existent. Ştergerea unui câmp nu este posibilă. DROP TABLE nume_tabel Şterge complet un tabel din BD. DROP DATABASE nume_bd Şterge BD. Există însă o multitudine de restricţii stabilite de administratorul sistemului privind această operaţie. Multe versiuni SQL nu includ această instrucţiune, stregerea făcându-se din comenzi de mouse.

5.3 Instrucţiuni pentru selecţia datelor 5.3.1 Cereri de interogare simple Instrucţiunile de selecţie reprezintă una din categoriile cele mai importante ale limbajului SQL ACCESS. Indiferent dacă sunt cereri simple sau complexe, cuvântul cheie este SELECT. Pentru cererile de interogare simple, sintaxa instrucţiunii este: SELECT [domeniu] listă_selecţie FROM nume_tabel1, nume_tabel2, [WHERE criteriu_selecţie] Domeniu Specifică o opţiune de includere sau eliminare din rezultatul selecţiei, a înregistrărilor care conţin duplicate. Opţiunile posibile sunt: ALL cere includerea tuturor înregistrărilor care îndeplinesc condiţiile impuse. Cum instrucţiunile SELECT tabel şi SELECT ALL tabel au acelaşi rezultat practic, calificativul ALL este rar folosit. DISTINCT cere eliminarea înregistrărilor care conţin duplicate în câmpurile selectate, afişând numai o apariţie a acesteia. DISTINCTROW cere eliminarea înregistrărilor care conţin duplicate în ansamblul lor, nu numai în câmpurile selectate, afişând numai o apariţie a acesteia. Listă_selecţie cuprinde câmpurile care dorim să apară în tabelul cu rezultatele interogării. Similar cu Field Show din grila de proiectare QBE. Clauza FROM specifică numele tabelului sau tabelelor pe care se face cererea de interogare. Pentru mai multe tabele, numele acestora se separă cu,. Pe lângă tabele, ca sursă de informaţii pot apare şi interogări deja create. Clauza WHERE cere numai înregistrările care îndeplinesc criteriul de selecţie specificat. Criteriul de selecţie este o expresie care conţine obligatoriu şi un operator adecvat tipului de dată al câmpului respectiv. Clauza WHERE este opţională. Clauza ORDER BY cere ordonarea în mod crescător (ASC) sau descrescător (DESC) a rezultatelor interogării. Ordonarea este opţională şi se poate face după unul sau mai multe câmpuri_criteriu. 5.3.2 Cereri de interogare complexe Sunt acele interogări în care apar funcţiile agregat, asocierile sau combinările. Funcţiile agregat (de grup) Permit construirea unor interogări complexe, prin care utilizatorul cere gruparea înregistrărilor care au câmpuri cu aceeaşi valoare, în scopul efectuării unor calcule. În standardul ISO sunt definite 5 funcţii de grup: COUNT returnează numărul de valori dintr-o coloană specificată SUM returnează suma valorilor dintr-o coloană specificată AVG returnează media valorilor dintr-o coloană specificată MIN returnează cea mai mică valoare dintr-o coloană specificată

MAX returnează cea mai mare valoare dintr-o coloană specificată Sintaxa instrucţiunii: SELECT [domeniu] funcţie_agregat(nume_câmp) AS alias [,listă_selecţie] FROM nume_tabel1, nume_tabel2, GROUP BY câmp_de_grupare [HAVING criteriu_de_grupare] Elementele noi de sintaxă: AS alias asociază un pseudonim rezultatului funcţiei agregat Clauza GROUP BY precizează câmpul sau câmpurile după care se face gruparea înregistrărilor. Echivalentul acestei clauze în macheta grafică QBE îl reprezintă rândul Total. Clauza HAVING conţine criteriul care va fi aplicat câmpului argument al funcţiei agregat. Spre deosebire de WHERE, care acţionează înainte de gruparea înregistrărilor, HAVING acţionează după definirea acesteia. Asocierile (interogările JOIN) Limbajul SQL oferă posibilitatea de a grupa şi folosi date din tabele diferite. Operaţiile de asociere induse de clauza JOIN au ca rezultat producerea tuturor combinaţiilor posibile, pentru conţinutul informaţional al fiecărui tabel. Noile înregistrări care rezultă în urma joncţiunii sunt disponibile pentru selecţiile următoare. La o asociere pot participa mai mult de 2 tabele. Există mai multe categorii de joncţiuni: CROSS (încrucişată) rar folosită ECHIVALENTĂ (echijoncţiune) cea mai folosită presupune folosirea clauzei WHERE asociată cu o egalitate dorită NEECHIVALENTĂ (non echijoncţiune) - rar folosită - presupune folosirea clauzei WHERE asociată cu orice alt operator de comparare, în afară de = Sintaxa instrucţiunii pentru joncţiunile echivalente şi neechivlente este: SELECT [domeniu] listă_selecţie FROM nume_tabel1, nume_tabel2, [WHERE criteriu_de_asociere] Deoarece în instrucţiunile SQL care descriu joncţiuni se utilizează câmpuri care fac parte din tabele diferite, trebuie specificat numele tabelului de care aparţin, folosind sintaxa nume_tabel.nume_câmp fără spaţii înainte sau după punct. După modul de asociere a înregistrărilor din tabele, joncţiunile pot fi: interne sau INNER JOIN determină o asociere a înregistrărilor din tabele, astfel încât să rezulte un număr total de înregistrări egal cu produsul numărului de înregistrări din fiecare tabel externe de stânga sau LEFT OUTER JOIN externe de dreapta sau RIGHT OUTER JOIN Echivalentul QBE al acestor categorii de joncţiuni este alegerea opţiunilor 1, 2, sau 3 din caseta Join Properties. Sintaxa instrucţiunii: SELECT [domeniu] listă_selecţie

FROM nume_tabel1 {INNER LEFT OUTER RIGHT OUTER} JOIN nume_tabel2 ON criteriu_de_asociere [{INNER LEFT OUTER RIGHT OUTER} JOIN nume_tabel3 ON criteriu_de_asociere] [WHERE criteriu_selecţie] Obs: SQL ACCESS acceptă scrierea fără specificarea explicită a lui OUTER. Semnificaţia elementelor noi: JOIN specifică tabelul care va fi asociat (nume_tabel2, nume_tabel3) celui din clauza FROM ON arată între ce câmpuri trebuie să existe relaţia pe care se bazează joncţiunea. Criteriul de asociere conţine obligatoriu operatorul =. Combinările (interogările UNION) Când utilizatorul doreşte să vadă rezultatele mai multor interogări SELECT în acelaşi timp, prin combinarea ieşirilor lor, se poate utiliza facilitatea UNION. De remarcat că nu există echivalent QBE pentru această instrucţiune. Sintaxa generală pentru interogările UNION este: SELECT listă_câmpuri FROM nume_tabel1 UNION SELECT listă_câmpuri FROM nume_tabel2 [GROUP BY câmp_de_grupare] [HAVING criteriu_de_agregare] [UNION SELECT listă_câmpuri FROM nume_tabel3 [GROUP BY câmp_de_grupare] [HAVING criteriu_de_agregare]] [UNION ] Există mai multe restricţii pentru instrucţiunile care genereză interogările UNION, şi anume: Numărul câmpurilor din lista de câmpuri din fiecare instrucţiune SELECT şi UNION SELECT trebuie să fie aceeaşi Secvenţa de nume din fiecare listă de câmpuri trebuie să corespundă unor intrări identice Este permisă utilizarea doar o dată a clauzei ORDER BY, după ultima instrucţiune UNION SELECT Exemple: SELECT nume, prenume, vârstă FROM Colaboratori2001 UNION SELECT nume, prenume, vârstă FROM Colaboratori2002 ORDER BY nume; SELECT nume, prenume, vârstă FROM Colaboratori2001 GROUP BY categoria HAVING categoria= student UNION SELECT nume, prenume, vârstă FROM Colaboratori2002 GROUP BY categoria HAVING categoria= student

5.4 Instrucţiuni pentru manipularea datelor Foarte utile în exploatarea unei BD, aceste instrucţiuni se implementează prin interogările de acţiune. Este necesară o mare precauţie în utilizarea lor deoarece acţiunile sunt ireversibile, putând influienţa inclusiv integritatea referenţială a BD. Cele mai importante sunt: CREATE, INSERT, UPDATE şi DELETE. Interogările de acţiune tip CREATE duc la generarea unui nou tabel pornind de la structura şi conţinutul unor tabele deja existente. Se foloseşte instrucţiunea SELECT... INTO SELECT [domeniu] (câmp1,câmp2...) INTO tabel_nou FROM tabel_sursa [WHERE criteriu_de_adăugare]; Interogările de acţiune tip INSERT sunt folosite pentru adăugarea de înregistrări dintr-un tabel în altul. Există două forme ale instrucţiunii şi anume: INSERT... VALUES INSERT... SELECT a). In primul caz se adaugă o singură înregistrare într-un tabel, menţionându-se câmpurile şi valorile acestora. Se utilizează pentru operaţii simple, care presupun lucrul cu un număr redus de înregistrări. INSERT INTO nume_tabel (câmp1, câmp2...) VALUES (valoare1, valoare2...); Reguli: valorile din clauza VALUES vor avea aceeaşi natură cu câmpurile din clauza INTO mărimea valorii va fi < dimensiunea câmpului corespondenţă între câmp1 şi valoare1, etc. Dacă un câmp are specificaţia NOT NULL, este obligatorie introducerea unei valori pentru aceasta b). În al doile caz, este posibil să se copieze mai multe înregistrări dintr-un tabel în unul sau mai multe tabele. INSERT INTO tabel_destinaţie (câmp1, câmp2...) SELECT [domeniu] câmp1, câmp2... FROM tabel_sursă WHERE criteriu_de_adăugare; Reguli: aceleaşi ca mai sus numărul şi natura câmpurilor din clauza INTO să fie aceleaşi cu cele returnate de instrucţiunea SELECT dacă nu se introduce WHERE, toate înregistrările din tabel_sursă vor fi adăugate în tabel_destinaţie Interogările de acţiune tip DELETE şterg parţial sau total înregistrările dintr-un tabel. Nu se foloseşte pentru ştergerea de valori din câmpuri individuale, ci acţionează asupra înregistrării în totalitatea ei. Dacă se şterg toate înregistrările, structura de tabel rămâne, ea putând fi eliminată numai cu DROP TABLE.

DELETE FROM nume_tabel [WHERE criteriu_de_ştergere]; Ca şi instrucţiunea INSERT, operaţia de ştergere a înregistrărilor dintr-o tabelă poate duce la probleme de integritate referenţială în alte tabele. Exemplu: DELETE * FROM Vânzări DELETE * FROM Angajaţi WHERE Vârsta>60 Interogările de acţiune tip UPDATE pot introduce înregistrări noi şi pot modifica valorile câmpurilor din înregistrări existente. UPDATE nume_tabel SET nume_câmp1=valoare1 [,nume_câmp2=valoare2]... [WHERE criteriu_de_actualizare]; Ca şi în celelalte locuri unde apare clauza WHERE, restricţionarea se poate accentua folosind şi operatori logici. Exemplu: UPDATE Comunicaţii SET Reţea= Orange WHERE Reţea= Dialog AND Data>#12.12.2001; 5.5 Cereri de interogare imbricate Scrierea unei interogări în cadrul alteia duce la apariţia unei subinterogări, setul de rezultate obţinute de la aceasta constituind argument pentru prima interogare. SELECT lista_câmpuri FROM tabel1 WHERE tabel1.nume_câmp= (SELECT nume_câmp FROM tabel2 WHERE criteriu_de_selecţie); Cele două tabele trebuie să aibă un câmp comun (nume_câmp) care va reprezenta câmpul de legătură ce stă la baza construirii subinterogării.