{"id":6899,"date":"2017-07-24T18:23:22","date_gmt":"2017-07-24T16:23:22","guid":{"rendered":"https:\/\/www.auditsi.eu\/?p=6899"},"modified":"2017-08-27T12:41:06","modified_gmt":"2017-08-27T10:41:06","slug":"analyse-de-donnees-interroger-une-base-de-donnees-avec-une-requete-sql","status":"publish","type":"post","link":"https:\/\/www.auditsi.eu\/?p=6899","title":{"rendered":"Analyse de donn\u00e9es : interroger une base de donn\u00e9es avec une requ\u00eate SQL"},"content":{"rendered":"<p style=\"text-align: justify;\">L&#8217;analyse de donn\u00e9es fait partie du quotidien des professionnels de la comptabilit\u00e9 et de la finance. Excel est g\u00e9n\u00e9ralement l&#8217;outil d&#8217;analyse pl\u00e9biscit\u00e9 pour ce genre de t\u00e2ches mais\u00a0le langage de requ\u00eate SQL (acronyme pour <em>Structured Query Language<\/em> ou langage de requ\u00eate structur\u00e9)\u00a0est particuli\u00e8rement adapt\u00e9 pour r\u00e9aliser les t\u00e2ches d&#8217;extraction et de mise en forme des donn\u00e9es. De nombreux SGBDR, tel ACCESS, disposent de ce langage.<\/p>\n<p style=\"text-align: justify;\">La Revue Fran\u00e7aise de Comptabilit\u00e9 a publi\u00e9 il y a quelques ann\u00e9es <a href=\"https:\/\/www.auditsi.eu\/?p=400\">un article que j&#8217;ai \u00e9crit<\/a> sur ce sujet.<\/p>\n<div id=\"attachment_6918\" style=\"width: 475px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=6918\" rel=\"attachment wp-att-6918\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6918\" class=\"size-full wp-image-6918\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/PlanComptable.png\" alt=\"Table de donn\u00e9es PlanComptable\" width=\"465\" height=\"482\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/PlanComptable.png 465w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/PlanComptable-289x300.png 289w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><\/a><p id=\"caption-attachment-6918\" class=\"wp-caption-text\">Table de donn\u00e9es PlanComptable<\/p><\/div>\n<p style=\"text-align: justify;\">En synth\u00e8se, le <a href=\"https:\/\/www.auditsi.eu\/?tag=requete-sql\">langage SQL<\/a> permet d&#8217;effectuer des calculs plus ou moins complexes et d&#8217;extraire (<em>SELECT<\/em>) des donn\u00e9es d&#8217;une ou plusieurs tables de donn\u00e9es\u00a0(<em>FROM<\/em>) r\u00e9pondant \u00e0 des crit\u00e8res (<em>WHERE<\/em>).\u00a0Le r\u00e9sultat de ces extractions sera utilement analys\u00e9, par\u00a0exemple, \u00e0 l&#8217;aide d&#8217;un tableau crois\u00e9 dynamique <a href=\"https:\/\/www.auditsi.eu\/?tag=access\">ACCESS<\/a> ou <a href=\"https:\/\/www.auditsi.eu\/?tag=excel\">EXCEL<\/a>.<\/p>\n<p><em>Structure type\u00a0d&#8217;une\u00a0requ\u00eate\u00a0SQL :<\/em><\/p>\n<pre class=\"lang:default decode:true\">SELECT champ1, champ2...\r\nFROM table\r\nWHERE condition1, condition2...\r\nORDER BY champ1, champ2...;<\/pre>\n<p style=\"text-align: justify;\">Une requ\u00eate SQL est constitu\u00e9e de plusieurs clauses dont a minima les clause <em>SELECT<\/em> et <em>FROM<\/em>.<\/p>\n<p><em>S\u00e9lection (SELECT) des champs de donn\u00e9es \u00e0 extraire :<\/em><\/p>\n<p style=\"text-align: justify;\">Le clause\u00a0<em>SELECT<\/em> pr\u00e9cise les champs de donn\u00e9es \u00e0 extraire des tables, <em>FROM<\/em> le nom de la table contenant les donn\u00e9es \u00e0 extraire.<\/p>\n<p style=\"text-align: justify;\">Par exemple, la requ\u00eate suivante :<\/p>\n<pre class=\"lang:default decode:true\">SELECT Compte, Libell\u00e9Compte\r\nFROM PlanComptable;<\/pre>\n<p style=\"text-align: justify;\">Liste le num\u00e9ro de compte (champ Compte) et le libell\u00e9 des comptes (champ Libell\u00e9Compte) du plan comptable (table PlanComptable) :<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=6920\" rel=\"attachment wp-att-6920\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6920\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eate1.png\" alt=\"R\u00e9sultatRequ\u00eate1\" width=\"316\" height=\"306\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eate1.png 316w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eate1-300x291.png 300w\" sizes=\"auto, (max-width: 316px) 100vw, 316px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Pour s\u00e9lectionner tous les champs, on utilise le joker (*).<\/p>\n<pre class=\"lang:default decode:true\">SELECT *\r\nFROM PlanComptable;<\/pre>\n<p style=\"text-align: justify;\">La clause <em>SELECT<\/em> (ou <em>SELECT ALL<\/em>) liste tous les enregistrements alors\u00a0que la clause <em>SELECT DISTINCT<\/em> ne rendra pas les enregistrements dont le contenu des champs s\u00e9lectionn\u00e9s est en doublon. <em>SELECT DISTINCTROW<\/em> ne rendra pas les enregistrements enti\u00e8rement en doublon.<\/p>\n<p style=\"text-align: justify;\">La clause <em>SELECT TOP n<\/em> permet de ne lister que les n premiers enregistrements. <em>SELECT TOP n PERCENT<\/em> ne ressort que les n pour cent premiers enregistrements.<\/p>\n<p style=\"text-align: justify;\"><em>Cr\u00e9ation de champs calcul\u00e9s :<\/em><\/p>\n<p style=\"text-align: justify;\">La clause\u00a0<em>SELECT<\/em> permet \u00e9galement de cr\u00e9er des champs de donn\u00e9es calcul\u00e9s. Par exemple, ajouter un champ racine de compte sur trois positions :<\/p>\n<pre class=\"lang:default decode:true\">SELECT Compte, Libell\u00e9Compte, Left(Compte,3) AS Cpte3\r\nFROM PlanComptable;<\/pre>\n<p style=\"text-align: justify;\">La fonction <em>Left<\/em>(cha\u00eene,longueur) extrait d&#8217;une cha\u00eene de caract\u00e8res nomm\u00e9e cha\u00eene un certain nombre (longueur) de caract\u00e8res les plus \u00e0 gauche ; ainsi Left(&#8216;512000&#8217;,3) renvoie 512. L&#8217;instruction AS\u00a0affecte un nom au champ de donn\u00e9es calcul\u00e9 (chaque champ de donn\u00e9es devant comporter un nom). La fonction <em>Right<\/em> r\u00e9alise la m\u00eame chose mais par la droite.<\/p>\n<p>R\u00e9sultat de la requ\u00eate :<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=6921\" rel=\"attachment wp-att-6921\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6921\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eate2.png\" alt=\"R\u00e9sultatRequ\u00eate2\" width=\"407\" height=\"364\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eate2.png 407w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eate2-300x268.png 300w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Autres fonctions utiles :<\/p>\n<ul>\n<li style=\"text-align: justify;\">Len(champ) : donne le nombre de caract\u00e8res compris dans le champs,<\/li>\n<li style=\"text-align: justify;\">Val(champ) : convertit une cha\u00eene alphanum\u00e9rique en un r\u00e9sultat num\u00e9rique int\u00e9grable dans une formule de calcul,<\/li>\n<li style=\"text-align: justify;\">Abs(champ) : \u00f4te le signe d\u2019un nombre, ainsi Abs(-1) renvoie 1,<\/li>\n<li style=\"text-align: justify;\">Year(champ au format date), Month(champ au format date) : renvoie l&#8217;ann\u00e9e (2017), le mois (07)\u00a0de la date 24\/07\/2017,<\/li>\n<li style=\"text-align: justify;\">Weekday(date,1)\u00a0: donne le num\u00e9ro du jour de la semaine d&#8217;une date ; 1 \u00e9tant le dimanche. Cette fonction existe \u00e9galement sous EXCEL sous le nom \u00ab JourSem \u00bb, elle fonctionne de la m\u00eame mani\u00e8re,<\/li>\n<li style=\"text-align: justify;\">Hour(date) : fournit l\u2019heure comprise dans un num\u00e9ro de s\u00e9rie donn\u00e9 (date).<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Il est\u00a0\u00e9galement possible de r\u00e9aliser des\u00a0calculs plus ou moins complexes m\u00ealant fonctions, <a href=\"https:\/\/www.auditsi.eu\/?p=6458\">op\u00e9rateurs arithm\u00e9tiques<\/a> (+, -, *, \/), <a href=\"https:\/\/www.auditsi.eu\/?p=6979\">op\u00e9rateurs de comparaison<\/a>\u00a0(&lt;, &gt;, =) et <a href=\"https:\/\/www.auditsi.eu\/?p=6975\">op\u00e9rateurs bool\u00e9ens<\/a> (AND, OR) ;\u00a0exemple de\u00a0calcul d&#8217;un solde comptable sur une balance g\u00e9n\u00e9rale :<\/p>\n<pre class=\"lang:default decode:true\">SELECT Compte, Libell\u00e9Compte, D\u00e9bit, Cr\u00e9dit, D\u00e9bit-Cr\u00e9dit AS Solde\r\nFROM Balance;<\/pre>\n<p><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=6923\" rel=\"attachment wp-att-6923\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6923\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eateBG1.png\" alt=\"R\u00e9sultatRequ\u00eateBG1\" width=\"626\" height=\"403\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eateBG1.png 626w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eateBG1-300x193.png 300w\" sizes=\"auto, (max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Pour d\u00e9taxer un montant TTC (sur la base d&#8217;un taux de TVA \u00e0 20 %) :<\/p>\n<p style=\"text-align: center;\"><em>TTC\/1.20 AS HT<\/em>.<\/p>\n<p style=\"text-align: justify;\">L&#8217;ordre d&#8217;ex\u00e9cution\u00a0des calculs suit les <a href=\"https:\/\/www.auditsi.eu\/?p=6458\">r\u00e8gles de priorit\u00e9<\/a> g\u00e9n\u00e9ralement admises en math\u00e9matique et en informatique ; l&#8217;utilisation des <a href=\"https:\/\/www.auditsi.eu\/?p=6458\">parenth\u00e8ses<\/a> permet de changer l&#8217;ordre d&#8217;ex\u00e9cution.<\/p>\n<p><em>Champ calcul\u00e9 conditionnel :<\/em><\/p>\n<p style=\"text-align: justify;\">L&#8217;instruction <em>iif(condition,r\u00e9sultat1,r\u00e9sultat2)<\/em> renvoie <em>r\u00e9sultat1<\/em> ou <em>r\u00e9sultat2<\/em> en fonction de la r\u00e9alisation de la <em>condition<\/em>. L&#8217;instruction iif correspond au test conditionnel <a href=\"https:\/\/www.auditsi.eu\/?p=1797\">IF&#8230; THEN&#8230; ELSE du langage BASIC<\/a>.<\/p>\n<p style=\"text-align: justify;\">Par exemple, pour calculer une remise de fin d&#8217;ann\u00e9e de 1 % pour chaque client r\u00e9alisant\u00a0un chiffre d&#8217;affaires d\u00e9passant 500 K\u20ac :<\/p>\n<p style=\"text-align: center;\"><em>iif(CA&gt;500000,0.01,0)*CA AS RFA<\/em>.<\/p>\n<p style=\"text-align: justify;\">Autres exemples :<\/p>\n<ul>\n<li style=\"text-align: justify;\">pour \u00e9viter une division par z\u00e9ro, la formule <em>iif([champ1]=0,0,[champ2]\/[champ1])<\/em> renvoie le r\u00e9sultat 0 (z\u00e9ro) quand le champ [champ1] est nul, dans le cas contraire la division de [champ2] par [champ1] est effectu\u00e9e.<\/li>\n<li style=\"text-align: justify;\">la fonction IIF est \u00e9galement utilis\u00e9e lorsqu\u2019un champ num\u00e9rique est vide. En effet, si ce champ est int\u00e9gr\u00e9 dans une formule de calcul, le calcul ne sera pas ex\u00e9cut\u00e9 puisque le contenu du champ n\u2019est pas num\u00e9rique. La formule <em>iif([champ] is null,0,[champ])<\/em> remplace les champs vides par z\u00e9ro.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><em>Conditions (WHERE) :<\/em><\/p>\n<pre class=\"lang:default decode:true\">SELECT Compte, Libell\u00e9Compte, Left(Compte,3) AS Cpte3\r\nFROM PlanComptable\r\nWHERE Compte=\"512100000\" OR Compte=\"512200000\";<\/pre>\n<p style=\"text-align: justify;\">La clause\u00a0<em>WHERE<\/em> conditionne l&#8217;extraction de donn\u00e9es au respect de crit\u00e8res. Dans cet exemple, ne seront list\u00e9s que les comptes \u00e9gaux (=) \u00e0 512100000\u00a0ou (<em>OR<\/em>)\u00a0\u00e0 512200000 :<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=6926\" rel=\"attachment wp-att-6926\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6926\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eateBG2.png\" alt=\"R\u00e9sultatRequ\u00eateBG2\" width=\"626\" height=\"85\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eateBG2.png 626w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2017\/07\/R\u00e9sultatRequ\u00eateBG2-300x41.png 300w\" sizes=\"auto, (max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">L&#8217;op\u00e9rateur <em>OR<\/em> constate la r\u00e9alisation de la condition si l&#8217;un des deux crit\u00e8res est rempli. L&#8217;op\u00e9rateur <em>AND<\/em>\u00a0constate la\u00a0r\u00e9alisation de\u00a0la condition si les deux crit\u00e8res sont remplis. Les op\u00e9rateurs de comparaison &lt;, &gt;, = sont \u00e9galement utilisables en combinaison ou non avec les op\u00e9rateurs <em>AND<\/em> et <em>OR<\/em> :<\/p>\n<p style=\"text-align: center;\"><em>WHERE (CA&gt;=1000 AND CA&lt;5000) OR (CA&gt;=50000 AND CA &lt;150000)<\/em><\/p>\n<p style=\"text-align: justify;\">Les fonctions <em>Left<\/em>, <em>Right<\/em>&#8230; et les parenth\u00e8ses \u00e9voqu\u00e9es pour la clause\u00a0<em>SELECT<\/em> peuvent \u00e9galement \u00eatre appel\u00e9es pour d\u00e9finir les crit\u00e8res dans la clause <em>WHERE<\/em>.<\/p>\n<p style=\"text-align: justify;\"><em>Tri des r\u00e9sultats (ORDER BY) :<\/em><\/p>\n<p style=\"text-align: justify;\">Pour trier les r\u00e9sultats de la requ\u00eate, il suffit de faire suivre la clause\u00a0<em>ORDER BY<\/em>\u00a0par les champs \u00e0 classer dans l&#8217;ordre ascendant (du plus petit au plus grand) :<\/p>\n<pre class=\"lang:default decode:true \">SELECT Compte, Libell\u00e9Compte, Left(Compte,3) AS Cpte3\r\nFROM PlanComptable\r\nWHERE Compte=\"512100000\" OR Compte=\"512200000\"\r\nORDER BY Compte;<\/pre>\n<p>Pour trier dans l&#8217;ordre descendant :\u00a0<em>ORDER BY Compte DESC<\/em>.<\/p>\n<p style=\"text-align: justify;\">Le r\u00e9sultat d&#8217;une requ\u00eate est interrogeable par une autre requ\u00eate ou au sein de la m\u00eame requ\u00eate (dans le cadre d&#8217;une sous-requ\u00eate).<\/p>\n<p style=\"text-align: justify;\">Exemples pratiques :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.auditsi.eu\/?p=236\">Audit &amp; poste clients : d\u00e9tection du d\u00e9passement de plafond de cr\u00e9dit \/ assurance-client<\/a> (introduction aux jointures, \u00e0 iif et\u00a0aux op\u00e9rateurs de comparaison),<\/li>\n<li><a href=\"https:\/\/www.auditsi.eu\/?p=360\">Echantillonnage de donn\u00e9es : s\u00e9lection al\u00e9atoire de donn\u00e9es<\/a> (introduction aux instructions SELECT TOP 10,\u00a0RND),<\/li>\n<li><a href=\"https:\/\/www.auditsi.eu\/?p=303\">Recherche d\u2019anomalies et d\u00e9termination de points de contr\u00f4le \u00e0 partir d\u2019une balance g\u00e9n\u00e9rale et des \u00e9tats financiers<\/a> (introduction aux fonctions Left, Right\u00a0et Len, aux sous-requ\u00eates, requ\u00eates UNION et requ\u00eates regroupement GROUP BY),<\/li>\n<li><a href=\"https:\/\/www.auditsi.eu\/?p=256\">Acc\u00e8s au syst\u00e8me informatique : d\u00e9tection de la fraude ou des usurpations d\u2019identit\u00e9<\/a> (introduction aux fonctions Weekday et Hour).<\/li>\n<\/ul>\n<p>Approfondir le sujet : <a href=\"https:\/\/www.auditsi.eu\/?cat=1820\">Ma\u00eetriser le langage de requ\u00eate SQL<\/a>\u00a0\/ <a href=\"https:\/\/www.auditsi.eu\/?p=6976\">les op\u00e9rateurs<\/a>\u00a0\/ <a href=\"https:\/\/www.auditsi.eu\/?cat=50\">Analyse de donn\u00e9es<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"Analyse%20de%20donn%C3%A9es%20%3A%20interroger%20une%20base%20de%20donn%C3%A9es%20avec%20une%20requ%C3%AAte%20SQL\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>L&#8217;analyse de donn\u00e9es fait partie du quotidien des professionnels de la comptabilit\u00e9 et de la finance. Excel est g\u00e9n\u00e9ralement l&#8217;outil d&#8217;analyse pl\u00e9biscit\u00e9 pour ce genre de t\u00e2ches mais\u00a0le langage de requ\u00eate SQL (acronyme pour Structured Query Language ou langage de requ\u00eate structur\u00e9)\u00a0est particuli\u00e8rement adapt\u00e9 pour r\u00e9aliser les t\u00e2ches d&#8217;extraction et de mise en forme des &#8230;<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?p=6899\" class=\"more-link\">Continue reading &lsquo;Analyse de donn\u00e9es : interroger une base de donn\u00e9es avec une requ\u00eate SQL&rsquo; &raquo;<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"Analyse%20de%20donn%C3%A9es%20%3A%20interroger%20une%20base%20de%20donn%C3%A9es%20avec%20une%20requ%C3%AAte%20SQL\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[50,1820,282],"tags":[1823,60,166,287,284,692,989,1822,1828,285,1827,251,233,1826,1693,1821,899,1142,286,1863,907,1698,57,1819,1865,1866,1867,1868,1869,283,682,222,1824,1825],"class_list":["post-6899","post","type-post","status-publish","format-standard","hentry","category-audit-de-donnees","category-requetes-sql","category-sql","tag-abs","tag-access","tag-analyse-de-donnees","tag-and","tag-as","tag-champ-calcule","tag-champ-de-donnees","tag-desc","tag-hour","tag-iif","tag-joursem","tag-left","tag-len","tag-month","tag-operateurs-arithmetiques","tag-operateurs-booleens","tag-operateurs-de-calcul","tag-operateurs-de-comparaison","tag-or","tag-order-by","tag-parentheses","tag-priorite","tag-requete-sql","tag-right","tag-select-all","tag-select-distinct","tag-select-distinctrow","tag-select-top","tag-select-top-percent","tag-select-from-where-order-by","tag-sgbdr","tag-tests-conditionnels","tag-val","tag-year"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/6899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6899"}],"version-history":[{"count":33,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/6899\/revisions"}],"predecessor-version":[{"id":7167,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/6899\/revisions\/7167"}],"wp:attachment":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}