POSTQUEL (англ. Postgres Query Language) — це первинна мова запитів, яка була створена для системи керування базами даних Postgres, на сьогоднішній день PostgreSQL. Ця мова була створена командою розробників у 1985 році в Каліфорнійському університеті Берклі, під керівництвом професора Майкла Стоунбрейкера. POSTQUEL базується на мові запитів QUEL і використовується у базі даних Ingres з кінця 70-х років. У 1995 році Ендрю Ю (Andrew Yu), а також Джоллі Чен (Jolly Chen) зробили заміну мови запитів у базі Postgres POSTQUEL на SQL. Отже, новий випуск системи керування базами даних назвали Postgres95.
Приклади запитів
Приклад1.1.1 Обчисліть заробітну платню, розділену на 18 років для співробітника Джонса.
range of E is EMPLOYEE retrieve into W (COMP = E.Salary / (E.Age - 18)) where E.Name = "Jones"
Приклад1.1.2 Еквівалентний оператор SQL:
select (e.salary / (e.age - 18)) as comp from employee as e where e.name = "Jones"
QUEL, як правило, більш «нормалізується», ніж SQL. У той час, коли кожна основна команда SQL має формат, який, принаймні, дещо відрізняється від інших, а у QUEL один синтаксис використовується для всіх команд.
Наприклад, тут наведено приклад, який створює таблицю, вставляє рядок в неї, а потім витягує і модифікує дані, а також видаляє рядок, який був доданий (припускаючи, що ім'я це унікальне поле).
Приклад1.2.1
create student(name = c10, age = i4, sex = c1, state = c2) range of s is student append to s (name = "philip", age = 17, sex = "m", state = "FL") retrieve (s.all) where s.state = "FL" replace s (age=s.age+1) retrieve (s.all) delete s where s.name="philip"
Аналогічна умова для SQL:
Приклад1.2.2
create table student(name char(10), age int, sex char(1), state char(2)) insert into student (name, age, sex, state) values ("philip", 17, "m", "FL") select * from student where state = "FL" update student set age=age+1 select * from student delete from student where name="philip"
Зверніть увагу, що синтаксис значно варіюється між командами, і що навіть подібні команди, такі як вставка і оновлення використовуються з різними стилями.
Приклад1.3. Отримати розмір заробітної платні співробітника Ковальського:
retrieve (STUFF.pay) from STUFF where STUFF.name = "Kowalski"
Приклад1.4. Усі співробітники, яким більше 40 років:
retrieve (P.name) from P in STUFF where P.age > 40
Приклад1.5. Знайти усі департаменти, які цілком займають один поверх:
retrieve (DEPART.dname) where DEPART.floor NOT-IN {D.floor from D in DEPART where D.dname != DEPART.dname}
Додатковий матеріал для читання
- C. J. Date: . SIGMOD Record 14(3): 8-54, 1984.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
POSTQUEL angl Postgres Query Language ce pervinna mova zapitiv yaka bula stvorena dlya sistemi keruvannya bazami danih Postgres na sogodnishnij den PostgreSQL Cya mova bula stvorena komandoyu rozrobnikiv u 1985 roci v Kalifornijskomu universiteti Berkli pid kerivnictvom profesora Majkla Stounbrejkera POSTQUEL bazuyetsya na movi zapitiv QUEL i vikoristovuyetsya u bazi danih Ingres z kincya 70 h rokiv U 1995 roci Endryu Yu Andrew Yu a takozh Dzholli Chen Jolly Chen zrobili zaminu movi zapitiv u bazi Postgres POSTQUEL na SQL Otzhe novij vipusk sistemi keruvannya bazami danih nazvali Postgres95 Prikladi zapitivPriklad1 1 1 Obchislit zarobitnu platnyu rozdilenu na 18 rokiv dlya spivrobitnika Dzhonsa range of E is EMPLOYEE retrieve into W COMP E Salary E Age 18 where E Name Jones Priklad1 1 2 Ekvivalentnij operator SQL select e salary e age 18 as comp from employee as e where e name Jones QUEL yak pravilo bilsh normalizuyetsya nizh SQL U toj chas koli kozhna osnovna komanda SQL maye format yakij prinajmni desho vidriznyayetsya vid inshih a u QUEL odin sintaksis vikoristovuyetsya dlya vsih komand Napriklad tut navedeno priklad yakij stvoryuye tablicyu vstavlyaye ryadok v neyi a potim vityaguye i modifikuye dani a takozh vidalyaye ryadok yakij buv dodanij pripuskayuchi sho im ya ce unikalne pole Priklad1 2 1 create student name c10 age i4 sex c1 state c2 range of s is student append to s name philip age 17 sex m state FL retrieve s all where s state FL replace s age s age 1 retrieve s all delete s where s name philip Analogichna umova dlya SQL Priklad1 2 2 create table student name char 10 age int sex char 1 state char 2 insert into student name age sex state values philip 17 m FL select from student where state FL update student set age age 1 select from student delete from student where name philip Zvernit uvagu sho sintaksis znachno variyuyetsya mizh komandami i sho navit podibni komandi taki yak vstavka i onovlennya vikoristovuyutsya z riznimi stilyami Priklad1 3 Otrimati rozmir zarobitnoyi platni spivrobitnika Kovalskogo retrieve STUFF pay from STUFF where STUFF name Kowalski Priklad1 4 Usi spivrobitniki yakim bilshe 40 rokiv retrieve P name from P in STUFF where P age gt 40 Priklad1 5 Znajti usi departamenti yaki cilkom zajmayut odin poverh retrieve DEPART dname where DEPART floor NOT IN D floor from D in DEPART where D dname DEPART dname Dodatkovij material dlya chitannyaC J Date SIGMOD Record 14 3 8 54 1984