\documentclass[10pt]{article}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\graphicspath{ {./images/} }
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[version=4]{mhchem}
\usepackage{stmaryrd}
\usepackage{bbold}
\usepackage{mathrsfs}

\begin{document}
\section*{Ccricome}
\section*{CONCOURS D'ADMISSION 2024}
\includegraphics[max width=\textwidth, alt={}, center]{9ba63c26-7e51-47ef-99a3-acc29a7c2e77-1_625_503_584_0}\\
\includegraphics[max width=\textwidth, alt={}, center]{9ba63c26-7e51-47ef-99a3-acc29a7c2e77-1_332_1022_639_571}

\section*{Mathématiques Appliquées}
Série ECG\\
Lundi 15 avril 2024 de 8 hOO à 12 h 00\\
Durée : 4 heures\\
Candidats bénéficiant de la mesure «Tiers-temps » :\\
8h00-13h20

\section*{L'énoncé comporte 6 pages.}
\section*{INSTRUCTIONS}
Tous les feuillets doivent être identifiables et numérotés par le candidat.\\
Aucun document n'est permis, aucun instrument de calcul n'est autorisé.\\
Conformément au règlement du concours, l'usage d'appareils communicants ou connectés est formellement interdit durant l'épreuve.\\
Les candidats sont invités à soigner la présentation de leur copie, à mettre en évidence les principaux résultats, à respecter les notations de l'énoncé et à donner des démonstrations complètes - mais brèves - de leurs affirmations.\\
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre.\\
Ce document est la propriété d'ECRICOME, le candidat est autorisé à le conserver à l'issue de l'épreuve.\\
Le candidat dispose d'une annexe Python et SQL en page 8.

Dans les questions faisant intervenir des instructions en langage Python, on prendra soin d'importer les bibliothèques nécessaires lors de leur première utilisation.\\
Pour traiter les questions d'informatique, les candidats sont invités à se référer aux annexes fournies en fin de sujet. Ils ne sont pas limités à l'utilisation des seules fonctions mentionnées dans ces annexes.

\section*{EXERCICE 1}
Pour toute variable aléatoire discrète \(X\) à valeurs dans \(\mathbb{N}^{*}\), et pour tout entier naturel \(k\), on pose :

\[
R_{X}(k)=P(X>k) .
\]

La partie II est indépendante des autres parties; les résultats de la partie I pourront intervenir dans la partie III.

\section*{Partie I}
\begin{enumerate}
  \item Soit \(p\) un réel de \(] 0,1[\). Dans cette question uniquement, on suppose que \(X\) suit la loi géométrique de paramètre \(p\).\\
(a) Calculer \(R_{X}(k)\) pour tout entier naturel \(k\).\\
(b) Vérifier que: \(\forall k \in \mathbb{N}^{*}, \frac{R_{X}(k)}{R_{X}(k-1)}=1-p\).
  \item Soient \(X\) et \(Y\) deux variables aléatoires discrètes à valeurs dans \(\mathbb{N}^{*}\).\\
(a) Pour tout entier naturel \(k\) non nul, exprimer \(P(X=k)\) à l'aide de la fonction \(R_{X}\).\\
(b) En déduire que \(X\) et \(Y\) suivent la même loi si et seulement si, pour tout entier naturel \(k, R_{X}(k)=R_{Y}(k)\).
\end{enumerate}

\section*{Partie II}
\begin{enumerate}
  \setcounter{enumi}{2}
  \item (a) Déterminer deux réels \(a\) et \(b\) tels que : \(\forall n \in \mathbb{N}^{*}, \frac{n}{(n+1)!}=\frac{a}{n!}-\frac{b}{(n+1)!}\).\\
(b) En déduire que la série \(\sum_{n \geqslant 1} \frac{n}{(n+1) \text { ! }}\) est convergente et déterminer la valeur de la somme \(\sum_{n=1}^{+\infty} \frac{n}{(n+1) \text { ! }}\).
  \item Dans cette question, on considère une variable aléatoire \(X\) à valeurs dans \(\mathbb{N}^{*}\) telle que :
\end{enumerate}

\[
\forall n \in \mathbb{N}^{*}, P(X=n)=\frac{n}{(n+1)!} .
\]

(a) Montrer que la variable aléatoire \(X+1\) admet une espérance et calculer \(E(X+1)\). En déduire que \(X\) admet une espérance et calculer \(E(X)\).\\
(b) Montrer que la variable aléatoire \((X-1)(X+1)\) admet une espérance et calculer \(E((X-1)(X+1))\). En déduire que \(X\) admet une variance et calculer \(V(X)\).

\section*{Partie III}
Soit \(\left(\alpha_{k}\right)_{k \in \mathbb{N}^{*}}\) une suite de réels strictement compris entre 0 et 1 .\\
On étudie la durée de vie en années d'un appareil. Tout au long de l'année initiale \(k=0\), on suppose que l'appareil fonctionne. Puis, à l'issue de chaque année numéro \(k\) ( \(k\) étant un entier naturel non nul), l'appareil possède une certaine probabilité de tomber en panne.\\
Plus précisément, on suppose que, pour tout entier naturel \(k\) non nul, si la machine fonctionne encore à l'issue de la \((k-1)^{\text {ème }}\) année, alors elle cesse de fonctionner à la fin de l'année \(k\) avec probabilité \(\alpha_{k}\), et elle continue à fonctionner après la fin de l'année \(k\) avec probabilité \(1-\alpha_{k}\).\\
On note \(X\) la variable aléatoire égale à la durée de vie en années de l'appareil.\\
5. Justifier que, pour tout entier naturel \(k\) non nul : \(R_{X}(k)=\left(1-\alpha_{k}\right) R_{X}(k-1)\).\\
6. En déduire, pour tout entier naturel \(k\) non nul : \(R_{X}(k)=\prod_{i=1}^{k}\left(1-\alpha_{i}\right)\).\\
7. En déduire, pour tout entier naturel \(k\) non nul, une expression de \(P(X=k)\) en fonction des termes de la suite \(\left(\alpha_{i}\right)_{i \in \mathbb{N}^{*}}\). On pourra utiliser le résultat de la question 2 a.

\section*{8. Étude de deux exemples.}
(a) Dans cette question uniquement, on suppose que la suite \(\left(\alpha_{k}\right)_{k \in \mathbb{N}^{*}}\) est constante, c'est-à-dire : \(\forall k \in \mathbb{N}^{*}, \alpha_{k}=p\). Reconnaître la loi de \(X\).\\
(b) Dans cette question uniquement, on suppose que, pour tout entier naturel \(k\) non nul, \(\alpha_{k}=\frac{k}{k+1}\).

Déterminer la loi de \(X\).

\section*{Partie IV}
Un fabricant d'ordinateurs souhaite publier des données statistiques sur la durée de vie de ses appareils fabriqués à partir de l'an 2000. Dans une base de données, on dispose d'une table ordinateur contenant des informations sur tous les ordinateurs produits par le fabricant. Cette table possède les attributs (ou colonnes) suivants.

\begin{itemize}
  \item id (de type INTEGER) : le numéro d'identification de l'ordinateur.
  \item annee\_fabrication (de type INTEGER) : l'année de fabrication de l'ordinateur.
  \item adresse\_ip (de type INTEGER) : l'adresse IP associée à l'ordinateur.
  \item annee\_panne (de type INTEGER) : l'année où l'ordinateur a cessé de fonctionner, valant -1 si l'ordinateur est encore en état de marche.\\
Dans les questions qui suivent, en plus des commandes SQL au programme, on pourra utiliser les fonctions présentées dans l'Annexe B en fin de sujet.
\end{itemize}

\begin{enumerate}
  \setcounter{enumi}{8}
  \item (a) Écrire une requête SQL permettant de déterminer le nombre total d'ordinateurs produits par le fabricant.\\
(b) Écrire une requête SQL permettant de déterminer le nombre d'ordinateurs ayant cessé de fonctionner exactement un an après leur production.\\
(c) Dans cette question uniquement, on suppose que la durée de vie en années d'un ordinateur est une variable aléatoire de loi géométrique, de paramètre \(p\) inconnu.\\
Expliquer de quelle manière le résultat des requêtes écrites dans les questions 9a et 9b peut être utilisé pour estimer le paramètre \(p\).
  \item Un attribut duree\_vie, de type INTEGER, a été ajouté à la table ordinateur. Aux champs de l'attribut duree\_vie a été affectée la valeur -1 .\\
Écrire une requête SQL permettant de modifier la table ordinateur en affectant, pour chaque ordinateur, sa durée de vie à l'attribut duree\_vie. Dans le cas des ordinateurs qui sont encore en état de marche, on ne modifiera pas la valeur -1 déjà affectée.
  \item Dans cette question, on cherche à déterminer s'il est raisonnable de représenter la durée de vie d'un ordinateur par une variable aléatoire de loi géométrique d'un certain paramètre \(p\) que l'on cherchera à approcher.\\
(a) Expliquer comment le résultat de la requête suivante permet d'obtenir une valeur approchée de \(p\).
\end{enumerate}

\begin{verbatim}
SELECT AVG(duree_vie) FROM ordinateurs
\end{verbatim}

(b) La base de données compte au total 10000 ordinateurs. On exécute les requêtes suivantes :

\begin{verbatim}
SELECT COUNT(*)/10000 FROM ordinateurs WHERE duree_vie = 1 ;
SELECT COUNT(*)/10000 FROM ordinateurs WHERE duree_vie = 2 ;
    \vdots 伯 百
SELECT COUNT(*)/10000 FROM ordinateurs WHERE duree_vie = 24 ;
\end{verbatim}

En utilisant les résultats de la question 8, expliquer de quelle manière les données de la table ordinateur peuvent être exploitées pour déterminer s'il est raisonnable de représenter la durée de vie d'un ordinateur par une variable aléatoire de loi géométrique.

\section*{EXERCICE 2}
Soit \(a\) un réel. On considère la fonction \(I_{a}\) définie par :

\[
I_{a}(x)=\int_{x}^{+\infty} e^{2 a(x-t)-t^{2}} \mathrm{~d} t
\]

On considère également l'intégrale \(J_{a}\) définie par :

\[
J_{a}=\int_{0}^{+\infty} e^{-2 a t-t^{2}} \mathrm{~d} t
\]

\section*{Partie I}
\begin{enumerate}
  \item (a) Montrer la relation suivante :
\end{enumerate}

\[
e^{-2 a t-t^{2}}=\underset{t \rightarrow+\infty}{o}\left(\frac{1}{t^{2}}\right) .
\]

(b) En déduire que l'intégrale \(J_{a}\) est convergente.\\
2. En déduire que la fonction \(I_{a}\) est définie sur \(\mathbb{R}\).\\
3. (a) Justifier que :

\[
\lim _{x \rightarrow+\infty} \int_{x}^{+\infty} e^{-2 a t-t^{2}} \mathrm{~d} t=0
\]

(b) Dans cette question uniquement, on suppose que \(a\) est positif.

Montrer que, pour tout réel \(x\) :

\[
I_{a}(x) \leqslant \int_{x}^{+\infty} e^{-t^{2}} \mathrm{~d} t
\]

(c) Déduire des deux questions précédentes que, quelle que soit la valeur du réel \(a\) : \(\lim _{x \rightarrow+\infty} I_{a}(x)=0\).

\section*{Partie II}
On considère l'équation différentielle suivante, d'inconnue \(y: \mathbb{R} \longrightarrow \mathbb{R}\) dérivable :

\[
y^{\prime}=2 a y-e^{-x^{2}} .
\]

Dans cette partie, on s'intéresse aux solutions de l'équation (1) qui vérifient \(\lim _{x \rightarrow+\infty} y(x)=0\).\\
On considère l'équation homogène associée à (1) :

\[
y^{\prime}=2 a y .
\]

\begin{enumerate}
  \setcounter{enumi}{3}
  \item Déterminer l'ensemble des solutions de l'équation homogène (2).
  \item On considère la fonction \(F_{a}\) définie sur \(\mathbb{R}\) par :
\end{enumerate}

\[
\forall x \in \mathbb{R}, \quad F_{a}(x)=\int_{0}^{x} e^{-2 a t-t^{2}} \mathrm{~d} t .
\]

(a) Montrer que \(F_{a}\) est dérivable sur \(\mathbb{R}\) et, pour tout réel \(x\), déterminer \(F_{a}^{\prime}(x)\).\\
(b) Montrer que, pour tout réel \(x\),

\[
I_{a}(x)=e^{2 a x}\left(J_{a}-F_{a}(x)\right) .
\]

(c) En déduire que la fonction \(I_{a}\) est dérivable sur \(\mathbb{R}\) et qu'elle est solution de l'équation différentielle (1).\\
6. Déterminer l'ensemble des solutions de (1).\\
7. Déterminer l'ensemble des solutions \(y\) de (1) telles que \(\lim _{x \rightarrow+\infty} y(x)=0\) dans les trois cas suivants :\\
(a) \(a<0\),\\
(b) \(a=0\),\\
(c) \(a>0\).

On pourra utiliser le résultat de la question 3c.

\section*{Partie III}
On considère une variable aléatoire \(X\) de loi normale d'espérance \(-a\) et de variance \(\frac{1}{2}\).\\
8. (a) Rappeler l'expression d'une densité de \(X\).\\
(b) Tracer l'allure de sa courbe représentative dans le cas \(a=2\).\\
9. Soit \(x\) un réel.\\
(a) Exprimer \(P(X \geqslant x)\) sous forme d'intégrale.\\
(b) En déduire :

\[
I_{a}(x)=\sqrt{\pi} e^{2 a x+a^{2}} P(X \geqslant x) .
\]

\begin{enumerate}
  \setcounter{enumi}{9}
  \item (a) Soit \(Z\) une variable aléatoire de loi normale centrée réduite.
\end{enumerate}

Déterminer, en fonction de \(a\), deux réels \(\alpha\) et \(\beta\) tels que \(\alpha Z+\beta\) suit la même loi que \(X\).\\
(b) Recopier et compléter la fonction Python suivante, prenant en arguments d'entrée les réels \(a\) et \(x\), pour qu'elle renvoie une estimation de la probabilité \(P(X \geqslant x)\).

\begin{verbatim}
import numpy as np
import numpy.random as rd
def estim_proba(a, x):
    num = 0
    for i in range(10000):
        Z = rd.normal()
        X = ___-_ + Z/__-_-
        if _____:
            num = num + 1
    return _-_--
\end{verbatim}

\begin{enumerate}
  \setcounter{enumi}{10}
  \item Écrire une fonction Python, nommée approx\_I, prenant en arguments d'entrée les réels \(a\) et \(x\) et renvoyant une valeur approchée de \(I_{a}(x)\).
\end{enumerate}

\section*{EXERCICE 3}
\section*{Partie I}
Soit \(n\) un entier naturel supérieur ou égal à 2 . On considère la matrice carrée d'ordre \(n\) dont tous les coefficients diagonaux sont égaux à 0 , et dont tous les autres coefficients sont égaux à 1 :

\[
M_{n}=\left(\begin{array}{cccc}
0 & 1 & \cdots & 1 \\
1 & 0 & \ddots & \vdots \\
\vdots & \ddots & \ddots & 1 \\
1 & \cdots & 1 & 0
\end{array}\right) .
\]

On note \(I_{n}\) la matrice identité d'ordre \(n\).

\begin{enumerate}
  \item Étude du cas \(n=3\).
\end{enumerate}

Dans cette question, on considère la matrice \(M=\left(\begin{array}{lll}0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0\end{array}\right)\).\\
(a) Justifier que la matrice \(M\) est diagonalisable.\\
(b) Calculer \((M+I)^{2}\), puis en déduire un polynôme annulateur de \(M\).\\
(c) Déterminer les valeurs propres et une base de chaque sous-espace propre de \(M\).

Dans les questions qui suivent, on considère la matrice \(P=\left(\begin{array}{ccc}1 & 1 & 1 \\ -1 & 0 & 1 \\ 0 & -1 & 1\end{array}\right)\).\\
(d) Montrer que \(P\) est inversible et que :

\[
P^{-1}=\frac{1}{3}\left(\begin{array}{ccc}
1 & -2 & 1 \\
1 & 1 & -2 \\
1 & 1 & 1
\end{array}\right) .
\]

Dans les questions qui suivent, on pose \(D=P^{-1} M P\).\\
(e) Déterminer les coefficients de la matrice \(D\).\\
(f) Montrer par récurrence que, pour tout entier naturel \(k, M^{k}=P D^{k} P^{-1}\).\\
(g) Soit \(k\) un entier naturel. On admet qu'il existe deux réels \(a_{k}\) et \(b_{k}\) tels que \(M^{k}=a_{k} M+b_{k} I_{3}\).

En utilisant les résultats des questions précédentes, déterminer \(a_{k}\) et \(b_{k}\).\\
2. Cas général : \(n\) est un entier naturel quelconque supérieur ou égal à 2 .

On considère la matrice \(J_{n}\) carrée d'ordre \(n\) dont tous les coefficients sont égaux à 1 :

\[
J_{n}=\left(\begin{array}{cccc}
1 & 1 & \cdots & 1 \\
1 & 1 & \ddots & \vdots \\
\vdots & \ddots & \ddots & 1 \\
1 & \cdots & 1 & 1
\end{array}\right) .
\]

(a) Montrer que, pour tout entier naturel \(k\) non nul, \(\left(J_{n}\right)^{k}=n^{k-1} J_{n}\).\\
(b) Exprimer \(M_{n}\) en fonction de \(I_{n}\) et \(J_{n}\).\\
(c) En déduire, pour tout entier naturel \(k\) non nul :

\[
\left(M_{n}\right)^{k}=c_{k} J_{n}+(-1)^{k} I_{n},
\]

où :

\[
c_{k}=\sum_{i=1}^{k}\binom{k}{i} n^{i-1}(-1)^{k-i} .
\]

(d) Montrer que, pour tout entier naturel \(k\) non nul,

\[
c_{k}=\frac{(n-1)^{k}+(-1)^{k+1}}{n},
\]

où \(c_{k}\) est le réel défini à la question précédente.\\
(e) En déduire, pour tout entier naturel \(k\) non nul, une expression des coefficients diagonaux et des coefficients non diagonaux de \(\left(M_{n}\right)^{k}\), en fonction de \(n\) et de \(k\).

\section*{Partie II}
Soit \(n\) un entier naturel supérieur ou égal à 2 . On considère un graphe non orienté \(K_{n}\) à \(n\) sommets numérotés de 1 à \(n\), dans lequel chaque sommet est relié à chaque autre sommet par une arête et n'est pas relié à lui-même par une arête.\\
3. Représenter graphiquement les graphes \(K_{2}, K_{3}, K_{4}\) et \(K_{5}\).\\
4. (a) Déterminer la matrice d'adjacence du graphe \(K_{n}\).\\
(b) Dans le graphe \(K_{4}\), combien existe-t-il de chaînes (ou chemins) de longueur 4 menant du sommet numéro 1 à lui-même?\\
On pourra utiliser le résultat de la question 2e.\\
5. Déterminer le degré de chaque sommet du graphe \(K_{n}\).\\
6. Montrer que le nombre total d'arêtes du graphe \(K_{n}\) est égal à \(\frac{n(n-1)}{2}\).

\section*{Partie III}
Soient \(n\) un entier naturel supérieur ou égal à 2 et \(K_{n}\) le graphe défini dans la partie II. On parcourt les sommets du graphe \(K_{n}\) de la façon suivante :

\begin{itemize}
  \item Initialement, à l'étape \(k=0\), on se trouve sur le sommet numéro 1 .
  \item À chaque étape, on change de sommet en suivant au hasard, avec équiprobabilité, l'une des arêtes issues du sommet actuel.\\
Pour tout entier naturel \(k\), on note \(X_{k}\) la variable aléatoire égale au numéro du sommet sur lequel on se trouve à la \(k^{\text {ème }}\) étape (c'est-à-dire à l'issue du \(k^{\text {ème }}\) déplacement). En particulier, \(X_{0}\) est une variable aléatoire constante égale à 1 .
\end{itemize}

Pour tout entier naturel \(k\), on note \(V_{k}\) la matrice ligne de \(\mathscr{M}_{1, n}(\mathbb{R})\) définie par :

\[
V_{k}=\left(P\left(X_{k}=1\right) \quad P\left(X_{k}=2\right) \quad \cdots \quad P\left(X_{k}=n\right)\right) .
\]

\begin{enumerate}
  \setcounter{enumi}{6}
  \item Déterminer \(V_{0}\) et \(V_{1}\).
  \item Déterminer la matrice de transition de la chaîne de Markov \(\left(X_{k}\right)_{k \in \mathbb{N}}\).
  \item (a) Rappeler la définition d'un état stable de la chaîne de Markov \(\left(X_{k}\right)_{k \in \mathbb{N}}\).\\
(b) Soit \(V\) la matrice ligne de \(\mathscr{M}_{1, n}(\mathbb{R})\) dont tous les coefficients sont égaux à \(\frac{1}{n}\) :
\end{enumerate}

\[
V=\left(\begin{array}{llll}
\frac{1}{n} & \frac{1}{n} & \cdots & \frac{1}{n}
\end{array}\right) .
\]

Montrer que \(V\) est un état stable de la chaîne de Markov \(\left(X_{k}\right)_{k \in \mathbb{N}}\).\\
10. (a) Pour tout entier naturel \(k\), rappeler sans démonstration une expression de \(V_{k+1}\) en fonction de \(V_{k}, M_{n}\) et \(n\), où \(M_{n}\) est la matrice définie par (3) en introduction de la partie I.\\
(b) En déduire, pour tout entier naturel \(k\) :

\[
V_{k}=\frac{1}{(n-1)^{k}} V_{0}\left(M_{n}\right)^{k} .
\]

(c) En utilisant le résultat de la question 2e, en déduire que la suite \(\left(X_{k}\right)_{k \in \mathbb{N}}\) converge en loi vers une variable aléatoire dont on reconnaîtra la loi.\\
11. Comparer et commenter les résultats des questions 9b et 10c.

\section*{Annexe A - Fonctions Python utiles}
\section*{Opérations arithmétiques.}
\begin{itemize}
  \item L'opération //, appliquée entre deux entiers naturels non nuls, renvoie le quotient de la division euclidienne du premier entier par le second.\\
Par exemple, \(13 / / 4\) renvoie 3 car \(13=4 \times 3+1\).
  \item L'opération \%, appliquée entre deux entiers naturels non nuls, renvoie le reste de la division euclidienne du premier entier par le second.\\
Par exemple, \(13 \% 4\) renvoie 1 car \(13=4 \times 3+1\).
\end{itemize}

\section*{La bibliothèque numpy.}
\begin{itemize}
  \item Exemple d'importation : import numpy as np.
  \item Les opérations \(+,-, *, /, * *\), lorsqu'elles sont possibles, peuvent être réalisées entre deux tableaux numpy de dimensions compatibles et agissent alors coefficient par coefficient.
  \item Les fonctions np.sqrt (racine carrée), np.abs (valeur absolue), np.log (logarithme népérien) et np.exp (exponentielle) s'appliquent à une quantité numérique ou à un tableau numpy de nombres. Dans ce dernier cas, les fonctions sont appliquées à chaque élément du tableau donné en argument d'entrée.
  \item Une valeur approchée de la constante \(\pi\) est stockée dans la variable np.pi.
\end{itemize}

\section*{Le module numpy.random.}
\begin{itemize}
  \item Exemple d'importation : import numpy.random as rd.
  \item La commande rd.normal() renvoie une réalisation aléatoire de la loi normale centrée réduite.
\end{itemize}

\section*{Annexe B - Commandes SQL}
La fonction COUNT(). La fonction d'agrégation COUNT() permet de connaître le nombre d'enregistrements d'une table, vérifiant éventuellement une certaine condition.\\
Nous donnons ci-dessous plusieurs exemples d'utilisation de la fonction COUNT(), en considérant une table nommée ma\_table comportant deux colonnes colonne\_1 et colonne\_2.

\begin{itemize}
  \item La requête suivante renvoie le nombre total d'enregistrements dans ma\_table :
\end{itemize}

\begin{verbatim}
SELECT COUNT(*) FROM ma_table
\end{verbatim}

\begin{itemize}
  \item La requête suivante renvoie le nombre d'enregistrements de ma\_table vérifiant la condition cond :
\end{itemize}

\begin{verbatim}
SELECT COUNT (*) FROM ma_table
WHERE cond
\end{verbatim}

\begin{itemize}
  \item La requête suivante renvoie le nombre d'enregistrements de ma\_table pour lesquels la valeur de colonne\_2 n'est pas vide :
\end{itemize}

\begin{verbatim}
SELECT COUNT(colonne_2) FROM ma_table
\end{verbatim}

La fonction d'agrégation AVG(). La fonction AVG() permet de calculer la moyenne des valeurs d'une colonne dans une table. Par exemple, si on considère la table nommée table contenant les enregistrements suivants :

\begin{center}
\begin{tabular}{c|c|c|c}
colonne\_1 & colonne\_2 & colonne\_3 & colonne\_4 \\
\hline
1 & 69 & Lyon & 4 \\
2 & 31 & Toulouse & 8 \\
3 & 54 & Nancy & 5 \\
4 & 64 & Saint-Jean-de-Luz & 17 \\
5 & 44 & Nantes & 6 \\
\end{tabular}
\end{center}

alors la requête suivante

\begin{verbatim}
SELECT AVG(colonne_4)
    FROM table
    WHERE colonne_1 <= 3
\end{verbatim}

affiche la moyenne des valeurs de colonne\_4 des trois premiers enregistrements : 5.6667 c'est-à-dire \(\frac{4+8+5}{3}\).


\end{document}