{"id":5370,"date":"2024-04-23T23:07:22","date_gmt":"2024-04-23T21:07:22","guid":{"rendered":"https:\/\/quike.it\/it\/?p=5370"},"modified":"2024-04-23T23:07:23","modified_gmt":"2024-04-23T21:07:23","slug":"suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql","status":"publish","type":"post","link":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/","title":{"rendered":"Suggerimenti per la gestione dei valori nulli in PostgreSQL"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5370\" class=\"elementor elementor-5370\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4ac189e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4ac189e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-68cfbf9\" data-id=\"68cfbf9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4a40bea elementor-widget elementor-widget-text-editor\" data-id=\"4a40bea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>L&#8217;affermazione che &#8220;<span style=\"color: #800000;\"><em><strong>un valore booleano dovrebbe contenere solo due valori, Vero o Falso<\/strong><\/em><\/span>&#8220;, \u00e8 generalmente accettata. Tuttavia, talvolta si trascura il fatto che <strong><em>il valore potrebbe essere completamente assente<\/em><\/strong>.<\/p><p>Nei <a href=\"https:\/\/quike.it\/it\/postgresql-il-mio-database-favorito\/\" target=\"_blank\" rel=\"noopener\"><strong>database,<\/strong><\/a> questa assenza \u00e8 comunemente memorizzata come <strong>NULL.<\/strong><\/p><p>In questo articolo, esamineremo come individuare tali valori <strong><em>nulli,<\/em><\/strong> come gestirli correttamente e offrir\u00f2 alcuni suggerimenti basati sulla mia esperienza personale per la <strong>gestione di NULL in PostgreSQL.<\/strong><\/p><p>\u00c8 importante notare che non solo i <em><strong>booleani<\/strong><\/em> possono avere valori <strong>NULL,<\/strong> ma anche tutte le colonne dove non \u00e8 definita una restrizione (<em><strong>constraint<\/strong><\/em>) <strong>NOT NULL<\/strong> possono contenerli.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a7f6d3d elementor-widget elementor-widget-table-of-contents\" data-id=\"a7f6d3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;headings_by_tags&quot;:[&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;container&quot;:&quot;.articolo&quot;,&quot;exclude_headings_by_selector&quot;:[],&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;fas fa-circle&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tINDICE\t\t\t<\/h4>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__a7f6d3d\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e850950 elementor-section-full_width articolo elementor-section-height-default elementor-section-height-default\" data-id=\"e850950\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d49ae04\" data-id=\"d49ae04\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f749f79 elementor-widget elementor-widget-heading\" data-id=\"f749f79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Gestione dei valori nulli in PostgreSQL<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ebac8b elementor-widget elementor-widget-text-editor\" data-id=\"7ebac8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Partiamo dalle basi: abbiamo un <strong>database<\/strong> <em><strong>PostgreSQL<\/strong><\/em> e creeremo una <em>tabella<\/em> chiamata <em><strong>&#8220;utenti&#8221;<\/strong><\/em> con la seguente struttura:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-83f2021 elementor-widget elementor-widget-code-highlight\" data-id=\"83f2021\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>CREATE TABLE utenti (\r\n    id_utente SERIAL,\r\n    nomeutente TEXT PRIMARY KEY,\r\n    nome TEXT,\r\n    cognome TEXT,\r\n    eta INT\r\n);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8108095 elementor-widget elementor-widget-image\" data-id=\"8108095\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/blog_0155.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"blog_0155\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQwNiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9ibG9nXzAxNTUuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"797\" height=\"249\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/blog_0155.jpg\" class=\"attachment-full size-full wp-image-5406\" alt=\"null in postgresql\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/blog_0155.jpg 797w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/blog_0155-300x94.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/blog_0155-768x240.jpg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5bfca2 elementor-widget elementor-widget-text-editor\" data-id=\"a5bfca2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Aggiungiamo ora alcune righe di dati alla <em>tabella<\/em> degli <em><strong>utenti<\/strong><\/em> appena creata.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90f6860 elementor-widget elementor-widget-code-highlight\" data-id=\"90f6860\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente, nome, cognome, eta) VALUES\r\n    ('gigi', 'Giuseppe', 'Garibaldi', 35),\r\n    ('anga','Anita', 'Garibaldi', 25),\r\n    ('gileo','Giacomo', 'Leopardi', 45),\r\n    ('jrambo','John','Rambo',38);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59c378d elementor-widget elementor-widget-image\" data-id=\"59c378d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0000.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0000\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQxMCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDAuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"796\" height=\"122\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0000.jpg\" class=\"attachment-full size-full wp-image-5410\" alt=\"null in postgresql\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0000.jpg 796w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0000-300x46.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0000-768x118.jpg 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-169343b elementor-widget elementor-widget-text-editor\" data-id=\"169343b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Quando viene eseguita una <em><strong>query,<\/strong><\/em> la <em>tabella<\/em> viene visualizzata con tutte le colonne complete.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2d6f1d elementor-widget elementor-widget-image\" data-id=\"a2d6f1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0001.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0001\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQxMSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDEuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"797\" height=\"167\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0001.jpg\" class=\"attachment-full size-full wp-image-5411\" alt=\"null in postgresql\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0001.jpg 797w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0001-300x63.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0001-768x161.jpg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f57ab8e elementor-widget elementor-widget-heading\" data-id=\"f57ab8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Inserimento di valori NULL<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25c6ffe elementor-widget elementor-widget-text-editor\" data-id=\"25c6ffe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ora proviamo ad inserire alcuni valori <strong>NULL<\/strong> nelle <em>colonne<\/em> <em><strong>nome,<\/strong> <strong>cognome<\/strong><\/em> ed <em><strong>et\u00e0.<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42dd432 elementor-widget elementor-widget-code-highlight\" data-id=\"42dd432\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente,nome,cognome,eta) \nVALUES ('test',NULL, NULL, NULL);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8df1a9d elementor-widget elementor-widget-text-editor\" data-id=\"8df1a9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Questo avviene perch\u00e9 non abbiamo definito alcuna <em>restrizione<\/em> (<em><strong>constraint<\/strong><\/em>).<\/p><p>Se eseguiamo nuovamente la <em><strong>query<\/strong><\/em> sui dati inseriti, noteremo che le colonne in cui abbiamo inserito <strong>NULL<\/strong> non mostrano nessun valore.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0932e38 elementor-widget elementor-widget-image\" data-id=\"0932e38\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0002.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0002\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQxMiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDIuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"218\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0002.jpg\" class=\"attachment-full size-full wp-image-5412\" alt=\"null in postgresql\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0002.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0002-300x82.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0002-768x210.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c302d28 elementor-widget elementor-widget-text-editor\" data-id=\"c302d28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Possiamo semplificare ulteriormente l&#8217;inserimento specificando solo le <em>colonne<\/em> a cui vogliamo assegnare un valore, ottenendo lo stesso risultato.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a30230d elementor-widget elementor-widget-code-highlight\" data-id=\"a30230d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente) VALUES ('test_02'),('test_03');<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d811f77 elementor-widget elementor-widget-image\" data-id=\"d811f77\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0003.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0003\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQxMywidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDMuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"252\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0003.jpg\" class=\"attachment-full size-full wp-image-5413\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0003.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0003-300x95.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0003-768x243.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3f398e elementor-widget elementor-widget-heading\" data-id=\"e3f398e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Gestione dei valori nulli - Inserimento dei valori NULL<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-beb7522 elementor-widget elementor-widget-text-editor\" data-id=\"beb7522\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il primo passo per evitare la presenza di <em><strong>valori NULL<\/strong><\/em> in una <em>tabella<\/em> \u00e8 impedirne l&#8217;inserimento.<\/p><p>Successivamente, esamineremo diverse situazioni su come evitare <strong>l&#8217;inserimento di <em>NULL<\/em><\/strong> sia nelle <em>colonne<\/em> nuove che in quelle gi\u00e0 esistenti.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e5c26a elementor-widget elementor-widget-heading\" data-id=\"0e5c26a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Inserire NULL nella chiave primaria (Primary Key)<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3684890 elementor-widget elementor-widget-text-editor\" data-id=\"3684890\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #800000;\"><em><strong>\u00c8 consentito inserire un NULL nella chiave primaria della tabella?<\/strong><\/em><\/span><\/p><p>In teoria, ci\u00f2 potrebbe essere permesso poich\u00e9 non c&#8217;\u00e8 una restrizione <strong><em>(constraint)<\/em><\/strong> <strong>NOT NULL<\/strong> esplicita sulla <em>colonna.<\/em><\/p><p>Proviamo a farlo:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a423773 elementor-widget elementor-widget-code-highlight\" data-id=\"a423773\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente) VALUES (NULL);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38ef6b5 elementor-widget elementor-widget-text-editor\" data-id=\"38ef6b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La <em><strong>query<\/strong><\/em> correttamente scritta dovrebbe funzionare, ma invece restituisce un messaggio di <strong>errore:<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f167e6d elementor-widget elementor-widget-image\" data-id=\"f167e6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0004.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0004\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQxNywidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDQuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"80\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0004.jpg\" class=\"attachment-full size-full wp-image-5417\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0004.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0004-300x30.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0004-768x77.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-801ee09 elementor-widget elementor-widget-text-editor\" data-id=\"801ee09\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Siamo giunti alla nostra <em><strong>prima conclusione<\/strong><\/em>:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6dba76a elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"6dba76a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 1<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Per impostazione predefinita, le chiavi primarie (PRIMARY KEY) sono NOT NULL.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-713a4bc elementor-widget elementor-widget-heading\" data-id=\"713a4bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Creare una nuova colonna con la restrizione (constraint) NOT NULL<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-313702a elementor-widget elementor-widget-text-editor\" data-id=\"313702a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se proviamo ad aggiungere una nuova <em>colonna<\/em> alla <em>tabella<\/em> del nostro esempio, denominata <em><strong>&#8220;punteggio&#8221;,<\/strong><\/em> e specificare che non deve contenere <em><strong>valori NULL<\/strong><\/em>, useremo il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94a409a elementor-widget elementor-widget-code-highlight\" data-id=\"94a409a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER TABLE utenti ADD COLUMN punteggio integer NOT NULL;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-844dd24 elementor-widget elementor-widget-text-editor\" data-id=\"844dd24\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il comando restituir\u00e0 un errore poich\u00e9 i dati inseriti precedentemente non hanno nessun valore associato alla <em>colonna <strong>&#8220;punteggio&#8221;.<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b90e2d5 elementor-widget elementor-widget-image\" data-id=\"b90e2d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0005.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0005\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQyOSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDUuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"104\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0005.jpg\" class=\"attachment-full size-full wp-image-5429\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0005.jpg 796w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0005-300x39.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0005-768x100.jpg 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79c2368 elementor-widget elementor-widget-text-editor\" data-id=\"79c2368\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per prevenire questo problema, dovremmo creare la nuova <em>colonna<\/em> specificando un <em>valore predefinito<\/em> (<em><strong>DEFAULT<\/strong><\/em>).<\/p><p>Il comando sarebbe il seguente:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d4317c2 elementor-widget elementor-widget-code-highlight\" data-id=\"d4317c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER TABLE utenti ADD COLUMN punteggio integer NOT NULL DEFAULT 0;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98f4f86 elementor-widget elementor-widget-image\" data-id=\"98f4f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0006.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0006\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQzMCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDYuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"250\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0006.jpg\" class=\"attachment-full size-full wp-image-5430\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0006.jpg 799w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0006-300x94.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0006-768x240.jpg 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec515f4 elementor-widget elementor-widget-text-editor\" data-id=\"ec515f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Come si pu\u00f2 notare dalla schermata precedente, la <em>tabella<\/em> \u00e8 stata modificata e ora tutte le <em>righe<\/em> esistenti hanno un valore <em><strong>&#8216;zero&#8217;<\/strong><\/em> nella colonna <em><strong>punteggio.<\/strong><\/em><\/p><p>Se proviamo a inserire una nuova <em>riga<\/em> senza specificare la <em>colonna <strong>punteggio,<\/strong><\/em> osserveremo che il valore predefinito impostato viene assegnato con successo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de73ff5 elementor-widget elementor-widget-code-highlight\" data-id=\"de73ff5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente) VALUES ('simone10');<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be41d51 elementor-widget elementor-widget-image\" data-id=\"be41d51\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0007.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0007\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQzMSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDcuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"269\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0007.jpg\" class=\"attachment-full size-full wp-image-5431\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0007.jpg 799w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0007-300x101.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0007-768x259.jpg 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c46b01 elementor-widget elementor-widget-text-editor\" data-id=\"6c46b01\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Proviamo a inserire un <em><strong>valore nullo<\/strong><\/em> nella <em>colonna <strong>punteggio<\/strong><\/em> e vediamo cosa succede.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec1eda7 elementor-widget elementor-widget-code-highlight\" data-id=\"ec1eda7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente,punteggio) VALUES ('teresa22',NULL);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64bb11c elementor-widget elementor-widget-image\" data-id=\"64bb11c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0008.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0008\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQzMiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDguanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"78\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0008.jpg\" class=\"attachment-full size-full wp-image-5432\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0008.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0008-300x29.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0008-768x75.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47e97f9 elementor-widget elementor-widget-text-editor\" data-id=\"47e97f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Abbiamo ricevuto l&#8217;<strong><span style=\"color: #800000;\"><em>ERRORE: il valore nullo nella colonna &#8220;punteggio&#8221; della relazione &#8220;utenti&#8221; viola la restrizione di non nullit\u00e0, il che indica che il nostro INSERT sta violando la restrizione NOT NULL<\/em><\/span><\/strong>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3fcd704 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"3fcd704\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 2<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Imporre una restrizione <strong><i>NOT NULL<\/i> <\/strong> impedisce l'inserimento di valori nulli.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f29f2c elementor-widget elementor-widget-text-editor\" data-id=\"6f29f2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Inoltre, in base a quanto abbiamo osservato, possiamo giungere a una terza conclusione:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a12a68f elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"a12a68f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 3<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Quando vogliamo aggiungere una colonna <strong><i>NOT NULL<\/i><\/strong> a una tabella esistente con dati, \u00e8 necessario specificare un valore predefinito (<strong><i>DEFAULT<\/i><\/strong>) per le righe che sono state create in precedenza.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-910a76e elementor-widget elementor-widget-heading\" data-id=\"910a76e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Aggiungere una restrizione NOT NULL a una colonna esistente<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b2b020 elementor-widget elementor-widget-text-editor\" data-id=\"8b2b020\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se tentiamo di modificare una <em>colonna<\/em> esistente (<em>ad esempio,<\/em> <em><strong>&#8220;nome&#8221;)<\/strong><\/em> per aggiungere la <em>restrizione<\/em> <strong>NOT NULL<\/strong>, otteniamo il seguente errore: <span style=\"color: #800000;\"><em><strong>&#8220;ERRORE: la colonna &#8220;nome&#8221; della relazione &#8220;utenti&#8221; contiene valori nulli&#8221;<\/strong><\/em><\/span>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05432c3 elementor-widget elementor-widget-code-highlight\" data-id=\"05432c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER TABLE utenti ALTER COLUMN nome SET NOT NULL;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-68ce7bc elementor-widget elementor-widget-image\" data-id=\"68ce7bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0009.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0009\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQzOSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMDkuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"65\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0009.jpg\" class=\"attachment-full size-full wp-image-5439\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0009.jpg 799w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0009-300x24.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0009-768x62.jpg 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3285a2b elementor-widget elementor-widget-text-editor\" data-id=\"3285a2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Quindi, \u00e8 anche necessario modificare i <em><strong>valori nulli<\/strong><\/em> attuali (<em>e eventualmente impostare un valore predefinito<\/em>).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b39507d elementor-widget elementor-widget-code-highlight\" data-id=\"b39507d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER TABLE utenti\r\n    ALTER COLUMN nome TYPE TEXT USING (COALESCE(nome, 'Mario')),\r\n    ALTER COLUMN nome SET DEFAULT 'Mario',\r\n    ALTER COLUMN nome SET NOT NULL\r\n    ;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-339ec76 elementor-widget elementor-widget-image\" data-id=\"339ec76\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0010.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0010\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ0MCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTAuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"106\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0010.jpg\" class=\"attachment-full size-full wp-image-5440\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0010.jpg 797w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0010-300x40.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0010-768x102.jpg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb9ea69 elementor-widget elementor-widget-text-editor\" data-id=\"cb9ea69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Con il comando precedente abbiamo:<\/p><ul><li>Modificato il tipo di dati della <em>colonna,<\/em> ridefinendola come <strong>TEXT,<\/strong> e applicato la funzione <em><strong>COALESCE(nome,<\/strong> <strong>&#8216;Mario&#8217;),<\/strong><\/em> che sostituisce i <em><strong>valori<\/strong> <strong>nulli<\/strong><\/em> nella <em>colonna<\/em> <em><strong>&#8220;nome&#8221;<\/strong><\/em> con <strong><em>&#8220;Mario&#8221;.<\/em><\/strong><\/li><li>Impostato il valore predefinito per la <em>colonna <strong>&#8220;nome&#8221;<\/strong><\/em> come <em><strong>&#8220;Mario&#8221;.<\/strong><\/em> Questo passaggio non \u00e8 strettamente necessario.<\/li><li>Applicato la restrizione <strong>NOT NULL<\/strong>, senza ricevere un messaggio di errore poich\u00e9 non ci sono <strong>valori nulli<\/strong> nella <em>colonna.<\/em><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2654d98 elementor-widget elementor-widget-text-editor\" data-id=\"2654d98\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I risultati corrispondono a quanto atteso: non ci sono <em><strong>valori nulli<\/strong><\/em> nella <em>colonna <strong>&#8220;nome&#8221;,<\/strong><\/em> poich\u00e9 sono stati sostituiti da <em><strong>&#8216;Mario&#8217;.<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c48ff2 elementor-widget elementor-widget-image\" data-id=\"9c48ff2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0011.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0011\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ0MSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTEuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"230\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0011.jpg\" class=\"attachment-full size-full wp-image-5441\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0011.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0011-300x86.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0011-768x221.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f11b6a9 elementor-widget elementor-widget-text-editor\" data-id=\"f11b6a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se vogliamo rimuovere la restrizione <strong>NOT NULL<\/strong> da una <em>colonna,<\/em> possiamo farlo utilizzando il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3dab0aa elementor-widget elementor-widget-code-highlight\" data-id=\"3dab0aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER TABLE utenti\r\nALTER COLUMN nome DROP NOT NULL\r\n;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-72c0c85 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"72c0c85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 4<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Se vogliamo aggiungere una colonna <strong>NOT NULL<\/strong> a una tabella esistente, \u00e8 necessario aggiornare i valori <strong>NULL<\/strong> attuali e, facoltativamente, definire un valore predefinito (<strong>DEFAULT<\/strong>) per le nuove righe inserite.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d99cb05 elementor-widget elementor-widget-heading\" data-id=\"d99cb05\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">\u00c8 sufficiente utilizzare \"DEFAULT\"?<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a275f5 elementor-widget elementor-widget-text-editor\" data-id=\"8a275f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #800000;\"><em><strong>Cosa accade se omettiamo la restrizione NOT NULL e impostiamo semplicemente un valore predefinito?<\/strong><\/em><\/span><\/p><p>Proviamo a creare una nuova <em>colonna<\/em> chiamata <strong><em>&#8220;primo_login&#8221;<\/em><\/strong> e vediamo come appare la nostra <em>tabella.<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5cba3c elementor-widget elementor-widget-code-highlight\" data-id=\"b5cba3c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER TABLE utenti\nADD COLUMN primo_login DATE DEFAULT CURRENT_DATE;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e78204 elementor-widget elementor-widget-image\" data-id=\"1e78204\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0012.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0012\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ0OCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTIuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"281\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0012.jpg\" class=\"attachment-full size-full wp-image-5448\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0012.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0012-300x106.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0012-768x270.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ab07600 elementor-widget elementor-widget-text-editor\" data-id=\"ab07600\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Come possiamo notare dall&#8217;esempio, la <em>colonna <strong>&#8220;primo_login&#8221;<\/strong><\/em> \u00e8 stata popolata con la data odierna in tutte le <em>righe<\/em> della <em>tabella.<\/em><\/p><p>Se proviamo ad aggiungere una nuova <em>riga<\/em> senza specificare un valore per <em><strong>&#8220;primo_login&#8221;,<\/strong><\/em> verr\u00e0 assegnata automaticamente la data odierna.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90d3b64 elementor-widget elementor-widget-code-highlight\" data-id=\"90d3b64\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente) VALUES ('tizio01');<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7732869 elementor-widget elementor-widget-image\" data-id=\"7732869\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0013.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0013\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ1NSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTMuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"284\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0013.jpg\" class=\"attachment-full size-full wp-image-5455\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0013.jpg 799w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0013-300x107.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0013-768x273.jpg 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e623d9 elementor-widget elementor-widget-text-editor\" data-id=\"2e623d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Come dimostrato, la <em>nuova riga<\/em> viene inserita correttamente con un <em><strong>valore non nullo<\/strong><\/em> nella <em>colonna <strong>&#8220;primo_login&#8221;.<\/strong><\/em><\/p><p><span style=\"color: #800000;\"><em><strong>Quindi, \u00e8 davvero necessario specificare la restrizione NOT NULL?<\/strong><\/em><\/span><\/p><p>La risposta \u00e8 <strong>SI,<\/strong> poich\u00e9 potrebbero essere inseriti <em><strong>valori nulli<\/strong><\/em> specificandoli esplicitamente nell&#8217;istruzione <strong>INSERT,<\/strong> come si dimostra di seguito.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af6209e elementor-widget elementor-widget-code-highlight\" data-id=\"af6209e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>INSERT INTO utenti (nomeutente, primo_login)\nVALUES ('tizio02',NULL);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9162a02 elementor-widget elementor-widget-image\" data-id=\"9162a02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0014.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0014\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ1NiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTQuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"294\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0014.jpg\" class=\"attachment-full size-full wp-image-5456\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0014.jpg 796w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0014-300x111.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0014-768x284.jpg 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-04a8127 elementor-widget elementor-widget-text-editor\" data-id=\"04a8127\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Come si pu\u00f2 osservare nella schermata precedente, \u00e8 stato possibile inserire una <em>nuova riga<\/em> con un <strong>valore NULL<\/strong> per la <em>colonna <strong>&#8220;primo_login&#8221;.<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a52c8b6 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"a52c8b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 5<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Il valore predefinito impedir\u00e0 l'inserimento di valori nulli solo se il <strong>NULL<\/strong> non \u00e8 specificato nella colonna di destinazione. Per far rispettare il valore predefinito, abbiamo bisogno di una restrizione <strong>NOT NULL<\/strong> esplicita.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2b515b elementor-widget elementor-widget-heading\" data-id=\"e2b515b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Gestione di NULL - Interrogazione dei valori NULL<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e4a18e elementor-widget elementor-widget-text-editor\" data-id=\"4e4a18e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Nella sezione precedente abbiamo esaminato come evitare di memorizzare <em><strong>valori nulli<\/strong><\/em> nei nostri sistemi.<\/p><p><span style=\"color: #800000;\"><em><strong>Ma, come gestire i valori nulli esistenti in una colonna?<\/strong><\/em><\/span><\/p><p>In questo caso, possiamo utilizzare alcune <strong>funzioni SQL<\/strong> per individuare quei valori e modificarli secondo necessit\u00e0.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05612b5 elementor-widget elementor-widget-heading\" data-id=\"05612b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Rilevare i valori nulli con la clausola IS NULL (isNull)<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3feccae elementor-widget elementor-widget-text-editor\" data-id=\"3feccae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La clausola <strong>IS NULL<\/strong> (<em>anche scritta come <strong>ISNULL<\/strong><\/em>) ci consente di manipolare le <em>righe<\/em> che potrebbero contenere <strong>valori nulli<\/strong>.<\/p><p>Ad esempio:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ceedf5e elementor-widget elementor-widget-code-highlight\" data-id=\"ceedf5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT * FROM utenti WHERE cognome ISNULL;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d324004 elementor-widget elementor-widget-image\" data-id=\"d324004\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0015.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0015\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2MCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTUuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"210\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0015.jpg\" class=\"attachment-full size-full wp-image-5460\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0015.jpg 797w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0015-300x79.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0015-768x202.jpg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46a3eab elementor-widget elementor-widget-text-editor\" data-id=\"46a3eab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Come si pu\u00f2 osservare, \u00e8 stata mostrata la lista di <em>righe<\/em> che contengono <strong>valori nulli<\/strong> nella <em>colonna <strong>&#8220;cognome&#8221;.<\/strong><\/em><\/p><p>Una lista con valori opposti potrebbe essere recuperata applicando la clausola <strong>IS NOT NULL<\/strong>:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c6ac37 elementor-widget elementor-widget-code-highlight\" data-id=\"2c6ac37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT * FROM utenti WHERE cognome IS NOT NULL;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1752dcf elementor-widget elementor-widget-image\" data-id=\"1752dcf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0016.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0016\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2MSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTYuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"173\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0016.jpg\" class=\"attachment-full size-full wp-image-5461\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0016.jpg 799w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0016-300x65.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0016-768x166.jpg 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a40bec elementor-widget elementor-widget-text-editor\" data-id=\"5a40bec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><em><strong>Cosa accade se tentiamo di utilizzare il confronto di uguaglianza (=)?<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7da5866 elementor-widget elementor-widget-code-highlight\" data-id=\"7da5866\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT * FROM utenti WHERE cognome = NULL;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-20ecf60 elementor-widget elementor-widget-image\" data-id=\"20ecf60\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0017.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0017\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2MiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTcuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"112\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0017.jpg\" class=\"attachment-full size-full wp-image-5462\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0017.jpg 796w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0017-300x42.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0017-768x108.jpg 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2e56f7 elementor-widget elementor-widget-text-editor\" data-id=\"e2e56f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La <em><strong>query<\/strong><\/em> precedente non restituisce alcuna <em>riga<\/em> perch\u00e9 il valore <strong>NULL<\/strong> indica l&#8217;assenza di un valore e non \u00e8 uguale a nessun altro valore (<em><strong>NULL=NULL \u00e8 Falso<\/strong><\/em>).<\/p><p>Inoltre, se applichiamo l&#8217;operatore di disuguaglianza (<em><strong>&lt;&gt;<\/strong><\/em>) con <strong>NULL,<\/strong> otteniamo anche <strong>NESSUNA<\/strong> <em>riga,<\/em> poich\u00e9 il valore <strong>NULL<\/strong> indica l&#8217;assenza di un valore e quindi non \u00e8 n\u00e9 uguale n\u00e9 diverso da altri valori.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cccf6a1 elementor-widget elementor-widget-code-highlight\" data-id=\"cccf6a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT * FROM utenti WHERE cognome <> NULL;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e005b83 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"e005b83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 6<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Per identificare i valori nulli, dovremmo sempre utilizzare <strong>IS NULL<\/strong>; e <strong>IS NOT NULL<\/strong> per recuperare le righe senza valori nulli.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53d1ce1 elementor-widget elementor-widget-heading\" data-id=\"53d1ce1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Assegnare un valore predefinito a NULL utilizzando la funzione COALESCE<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6fe5bba elementor-widget elementor-widget-text-editor\" data-id=\"6fe5bba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Nell&#8217;esempio precedente, abbiamo visto come individuare i <strong>valori nulli<\/strong>.<\/p><p><span style=\"color: #800000;\"><em><strong>Ma cosa succede se dobbiamo includerli in una dichiarazione SELECT insieme ad altri valori?<\/strong><\/em><\/span><\/p><p>Possiamo aggiungere una condizione <strong>OR<\/strong> nel seguente modo:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-168c9c5 elementor-widget elementor-widget-code-highlight\" data-id=\"168c9c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT * FROM utenti\r\nWHERE cognome = 'Garibaldi' OR cognome IS NULL ;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0f1bf5 elementor-widget elementor-widget-text-editor\" data-id=\"d0f1bf5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Possiamo anche applicare una trasformazione per sostituire i <em><strong>valori nulli<\/strong><\/em> con un valore con cui possiamo confrontarli.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50c5672 elementor-widget elementor-widget-code-highlight\" data-id=\"50c5672\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT * FROM utenti\r\nCOALESCE(cognome,'Caio') in ('Caio', 'Garibaldi');<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50782ba elementor-widget elementor-widget-text-editor\" data-id=\"50782ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I due esempi precedenti restituiscono lo stesso risultato.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4bb0ac9 elementor-widget elementor-widget-image\" data-id=\"4bb0ac9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0018.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0018\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2NiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTguanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"448\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0018.jpg\" class=\"attachment-full size-full wp-image-5466\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0018.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0018-300x168.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0018-768x431.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7736bcd elementor-widget elementor-widget-text-editor\" data-id=\"7736bcd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Scegliendo la seconda alternativa, \u00e8 cruciale verificare che <em><strong>&#8216;Caio&#8217;<\/strong><\/em> (<em>l&#8217;etichetta assegnata ai <strong>valori nulli<\/strong><\/em>) non sia presente nella <em>colonna,<\/em> o che sia un valore che desideriamo includere nella nostra selezione.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f297773 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"f297773\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 7<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Utilizzando COALESCE, \u00e8 importante verificare che il valore che verr\u00e0 utilizzato come sostituto per NULL non sia gi\u00e0 presente nella tabella e che non contraddica la logica del processo. In caso contrario, potresti involontariamente includere nel filtro valori aggiuntivi rispetto a quelli attesi.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0375f39 elementor-widget elementor-widget-heading\" data-id=\"0375f39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Operazioni matematiche con NULLs<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-57de70c elementor-widget elementor-widget-text-editor\" data-id=\"57de70c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Un caso simile si verifica quando dobbiamo effettuare calcoli su una <em>colonna<\/em> che ammette <em><strong>valori nulli<\/strong><\/em>.<\/p><p>Per esempio, consideriamo la colonna <em><strong>&#8220;eta&#8221;:<\/strong> <span style=\"color: #800000;\"><strong>cosa accade se vogliamo calcolare l&#8217;et\u00e0 media?<\/strong><\/span><\/em><\/p><p>Esaminiamo i dati:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58cde61 elementor-widget elementor-widget-image\" data-id=\"58cde61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0019.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0019\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2NywidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMTkuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"266\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0019.jpg\" class=\"attachment-full size-full wp-image-5467\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0019.jpg 796w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0019-300x100.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0019-768x257.jpg 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b94888 elementor-widget elementor-widget-text-editor\" data-id=\"4b94888\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Possiamo calcolare <strong><em>l&#8217;et\u00e0<\/em> <em>media<\/em><\/strong> con il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9903eb1 elementor-widget elementor-widget-code-highlight\" data-id=\"9903eb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT AVG(eta) FROM utenti ;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-edec9e7 elementor-widget elementor-widget-image\" data-id=\"edec9e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0020.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0020\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2OCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjAuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"128\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0020.jpg\" class=\"attachment-full size-full wp-image-5468\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0020.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0020-300x48.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0020-768x123.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b7d86c3 elementor-widget elementor-widget-text-editor\" data-id=\"b7d86c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Questo produce un risultato di <em><strong>35,75,<\/strong><\/em> che rappresenta la media delle <em><strong>4 et\u00e0 NON NULL<\/strong><\/em>.<\/p><p>Allo stesso modo, se consideriamo la <em>colonna <strong>&#8220;primo_login&#8221;<\/strong><\/em> con il comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5528cd elementor-widget elementor-widget-code-highlight\" data-id=\"b5528cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT COUNT(primo_login) FROM utenti ;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca6caf9 elementor-widget elementor-widget-image\" data-id=\"ca6caf9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0021.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0021\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ2OSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjEuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"124\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0021.jpg\" class=\"attachment-full size-full wp-image-5469\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0021.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0021-300x47.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0021-768x119.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5d09f1 elementor-widget elementor-widget-text-editor\" data-id=\"f5d09f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il risultato \u00e8 <em><strong>9<\/strong><\/em>, che rappresenta una <em>riga<\/em> per ogni utente con un valore per <em><strong>&#8220;primo_login&#8221;<\/strong><\/em> diverso da <strong>NULL.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b698c21 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"b698c21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 8<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Quando si eseguono operazioni matematiche con colonne contenenti valori nulli, vengono processati solo i valori <strong>NON NULLI<\/strong>!<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0528a92 elementor-widget elementor-widget-text-editor\" data-id=\"0528a92\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #800000;\"><em><strong>Cosa accade se tentiamo di calcolare il punteggio medio?<\/strong><\/em><\/span><\/p><p>Per farlo, aggiorniamo innanzitutto la <em>tabella<\/em> assegnando a <em><strong>&#8216;simone10&#8217;<\/strong><\/em> un <em><strong>punteggio<\/strong><\/em> di <em><strong>45 punti<\/strong><\/em>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-183fa4f elementor-widget elementor-widget-code-highlight\" data-id=\"183fa4f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>UPDATE utenti SET punteggio = 45 WHERE nomeutente = 'simone10' ;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f056a1d elementor-widget elementor-widget-text-editor\" data-id=\"f056a1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Procediamo a calcolare il <strong><em>punteggio<\/em> <em>medio.<\/em><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df781a6 elementor-widget elementor-widget-code-highlight\" data-id=\"df781a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT AVG(punteggio) FROM utenti ;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e50fa39 elementor-widget elementor-widget-image\" data-id=\"e50fa39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0022.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0022\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ3MCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjIuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"159\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0022.jpg\" class=\"attachment-full size-full wp-image-5470\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0022.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0022-300x60.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0022-768x153.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-04d88a7 elementor-widget elementor-widget-text-editor\" data-id=\"04d88a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il risultato \u00e8 <em><strong>4,5,<\/strong><\/em> che rappresenta la media matematica tra i <em><strong>45<\/strong><\/em> punti di &#8216;simone10&#8217; e gli <em><strong>zeri<\/strong><\/em> degli altri, dato che precedentemente abbiamo impostato <em><strong>zero<\/strong><\/em> come valore predefinito.<\/p><p>Tuttavia, la correttezza di questo risultato dipende dall&#8217;obiettivo che ci siamo prefissati.<\/p><p>Se volevamo calcolare la media dei <em><strong>punteggi<\/strong><\/em> solo degli utenti attivi, questo calcolo potrebbe risultare ingannevole.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82c1503 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"82c1503\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 9<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Le operazioni matematiche con colonne nulle sono influenzate dal valore predefinito della colonna, il che influenza i risultati ottenuti.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d9a6391 elementor-widget elementor-widget-heading\" data-id=\"d9a6391\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">JOINS con colonne NULL<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-955b6c5 elementor-widget elementor-widget-text-editor\" data-id=\"955b6c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Considerando ci\u00f2 che abbiamo appreso in precedenza sulla distinzione di <strong>NULL<\/strong> rispetto ad altri valori, \u00e8 fondamentale prestare maggiore attenzione quando si gestiscono <em>colonne<\/em> nulle durante l&#8217;esecuzione di <strong>JOIN.<\/strong><\/p><p>Creeremo un&#8217;altra <em>tabella<\/em> chiamata <em><strong>&#8220;appuntamenti&#8221;<\/strong><\/em> e inseriremo alcuni dati.<\/p><p>Per scopi accademici in questo caso, il design di questa <em>tabella<\/em> ci obbliga a effettuare un <strong>JOIN<\/strong> con la <em>tabella <strong>&#8220;utenti&#8221;<\/strong><\/em> sulla <em>colonna <strong>&#8220;cognome&#8221;,<\/strong><\/em> che accetta valori <strong>NULL.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-adb9ebc elementor-widget elementor-widget-code-highlight\" data-id=\"adb9ebc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>CREATE TABLE appuntamenti (id_appuntamento SERIAL, cognome TEXT, ora TIMESTAMP);\r\n\r\nINSERT INTO appuntamenti (cognome, ora) VALUES\r\n    ('Garibaldi', CURRENT_TIMESTAMP - INTERVAL '1 day'),\r\n    ('Leopardi', CURRENT_TIMESTAMP - INTERVAL '1 day'*2),\r\n    ('Rambo', CURRENT_TIMESTAMP - INTERVAL '1 day'*2),\r\n    ('Rambo', CURRENT_TIMESTAMP),\r\n    (NULL, CURRENT_TIMESTAMP),\r\n    (NULL, CURRENT_TIMESTAMP - INTERVAL '1 day'*2),\r\n    (NULL, CURRENT_TIMESTAMP - INTERVAL '1 day'*2),\r\n    (NULL, CURRENT_TIMESTAMP - INTERVAL '1 day'*1),\r\n    (NULL, CURRENT_TIMESTAMP);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a14c453 elementor-widget elementor-widget-image\" data-id=\"a14c453\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0023.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0023\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ3NywidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjMuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"456\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0023.jpg\" class=\"attachment-full size-full wp-image-5477\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0023.jpg 797w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0023-300x172.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0023-768x439.jpg 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75d78ef elementor-widget elementor-widget-text-editor\" data-id=\"75d78ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se desideriamo contare gli <strong><em>utenti<\/em><\/strong> che hanno un appuntamento in ciascun giorno, potremmo scrivere la seguente <em><strong>query:<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-91a10c8 elementor-widget elementor-widget-code-highlight\" data-id=\"91a10c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT EXTRACT(DAY FROM ora), COUNT(distinct nomeutente) \r\nFROM appuntamenti\r\nJOIN utenti ON appuntamenti.cognome = utenti.cognome\r\nGROUP BY EXTRACT(DAY FROM ora);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e02c37 elementor-widget elementor-widget-image\" data-id=\"5e02c37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0024.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0024\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ3OCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjQuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"200\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0024.jpg\" class=\"attachment-full size-full wp-image-5478\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0024.jpg 796w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0024-300x75.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0024-768x193.jpg 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9bba06 elementor-widget elementor-widget-text-editor\" data-id=\"f9bba06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tuttavia, il risultato mostra <em><strong>solo 5 appuntamenti<\/strong><\/em>.<\/p><p><span style=\"color: #800000;\"><em><strong>Perch\u00e9 accade questo?<\/strong><\/em><\/span> Ancora una volta, ci\u00f2 \u00e8 dovuto ai valori <strong>NULL<\/strong> nella condizione di <strong>JOIN.<\/strong><\/p><p>Questo problema di bassa qualit\u00e0 dei dati in entrambe le parti del <strong>JOIN<\/strong> ci impedisce di ottenere un numero utile.<\/p><p><span style=\"color: #800000;\"><strong>Come potremmo risolverlo?<\/strong><\/span> La soluzione risiede nella modifica della struttura della <em>tabella<\/em> <em><strong>appuntamenti<\/strong><\/em> per utilizzare il nome dell&#8217;utente anzich\u00e9 il <em><strong>cognome,<\/strong><\/em> e anche nel definire una chiave esterna <strong>(FOREIGN KEY)<\/strong> adeguata verso la <em>tabella<\/em> degli <em><strong>utenti.<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd98608 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"dd98608\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 10<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Unire le tabelle senza gestire adeguatamente i valori NULL nelle colonne coinvolte pu\u00f2 influenzare i risultati riducendo il numero di righe incluse nella JOIN.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49eb751 elementor-widget elementor-widget-text-editor\" data-id=\"49eb751\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se cerchiamo una soluzione semplice, potremmo applicare <strong>COALESCE<\/strong> su entrambi i lati della <strong>JOIN:<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7bae501 elementor-widget elementor-widget-code-highlight\" data-id=\"7bae501\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT EXTRACT(DAY FROM ora), COUNT(distinct nomeutente) \r\nFROM appuntamenti\r\nJOIN utenti ON COALESCE(appuntamenti.cognome, 'SenzaCognome') = COALESCE(utenti.cognome, 'SenzaCognome')\r\nGROUP BY EXTRACT(DAY FROM ora);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0093906 elementor-widget elementor-widget-image\" data-id=\"0093906\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0025.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0025\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ4MiwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjUuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"214\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0025.jpg\" class=\"attachment-full size-full wp-image-5482\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0025.jpg 795w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0025-300x81.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0025-768x207.jpg 768w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-358c849 elementor-widget elementor-widget-text-editor\" data-id=\"358c849\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il risultato mostra un aumento nel conteggio delle <em><strong>riunioni.<\/strong><\/em><\/p><p>Tuttavia, questa non \u00e8 ancora la risposta corretta, poich\u00e9 osserviamo che vengono <em><strong>aggiunte 18 riunioni<\/strong><\/em>, mentre originariamente ne sono state mostrate solo <strong>5<\/strong> nella <em>tabella<\/em> degli <em><strong>appuntamenti.<\/strong><\/em><\/p><p><span style=\"color: #800000;\"><em><strong>Perch\u00e9 succede questo?<\/strong><\/em><\/span> \u00c8 perch\u00e9 ora abbiamo convertito tutti i valori <strong>NULL<\/strong> in <em><strong>&#8220;SenzaCognome&#8221;<\/strong><\/em> su entrambi i lati della <strong>JOIN.<\/strong><\/p><p>Poich\u00e9 avevamo <strong>5 riunioni<\/strong> senza <em><strong>cognome<\/strong><\/em> e <strong>6 utenti<\/strong> senza <em><strong>cognome,<\/strong><\/em> stiamo generando una <strong>unione cartesiana<\/strong> di tutti i <em><strong>cognomi<\/strong><\/em> vuoti con gli <em><strong>appuntamenti<\/strong><\/em> vuoti.<\/p><p>Avevamo identificato i seguenti utenti senza <em><strong>cognome:<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9135554 elementor-widget elementor-widget-image\" data-id=\"9135554\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0026.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0026\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ4MywidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjYuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"203\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0026.jpg\" class=\"attachment-full size-full wp-image-5483\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0026.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0026-300x76.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0026-768x195.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3e0602 elementor-widget elementor-widget-text-editor\" data-id=\"b3e0602\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Inoltre gli <strong><em>appuntamenti<\/em><\/strong> senza <em><strong>cognome<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-796c98b elementor-widget elementor-widget-image\" data-id=\"796c98b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0027.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0027\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ4NCwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjcuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"188\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0027.jpg\" class=\"attachment-full size-full wp-image-5484\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0027.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0027-300x71.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0027-768x181.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11c5a1b elementor-widget elementor-widget-text-editor\" data-id=\"11c5a1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ogni appuntamento \u00e8 stato associato a ogni utente, generando un eccesso di appuntamenti.<\/p><p>Una soluzione pi\u00f9 adeguata potrebbe essere attribuire tutti gli appuntamenti con <strong>valore NULL<\/strong> a un unico utente fittizio chiamato <em><strong>NoUtente.<\/strong><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89cfedc elementor-widget elementor-widget-code-highlight\" data-id=\"89cfedc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>SELECT EXTRACT(DAY FROM horario), COUNT(distinct COALESCE(nombreusuario,'NoUsuario'))\r\nFROM reuniones \r\nLEFT OUTER JOIN usuarios ON reuniones.apellidos = usuarios.apellidos\r\nGROUP BY EXTRACT(DAY FROM horario);<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a73b5c elementor-widget elementor-widget-image\" data-id=\"7a73b5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0028.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"it_blog_0028\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTQ4NSwidXJsIjoiaHR0cHM6XC9cL3F1aWtlLml0XC9pdFwvd3AtY29udGVudFwvdXBsb2Fkc1wvc2l0ZXNcLzJcLzIwMjRcLzA0XC9pdF9ibG9nXzAwMjguanBnIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"204\" src=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0028.jpg\" class=\"attachment-full size-full wp-image-5485\" alt=\"\" srcset=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0028.jpg 798w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0028-300x77.jpg 300w, https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/it_blog_0028-768x196.jpg 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18fcf3d elementor-widget elementor-widget-text-editor\" data-id=\"18fcf3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tuttavia, affrontare i problemi di qualit\u00e0 dei dati direttamente durante l&#8217;esecuzione della <em><strong>query<\/strong><\/em> raramente si dimostra una strategia efficace.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be676eb elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"be676eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">conclusione # 11<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Risolvere i problemi di qualit\u00e0 dei dati associati alle colonne che contengono valori NULL durante la query \u00e8 una strategia rischiosa. La risoluzione tramite un adeguato design delle tabelle e delle restrizioni permette di mantenere l'integrit\u00e0 dei dati nelle tabelle.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c7c70be elementor-widget elementor-widget-heading\" data-id=\"c7c70be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Conclusione Finale<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78347b8 elementor-widget elementor-widget-text-editor\" data-id=\"78347b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La <strong>gestione dei valori nulli<\/strong> nei database \u00e8 cruciale per mantenere l&#8217;integrit\u00e0 e la precisione dei dati.<\/p><p>Abbiamo esplorato come i valori nulli possano influenzare le operazioni di <strong><em>query<\/em><\/strong> e come affrontare queste eventualit\u00e0 attraverso strategie come l&#8217;uso di <strong>COALESCE,<\/strong> il design appropriato delle <em>tabelle<\/em> e le <em>restrizioni.<\/em><\/p><p>\u00c8 importante riconoscere che risolvere i problemi di qualit\u00e0 dei dati al momento della <em><strong>query<\/strong><\/em> pu\u00f2 essere rischioso, ed \u00e8 preferibile implementare soluzioni strutturali fin dal design iniziale del <strong>database.<\/strong><\/p><p>In questo modo, possiamo garantire l&#8217;affidabilit\u00e0 e la coerenza dei dati nel tempo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>L&#8217;affermazione che &#8220;un valore booleano dovrebbe contenere solo due valori, Vero o Falso&#8220;, \u00e8 generalmente accettata. Tuttavia, talvolta si trascura il fatto che il valore potrebbe essere completamente assente. Nei database, questa assenza \u00e8 comunemente memorizzata come NULL. In questo articolo, esamineremo come individuare tali valori nulli, come gestirli correttamente e offrir\u00f2 alcuni suggerimenti basati [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":5372,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[41],"tags":[],"class_list":["post-5370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-postgresql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Suggerimenti per la gestione dei valori nulli in PostgreSQL &#8211;<\/title>\n<meta name=\"description\" content=\"La gestione dei valori nulli nei database \u00e8 cruciale per mantenere l&#039;integrit\u00e0 e la precisione dei dati. In questo...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Suggerimenti per la gestione dei valori nulli in PostgreSQL\" \/>\n<meta property=\"og:description\" content=\"La gestione dei valori nulli nei database \u00e8 cruciale per mantenere l&#039;integrit\u00e0 e la precisione dei dati. In questo...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"Il BLOG di Enrique V\u00e1squez B.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/zeven.sa.1\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/zeven.sa.1\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-23T21:07:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-23T21:07:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/PostgreSQL_new.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1120\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Enrique Vasquez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@quike1974\" \/>\n<meta name=\"twitter:site\" content=\"@quike1974\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Enrique Vasquez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/\"},\"author\":{\"name\":\"Enrique Vasquez\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#\\\/schema\\\/person\\\/e6309e4dcfa30368d3f1e747d2c71d49\"},\"headline\":\"Suggerimenti per la gestione dei valori nulli in PostgreSQL\",\"datePublished\":\"2024-04-23T21:07:22+00:00\",\"dateModified\":\"2024-04-23T21:07:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/\"},\"wordCount\":1937,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#\\\/schema\\\/person\\\/e53c62e8ab2e3f878e77d3a617483cc8\"},\"image\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/04\\\/PostgreSQL_new.jpg\",\"articleSection\":[\"PostgreSQL\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/\",\"url\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/\",\"name\":\"Suggerimenti per la gestione dei valori nulli in PostgreSQL &#8211;\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/04\\\/PostgreSQL_new.jpg\",\"datePublished\":\"2024-04-23T21:07:22+00:00\",\"dateModified\":\"2024-04-23T21:07:23+00:00\",\"description\":\"La gestione dei valori nulli nei database \u00e8 cruciale per mantenere l'integrit\u00e0 e la precisione dei dati. In questo...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#primaryimage\",\"url\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/04\\\/PostgreSQL_new.jpg\",\"contentUrl\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/04\\\/PostgreSQL_new.jpg\",\"width\":1120,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/quike.it\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Suggerimenti per la gestione dei valori nulli in PostgreSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/quike.it\\\/it\\\/\",\"name\":\"Il BLOG di Enrique V\u00e1squez B.\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#\\\/schema\\\/person\\\/e53c62e8ab2e3f878e77d3a617483cc8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/quike.it\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#\\\/schema\\\/person\\\/e53c62e8ab2e3f878e77d3a617483cc8\",\"name\":\"Enrique V\u00e1squez B.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/07\\\/cropped-Logo_Blog.png\",\"url\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/07\\\/cropped-Logo_Blog.png\",\"contentUrl\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/07\\\/cropped-Logo_Blog.png\",\"width\":444,\"height\":113,\"caption\":\"Enrique V\u00e1squez B.\"},\"logo\":{\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/07\\\/cropped-Logo_Blog.png\"},\"description\":\"Programador desde 1988, con pasi\u00f3n por escribir art\u00edculos de todo tipo. Actualmente desarrolla para ZEVEN S.A. el Sistema de Facturaci\u00f3n Electr\u00f3nica. Ecuatoriano de nacimiento e italiano de residencia, escribe desde G\u00e9nova, ciudad que ha llegado a amar tanto como su natal Guayaquil. Padre de dos hijos que son su orgullo y esposo de una mujer excepcional.\",\"sameAs\":[\"https:\\\/\\\/quike.it\",\"https:\\\/\\\/www.facebook.com\\\/zeven.sa.1\",\"https:\\\/\\\/www.instagram.com\\\/quikev1974\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/carlos-enrique-vasquez-bautista-074893b\\\/\",\"https:\\\/\\\/x.com\\\/quike1974\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/quike.it\\\/it\\\/#\\\/schema\\\/person\\\/e6309e4dcfa30368d3f1e747d2c71d49\",\"name\":\"Enrique Vasquez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/377af8ca0db9809658fdcdab6e801824b8089f79868399643a755f6c48c99c81?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/377af8ca0db9809658fdcdab6e801824b8089f79868399643a755f6c48c99c81?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/377af8ca0db9809658fdcdab6e801824b8089f79868399643a755f6c48c99c81?s=96&d=mm&r=g\",\"caption\":\"Enrique Vasquez\"},\"description\":\"Programmatore dal 1988, con la passione per la scrittura di articoli di ogni genere. Attualmente sviluppa per ZEVEN S.A. il sistema di fatturazione elettronica. Ecuadoriano di nascita ed italiano per residenza, scrive da Genova, citt\u00e0 che ha imparato ad amare tanto quanto la sua natale Guayaquil. Padre di due figli che sono il suo orgoglio e marito di una donna eccezionale.\",\"sameAs\":[\"https:\\\/\\\/quike.it\\\/it\\\/\",\"https:\\\/\\\/www.facebook.com\\\/zeven.sa.1\",\"https:\\\/\\\/www.instagram.com\\\/quikev1974\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/carlos-enrique-vasquez-bautista-074893b\\\/\",\"https:\\\/\\\/x.com\\\/quike1974\"],\"url\":\"https:\\\/\\\/quike.it\\\/it\\\/author\\\/caenvaba\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Suggerimenti per la gestione dei valori nulli in PostgreSQL &#8211;","description":"La gestione dei valori nulli nei database \u00e8 cruciale per mantenere l'integrit\u00e0 e la precisione dei dati. In questo...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/","og_locale":"it_IT","og_type":"article","og_title":"Suggerimenti per la gestione dei valori nulli in PostgreSQL","og_description":"La gestione dei valori nulli nei database \u00e8 cruciale per mantenere l'integrit\u00e0 e la precisione dei dati. In questo...","og_url":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/","og_site_name":"Il BLOG di Enrique V\u00e1squez B.","article_publisher":"https:\/\/www.facebook.com\/zeven.sa.1","article_author":"https:\/\/www.facebook.com\/zeven.sa.1","article_published_time":"2024-04-23T21:07:22+00:00","article_modified_time":"2024-04-23T21:07:23+00:00","og_image":[{"width":1120,"height":600,"url":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/PostgreSQL_new.jpg","type":"image\/jpeg"}],"author":"Enrique Vasquez","twitter_card":"summary_large_image","twitter_creator":"@quike1974","twitter_site":"@quike1974","twitter_misc":{"Scritto da":"Enrique Vasquez","Tempo di lettura stimato":"17 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#article","isPartOf":{"@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/"},"author":{"name":"Enrique Vasquez","@id":"https:\/\/quike.it\/it\/#\/schema\/person\/e6309e4dcfa30368d3f1e747d2c71d49"},"headline":"Suggerimenti per la gestione dei valori nulli in PostgreSQL","datePublished":"2024-04-23T21:07:22+00:00","dateModified":"2024-04-23T21:07:23+00:00","mainEntityOfPage":{"@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/"},"wordCount":1937,"commentCount":0,"publisher":{"@id":"https:\/\/quike.it\/it\/#\/schema\/person\/e53c62e8ab2e3f878e77d3a617483cc8"},"image":{"@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/PostgreSQL_new.jpg","articleSection":["PostgreSQL"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/","url":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/","name":"Suggerimenti per la gestione dei valori nulli in PostgreSQL &#8211;","isPartOf":{"@id":"https:\/\/quike.it\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#primaryimage"},"image":{"@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/PostgreSQL_new.jpg","datePublished":"2024-04-23T21:07:22+00:00","dateModified":"2024-04-23T21:07:23+00:00","description":"La gestione dei valori nulli nei database \u00e8 cruciale per mantenere l'integrit\u00e0 e la precisione dei dati. In questo...","breadcrumb":{"@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#primaryimage","url":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/PostgreSQL_new.jpg","contentUrl":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/PostgreSQL_new.jpg","width":1120,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/quike.it\/it\/suggerimenti-per-la-gestione-dei-valori-nulli-in-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quike.it\/it\/"},{"@type":"ListItem","position":2,"name":"Suggerimenti per la gestione dei valori nulli in PostgreSQL"}]},{"@type":"WebSite","@id":"https:\/\/quike.it\/it\/#website","url":"https:\/\/quike.it\/it\/","name":"Il BLOG di Enrique V\u00e1squez B.","description":"","publisher":{"@id":"https:\/\/quike.it\/it\/#\/schema\/person\/e53c62e8ab2e3f878e77d3a617483cc8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quike.it\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":["Person","Organization"],"@id":"https:\/\/quike.it\/it\/#\/schema\/person\/e53c62e8ab2e3f878e77d3a617483cc8","name":"Enrique V\u00e1squez B.","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2023\/07\/cropped-Logo_Blog.png","url":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2023\/07\/cropped-Logo_Blog.png","contentUrl":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2023\/07\/cropped-Logo_Blog.png","width":444,"height":113,"caption":"Enrique V\u00e1squez B."},"logo":{"@id":"https:\/\/quike.it\/it\/wp-content\/uploads\/sites\/2\/2023\/07\/cropped-Logo_Blog.png"},"description":"Programador desde 1988, con pasi\u00f3n por escribir art\u00edculos de todo tipo. Actualmente desarrolla para ZEVEN S.A. el Sistema de Facturaci\u00f3n Electr\u00f3nica. Ecuatoriano de nacimiento e italiano de residencia, escribe desde G\u00e9nova, ciudad que ha llegado a amar tanto como su natal Guayaquil. Padre de dos hijos que son su orgullo y esposo de una mujer excepcional.","sameAs":["https:\/\/quike.it","https:\/\/www.facebook.com\/zeven.sa.1","https:\/\/www.instagram.com\/quikev1974","https:\/\/www.linkedin.com\/in\/carlos-enrique-vasquez-bautista-074893b\/","https:\/\/x.com\/quike1974"]},{"@type":"Person","@id":"https:\/\/quike.it\/it\/#\/schema\/person\/e6309e4dcfa30368d3f1e747d2c71d49","name":"Enrique Vasquez","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/377af8ca0db9809658fdcdab6e801824b8089f79868399643a755f6c48c99c81?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/377af8ca0db9809658fdcdab6e801824b8089f79868399643a755f6c48c99c81?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/377af8ca0db9809658fdcdab6e801824b8089f79868399643a755f6c48c99c81?s=96&d=mm&r=g","caption":"Enrique Vasquez"},"description":"Programmatore dal 1988, con la passione per la scrittura di articoli di ogni genere. Attualmente sviluppa per ZEVEN S.A. il sistema di fatturazione elettronica. Ecuadoriano di nascita ed italiano per residenza, scrive da Genova, citt\u00e0 che ha imparato ad amare tanto quanto la sua natale Guayaquil. Padre di due figli che sono il suo orgoglio e marito di una donna eccezionale.","sameAs":["https:\/\/quike.it\/it\/","https:\/\/www.facebook.com\/zeven.sa.1","https:\/\/www.instagram.com\/quikev1974","https:\/\/www.linkedin.com\/in\/carlos-enrique-vasquez-bautista-074893b\/","https:\/\/x.com\/quike1974"],"url":"https:\/\/quike.it\/it\/author\/caenvaba\/"}]}},"_links":{"self":[{"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/posts\/5370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/comments?post=5370"}],"version-history":[{"count":71,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/posts\/5370\/revisions"}],"predecessor-version":[{"id":5509,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/posts\/5370\/revisions\/5509"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/media\/5372"}],"wp:attachment":[{"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/media?parent=5370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/categories?post=5370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quike.it\/it\/wp-json\/wp\/v2\/tags?post=5370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}