2015-2016/notes/Tentative avec sqlite.ipynb

1019 lines
37 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Apprendre à manipuler sqlite pour gerer les notes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Références:\n",
" - http://www.saltycrane.com/blog/2007/11/python-sqlite-tutorial-relational/\n",
" - https://pymotw.com/2/sqlite3/\n",
" - http://pythoncentral.io/introduction-to-sqlite-in-python/\n",
" - http://www.datacarpentry.org/python-ecology/08-working-with-sql\n",
" - (pour aller plus loin) https://plot.ly/python/big-data-analytics-with-pandas-and-sqlite/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Connection à la base de données"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import sqlite3\n",
"conn = sqlite3.connect('notes.db')\n",
"c = conn.cursor()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Création de la base de donnée"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<sqlite3.Cursor at 0x7f6764ce9a40>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c.execute('''drop table eleve''')\n",
"c.execute('''create table eleve (\n",
"id integer primary key autoincrement not null,\n",
"name text,\n",
"surname text, \n",
"classe text\n",
"commentaire text\n",
")''')"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<sqlite3.Cursor at 0x7f6764ce9a40>"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c.execute('''drop table devoir''')\n",
"c.execute('''create table devoir (\n",
"id integer primary key autoincrement not null,\n",
"name text, \n",
"date date,\n",
"trimestre integer,\n",
"bareme integer\n",
")''')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<sqlite3.Cursor at 0x7fb1cc362500>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c.execute('''create table note(\n",
"id integer primary key autoincrement not null,\n",
"valeur float,\n",
"eleve_id integer not null references eleve(id),\n",
"devoir_id integer not null references devoir(id)\n",
")''')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import des notes pour les 309"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"all_notes = pd.ExcelFile(\"309.xlsx\")\n",
"notes = all_notes.parse('notes')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Les élèves"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"eleves = notes.columns[1:31]"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"for e in eleves:\n",
" conn.execute('''insert into eleve (name, classe) values (?, ?)''', (e,'309'))\n",
"conn.commit()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Les notes du trimestre 1"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['DM_15_09_18', 'DS_15_09_25', 'BB_15_10_31', 'Conn trimestre 1'], dtype='object')"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"devoir_t1 = notes.iloc[1:5].index\n",
"devoir_t1"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"for d in devoir_t1:\n",
" conn.execute('''insert into devoir (name, trimestre, bareme ) values (?,?,?)''', (d, 1, notes.BAREME[d]))\n",
"conn.commit()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 1\n",
"1 2\n",
"1 3\n",
"1 4\n",
"2 1\n",
"2 2\n",
"2 3\n",
"2 4\n",
"3 1\n",
"3 2\n",
"3 3\n",
"3 4\n",
"4 1\n",
"4 2\n",
"4 3\n",
"4 4\n",
"5 1\n",
"5 2\n",
"5 3\n",
"5 4\n",
"6 1\n",
"6 2\n",
"6 3\n",
"6 4\n",
"7 1\n",
"7 2\n",
"7 3\n",
"7 4\n",
"8 1\n",
"8 2\n",
"8 3\n",
"8 4\n",
"9 1\n",
"9 2\n",
"9 3\n",
"9 4\n",
"10 1\n",
"10 2\n",
"10 3\n",
"10 4\n",
"11 1\n",
"11 2\n",
"11 3\n",
"11 4\n",
"12 1\n",
"12 2\n",
"12 3\n",
"12 4\n",
"13 1\n",
"13 2\n",
"13 3\n",
"13 4\n",
"14 1\n",
"14 2\n",
"14 3\n",
"14 4\n",
"15 1\n",
"15 2\n",
"15 3\n",
"15 4\n",
"16 1\n",
"16 2\n",
"16 3\n",
"16 4\n",
"17 1\n",
"17 2\n",
"17 3\n",
"17 4\n",
"18 1\n",
"18 2\n",
"18 3\n",
"18 4\n",
"19 1\n",
"19 2\n",
"19 3\n",
"19 4\n",
"20 1\n",
"20 2\n",
"20 3\n",
"20 4\n",
"21 1\n",
"21 2\n",
"21 3\n",
"21 4\n",
"22 1\n",
"22 2\n",
"22 3\n",
"22 4\n",
"23 1\n",
"23 2\n",
"23 3\n",
"23 4\n",
"24 1\n",
"24 2\n",
"24 3\n",
"24 4\n",
"25 1\n",
"25 2\n",
"25 3\n",
"25 4\n",
"26 1\n",
"26 2\n",
"26 3\n",
"26 4\n",
"27 1\n",
"27 2\n",
"27 3\n",
"27 4\n",
"28 1\n",
"28 2\n",
"28 3\n",
"28 4\n",
"29 1\n",
"29 2\n",
"29 3\n",
"29 4\n",
"30 1\n",
"30 2\n",
"30 3\n",
"30 4\n"
]
}
],
"source": [
"for e in eleves:\n",
" c.execute('''select id from eleve where name=?''', (e,))\n",
" e_id = c.fetchone()[0]\n",
" for d in devoir_t1:\n",
" c.execute('''select id from devoir where name=?''', (d,))\n",
" d_id = c.fetchone()[0]\n",
" conn.execute('''insert into note (valeur, eleve_id, devoir_id) values (?,?,?)''', (notes[e][d], e_id, d_id))\n",
"conn.commit()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Les notes du trimestre 2"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['DS_15_11_27', 'DM_15_12_09', 'Boulettes', 'BB_16_01_23', 'DM_16_01_29',\n",
" 'Brevet blanc Fevrier', 'Conn trimestre 2'],\n",
" dtype='object')"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"devoir_t2 = notes.iloc[7:14].index\n",
"devoir_t2"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"for d in devoir_t2:\n",
" conn.execute('''insert into devoir (name, trimestre, bareme ) values (?,?,?)''', (d, 2, notes.BAREME[d]))\n",
"conn.commit()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"for e in eleves:\n",
" c.execute('''select id from eleve where name=?''', (e,))\n",
" e_id = c.fetchone()[0]\n",
" for d in devoir_t2:\n",
" c.execute('''select id from devoir where name=?''', (d,))\n",
" d_id = c.fetchone()[0]\n",
" conn.execute('''insert into note (valeur, eleve_id, devoir_id) values (?,?,?)''', (notes[e][d], e_id, d_id))\n",
"conn.commit()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# On essaie maintenant d'accéder à ces notes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ce sont les deux dernières lignes de la requete qui permettent de lier les tables."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Requete pour un élève"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(8.5, 'DS_15_11_27')\n",
"(12.0, 'DM_15_12_09')\n",
"(13.5, 'Boulettes')\n",
"(22.0, 'BB_16_01_23')\n",
"(12.0, 'DM_16_01_29')\n",
"(16.0, 'Brevet blanc Fevrier')\n",
"(11.5, 'Conn trimestre 2')\n"
]
}
],
"source": [
"c.execute(' '.join(['SELECT note.valeur, devoir.name',\n",
" 'FROM note, devoir, eleve',\n",
" 'WHERE eleve.name=?',\n",
" 'AND devoir.trimestre=?',\n",
" 'AND note.devoir_id=devoir.id',\n",
" 'AND note.eleve_id=eleve.id'\n",
" ])\n",
" , (\"ABDOU Farida\",2))\n",
"for i in c.fetchall():\n",
" print(i)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Requete pour tous les élèves"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nom \t\tDevoir \t\t\t\tnote \n",
"ABDOU Farida\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ABDOU Farida\t\tDM_15_12_09\t\t\t\t12.0 \n",
"ABDOU Farida\t\tBoulettes \t\t\t\t13.5 \n",
"ABDOU Farida\t\tBB_16_01_23\t\t\t\t22.0 \n",
"ABDOU Farida\t\tDM_16_01_29\t\t\t\t12.0 \n",
"ABDOU Farida\t\tBrevet blanc Fevrier\t\t\t\t16.0 \n",
"ABDOU Farida\t\tConn trimestre 2\t\t\t\t11.5 \n",
"ABOU BACAR Djaha\t\tDS_15_11_27\t\t\t\t7.0 \n",
"ABOU BACAR Djaha\t\tDM_15_12_09\t\t\t\t14.0 \n",
"ABOU BACAR Djaha\t\tBoulettes \t\t\t\t14.5 \n",
"ABOU BACAR Djaha\t\tBB_16_01_23\t\t\t\t20.0 \n",
"ABOU BACAR Djaha\t\tDM_16_01_29\t\t\t\t16.5 \n",
"ABOU BACAR Djaha\t\tBrevet blanc Fevrier\t\t\t\t22.0 \n",
"ABOU BACAR Djaha\t\tConn trimestre 2\t\t\t\t14.5 \n",
"AHAMADA Nabaouya\t\tDS_15_11_27\t\t\t\t10.5 \n",
"AHAMADA Nabaouya\t\tDM_15_12_09\t\t\t\t10.5 \n",
"AHAMADA Nabaouya\t\tBoulettes \t\t\t\t14.5 \n",
"AHAMADA Nabaouya\t\tBB_16_01_23\t\t\t\t23.0 \n",
"AHAMADA Nabaouya\t\tDM_16_01_29\t\t\t\t14.5 \n",
"AHAMADA Nabaouya\t\tBrevet blanc Fevrier\t\t\t\t16.5 \n",
"AHAMADA Nabaouya\t\tConn trimestre 2\t\t\t\t12.0 \n",
"AHAMADI Faina\t\tDS_15_11_27\t\t\t\t4.5 \n",
"AHAMADI Faina\t\tDM_15_12_09\t\t\t\t8.5 \n",
"AHAMADI Faina\t\tBoulettes \t\t\t\t14.5 \n",
"AHAMADI Faina\t\tBB_16_01_23\t\t\t\t9.0 \n",
"AHAMADI Faina\t\tDM_16_01_29\t\t\t\t14.5 \n",
"AHAMADI Faina\t\tBrevet blanc Fevrier\t\t\t\t5.0 \n",
"AHAMADI Faina\t\tConn trimestre 2\t\t\t\t5.5 \n",
"ALI Mardhuia\t\tDS_15_11_27\t\t\t\t12.5 \n",
"ALI Mardhuia\t\tDM_15_12_09\t\t\t\t10.0 \n",
"ALI Mardhuia\t\tBoulettes \t\t\t\t15.5 \n",
"ALI Mardhuia\t\tBB_16_01_23\t\t\t\t20.5 \n",
"ALI Mardhuia\t\tDM_16_01_29\t\t\t\t19.0 \n",
"ALI Mardhuia\t\tBrevet blanc Fevrier\t\t\t\t23.0 \n",
"ALI Mardhuia\t\tConn trimestre 2\t\t\t\t16.5 \n",
"ALI SOULAIMANA Chamsia\t\tDS_15_11_27\t\t\t\t10.5 \n",
"ALI SOULAIMANA Chamsia\t\tDM_15_12_09\t\t\t\t14.0 \n",
"ALI SOULAIMANA Chamsia\t\tBoulettes \t\t\t\t14.5 \n",
"ALI SOULAIMANA Chamsia\t\tBB_16_01_23\t\t\t\t24.0 \n",
"ALI SOULAIMANA Chamsia\t\tDM_16_01_29\t\t\t\t15.5 \n",
"ALI SOULAIMANA Chamsia\t\tBrevet blanc Fevrier\t\t\t\t17.5 \n",
"ALI SOULAIMANA Chamsia\t\tConn trimestre 2\t\t\t\t17.5 \n",
"ALSENE ALI MADI Stela\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ALSENE ALI MADI Stela\t\tDM_15_12_09\t\t\t\t4.0 \n",
"ALSENE ALI MADI Stela\t\tBoulettes \t\t\t\t19.5 \n",
"ALSENE ALI MADI Stela\t\tBB_16_01_23\t\t\t\t14.5 \n",
"ALSENE ALI MADI Stela\t\tDM_16_01_29\t\t\t\t11.0 \n",
"ALSENE ALI MADI Stela\t\tBrevet blanc Fevrier\t\t\t\t11.0 \n",
"ALSENE ALI MADI Stela\t\tConn trimestre 2\t\t\t\t4.0 \n",
"ANDRIATAHIANA Hoby\t\tDS_15_11_27\t\t\t\t16.0 \n",
"ANDRIATAHIANA Hoby\t\tDM_15_12_09\t\t\t\t10.0 \n",
"ANDRIATAHIANA Hoby\t\tBoulettes \t\t\t\t19.5 \n",
"ANDRIATAHIANA Hoby\t\tBB_16_01_23\t\t\t\t22.5 \n",
"ANDRIATAHIANA Hoby\t\tDM_16_01_29\t\t\t\t14.0 \n",
"ANDRIATAHIANA Hoby\t\tBrevet blanc Fevrier\t\t\t\t19.5 \n",
"ANDRIATAHIANA Hoby\t\tConn trimestre 2\t\t\t\t13.5 \n",
"ANLI Emeline\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ANLI Emeline\t\tDM_15_12_09\t\t\t\t9.0 \n",
"ANLI Emeline\t\tBoulettes \t\t\t\t16.0 \n",
"ANLI Emeline\t\tBB_16_01_23\t\t\t\t13.0 \n",
"ANLI Emeline\t\tDM_16_01_29\t\t\t\t7.0 \n",
"ANLI Emeline\t\tBrevet blanc Fevrier\t\t\t\t10.0 \n",
"ANLI Emeline\t\tConn trimestre 2\t\t\t\t9.0 \n",
"ATHOUMANE Naouidat\t\tDS_15_11_27\t\t\t\t8.0 \n",
"ATHOUMANE Naouidat\t\tDM_15_12_09\t\t\t\t15.5 \n",
"ATHOUMANE Naouidat\t\tBoulettes \t\t\t\t13.5 \n",
"ATHOUMANE Naouidat\t\tBB_16_01_23\t\t\t\t19.5 \n",
"ATHOUMANE Naouidat\t\tDM_16_01_29\t\t\t\t15.0 \n",
"ATHOUMANE Naouidat\t\tBrevet blanc Fevrier\t\t\t\t16.0 \n",
"ATHOUMANE Naouidat\t\tConn trimestre 2\t\t\t\t13.5 \n",
"BOUDRA Nassifanya\t\tDS_15_11_27\t\t\t\t10.5 \n",
"BOUDRA Nassifanya\t\tDM_15_12_09\t\t\t\t16.0 \n",
"BOUDRA Nassifanya\t\tBoulettes \t\t\t\t16.0 \n",
"BOUDRA Nassifanya\t\tBB_16_01_23\t\t\t\t27.0 \n",
"BOUDRA Nassifanya\t\tDM_16_01_29\t\t\t\t19.0 \n",
"BOUDRA Nassifanya\t\tBrevet blanc Fevrier\t\t\t\t29.5 \n",
"BOUDRA Nassifanya\t\tConn trimestre 2\t\t\t\t14.5 \n",
"CHANFI Nadhrati\t\tDS_15_11_27\t\t\t\t4.5 \n",
"CHANFI Nadhrati\t\tDM_15_12_09\t\t\t\t16.0 \n",
"CHANFI Nadhrati\t\tBoulettes \t\t\t\t17.5 \n",
"CHANFI Nadhrati\t\tBB_16_01_23\t\t\t\t10.5 \n",
"CHANFI Nadhrati\t\tDM_16_01_29\t\t\t\t16.0 \n",
"CHANFI Nadhrati\t\tBrevet blanc Fevrier\t\t\t\t7.0 \n",
"CHANFI Nadhrati\t\tConn trimestre 2\t\t\t\t6.0 \n",
"COMBO Moinécha\t\tDS_15_11_27\t\t\t\t17.0 \n",
"COMBO Moinécha\t\tDM_15_12_09\t\t\t\t14.0 \n",
"COMBO Moinécha\t\tBoulettes \t\t\t\t19.5 \n",
"COMBO Moinécha\t\tBB_16_01_23\t\t\t\t26.0 \n",
"COMBO Moinécha\t\tDM_16_01_29\t\t\t\t18.5 \n",
"COMBO Moinécha\t\tBrevet blanc Fevrier\t\t\t\t28.5 \n",
"COMBO Moinécha\t\tConn trimestre 2\t\t\t\t16.0 \n",
"HALIDI Nisma\t\tDS_15_11_27\t\t\t\t12.0 \n",
"HALIDI Nisma\t\tDM_15_12_09\t\t\t\t18.5 \n",
"HALIDI Nisma\t\tBoulettes \t\t\t\t16.0 \n",
"HALIDI Nisma\t\tBB_16_01_23\t\t\t\t26.0 \n",
"HALIDI Nisma\t\tDM_16_01_29\t\t\t\t18.5 \n",
"HALIDI Nisma\t\tBrevet blanc Fevrier\t\t\t\t20.5 \n",
"HALIDI Nisma\t\tConn trimestre 2\t\t\t\t16.0 \n",
"HAMZA Samianti\t\tDS_15_11_27\t\t\t\t7.0 \n",
"HAMZA Samianti\t\tDM_15_12_09\t\t\t\t10.0 \n",
"HAMZA Samianti\t\tBoulettes \t\t\t\t14.5 \n",
"HAMZA Samianti\t\tBB_16_01_23\t\t\t\t16.0 \n",
"HAMZA Samianti\t\tDM_16_01_29\t\t\t\t8.5 \n",
"HAMZA Samianti\t\tBrevet blanc Fevrier\t\t\t\t9.0 \n",
"HAMZA Samianti\t\tConn trimestre 2\t\t\t\t7.0 \n",
"HOUMADI Mouslimati\t\tDS_15_11_27\t\t\t\t12.0 \n",
"HOUMADI Mouslimati\t\tDM_15_12_09\t\t\t\t11.5 \n",
"HOUMADI Mouslimati\t\tBoulettes \t\t\t\t12.0 \n",
"HOUMADI Mouslimati\t\tBB_16_01_23\t\t\t\t17.0 \n",
"HOUMADI Mouslimati\t\tDM_16_01_29\t\t\t\t10.0 \n",
"HOUMADI Mouslimati\t\tBrevet blanc Fevrier\t\t\t\t15.5 \n",
"HOUMADI Mouslimati\t\tConn trimestre 2\t\t\t\t11.0 \n",
"HOUMADI Chaharazadi\t\tDS_15_11_27\t\t\t\t8.5 \n",
"HOUMADI Chaharazadi\t\tDM_15_12_09\t\t\t\t16.5 \n",
"HOUMADI Chaharazadi\t\tBoulettes \t\t\t\t15.5 \n",
"HOUMADI Chaharazadi\t\tBB_16_01_23\t\t\t\t22.0 \n",
"HOUMADI Chaharazadi\t\tDM_16_01_29\t\t\t\t16.5 \n",
"HOUMADI Chaharazadi\t\tBrevet blanc Fevrier\t\t\t\t21.5 \n",
"HOUMADI Chaharazadi\t\tConn trimestre 2\t\t\t\t16.5 \n",
"HOUMADI Nasmi\t\tDS_15_11_27\t\t\t\t10.5 \n",
"HOUMADI Nasmi\t\tDM_15_12_09\t\t\t\t16.0 \n",
"HOUMADI Nasmi\t\tBoulettes \t\t\t\t13.5 \n",
"HOUMADI Nasmi\t\tBB_16_01_23\t\t\t\t20.0 \n",
"HOUMADI Nasmi\t\tDM_16_01_29\t\t\t\t17.5 \n",
"HOUMADI Nasmi\t\tBrevet blanc Fevrier\t\t\t\t16.5 \n",
"HOUMADI Nasmi\t\tConn trimestre 2\t\t\t\t18.5 \n",
"HOUMADI Dhoirfia\t\tDS_15_11_27\t\t\t\t12.0 \n",
"HOUMADI Dhoirfia\t\tDM_15_12_09\t\t\t\t11.5 \n",
"HOUMADI Dhoirfia\t\tBoulettes \t\t\t\t14.5 \n",
"HOUMADI Dhoirfia\t\tBB_16_01_23\t\t\t\t21.5 \n",
"HOUMADI Dhoirfia\t\tDM_16_01_29\t\t\t\t17.5 \n",
"HOUMADI Dhoirfia\t\tBrevet blanc Fevrier\t\t\t\t13.5 \n",
"HOUMADI Dhoirfia\t\tConn trimestre 2\t\t\t\t16.5 \n",
"LOUTOUFI Nachima\t\tDS_15_11_27\t\t\t\t8.0 \n",
"LOUTOUFI Nachima\t\tDM_15_12_09\t\t\t\t5.5 \n",
"LOUTOUFI Nachima\t\tBoulettes \t\t\t\t13.5 \n",
"LOUTOUFI Nachima\t\tBB_16_01_23\t\t\t\t14.5 \n",
"LOUTOUFI Nachima\t\tDM_16_01_29\t\t\t\t8.5 \n",
"LOUTOUFI Nachima\t\tBrevet blanc Fevrier\t\t\t\t16.0 \n",
"LOUTOUFI Nachima\t\tConn trimestre 2\t\t\t\t7.0 \n",
"MALIDE El-Anzize\t\tDS_15_11_27\t\t\t\t12.0 \n",
"MALIDE El-Anzize\t\tDM_15_12_09\t\t\t\t8.0 \n",
"MALIDE El-Anzize\t\tBoulettes \t\t\t\t17.5 \n",
"MALIDE El-Anzize\t\tBB_16_01_23\t\t\t\t18.5 \n",
"MALIDE El-Anzize\t\tDM_16_01_29\t\t\t\t14.0 \n",
"MALIDE El-Anzize\t\tBrevet blanc Fevrier\t\t\t\t15.0 \n",
"MALIDE El-Anzize\t\tConn trimestre 2\t\t\t\t13.0 \n",
"MONNE Kevin\t\tDS_15_11_27\t\t\t\t13.0 \n",
"MONNE Kevin\t\tDM_15_12_09\t\t\t\t6.0 \n",
"MONNE Kevin\t\tBoulettes \t\t\t\t17.5 \n",
"MONNE Kevin\t\tBB_16_01_23\t\t\t\t24.0 \n",
"MONNE Kevin\t\tDM_16_01_29\t\t\t\t9.5 \n",
"MONNE Kevin\t\tBrevet blanc Fevrier\t\t\t\t24.0 \n",
"MONNE Kevin\t\tConn trimestre 2\t\t\t\t10.5 \n",
"MOUSSA Roibouanti\t\tDS_15_11_27\t\t\t\t16.0 \n",
"MOUSSA Roibouanti\t\tDM_15_12_09\t\t\t\t15.5 \n",
"MOUSSA Roibouanti\t\tBoulettes \t\t\t\t19.5 \n",
"MOUSSA Roibouanti\t\tBB_16_01_23\t\t\t\t24.0 \n",
"MOUSSA Roibouanti\t\tDM_16_01_29\t\t\t\t17.5 \n",
"MOUSSA Roibouanti\t\tBrevet blanc Fevrier\t\t\t\t21.0 \n",
"MOUSSA Roibouanti\t\tConn trimestre 2\t\t\t\t16.5 \n",
"OUSSENI Hilma\t\tDS_15_11_27\t\t\t\t8.0 \n",
"OUSSENI Hilma\t\tDM_15_12_09\t\t\t\t12.0 \n",
"OUSSENI Hilma\t\tBoulettes \t\t\t\t12.0 \n",
"OUSSENI Hilma\t\tBB_16_01_23\t\t\t\t18.0 \n",
"OUSSENI Hilma\t\tDM_16_01_29\t\t\t\t17.5 \n",
"OUSSENI Hilma\t\tBrevet blanc Fevrier\t\t\t\t13.0 \n",
"OUSSENI Hilma\t\tConn trimestre 2\t\t\t\t13.5 \n",
"SAANLI Natali\t\tDS_15_11_27\t\t\t\t11.5 \n",
"SAANLI Natali\t\tDM_15_12_09\t\t\t\t14.5 \n",
"SAANLI Natali\t\tBoulettes \t\t\t\t14.5 \n",
"SAANLI Natali\t\tBB_16_01_23\t\t\t\t31.0 \n",
"SAANLI Natali\t\tDM_16_01_29\t\t\t\t18.5 \n",
"SAANLI Natali\t\tBrevet blanc Fevrier\t\t\t\t25.0 \n",
"SAANLI Natali\t\tConn trimestre 2\t\t\t\t19.0 \n",
"SAID AHAMADA Roukaya\t\tDS_15_11_27\t\t\t\t8.5 \n",
"SAID AHAMADA Roukaya\t\tDM_15_12_09\t\t\t\t16.5 \n",
"SAID AHAMADA Roukaya\t\tBoulettes \t\t\t\t15.5 \n",
"SAID AHAMADA Roukaya\t\tBB_16_01_23\t\t\t\t20.5 \n",
"SAID AHAMADA Roukaya\t\tDM_16_01_29\t\t\t\t12.5 \n",
"SAID AHAMADA Roukaya\t\tBrevet blanc Fevrier\t\t\t\t28.0 \n",
"SAID AHAMADA Roukaya\t\tConn trimestre 2\t\t\t\t13.5 \n",
"SANDA Issoufi\t\tDS_15_11_27\t\t\t\t6.5 \n",
"SANDA Issoufi\t\tDM_15_12_09\t\t\t\t5.5 \n",
"SANDA Issoufi\t\tBoulettes \t\t\t\t17.5 \n",
"SANDA Issoufi\t\tBB_16_01_23\t\t\t\t13.0 \n",
"SANDA Issoufi\t\tDM_16_01_29\t\t\t\t9.5 \n",
"SANDA Issoufi\t\tBrevet blanc Fevrier\t\t\t\t11.0 \n",
"SANDA Issoufi\t\tConn trimestre 2\t\t\t\t5.5 \n",
"SOILIHI Soifia\t\tDS_15_11_27\t\t\t\t6.5 \n",
"SOILIHI Soifia\t\tDM_15_12_09\t\t\t\t18.0 \n",
"SOILIHI Soifia\t\tBoulettes \t\t\t\t12.0 \n",
"SOILIHI Soifia\t\tBB_16_01_23\t\t\t\t20.5 \n",
"SOILIHI Soifia\t\tDM_16_01_29\t\t\t\t15.5 \n",
"SOILIHI Soifia\t\tBrevet blanc Fevrier\t\t\t\t13.5 \n",
"SOILIHI Soifia\t\tConn trimestre 2\t\t\t\t12.0 \n",
"SOUFIANI Laila\t\tDS_15_11_27\t\t\t\t4.5 \n",
"SOUFIANI Laila\t\tDM_15_12_09\t\t\t\t3.0 \n",
"SOUFIANI Laila\t\tBoulettes \t\t\t\t16.0 \n",
"SOUFIANI Laila\t\tBB_16_01_23\t\t\t\t10.5 \n",
"SOUFIANI Laila\t\tDM_16_01_29\t\t\t\t2.5 \n",
"SOUFIANI Laila\t\tBrevet blanc Fevrier\t\t\t\t7.0 \n",
"SOUFIANI Laila\t\tConn trimestre 2\t\t\t\t5.5 \n",
"YOUSSOUF Sitirati\t\tDS_15_11_27\t\t\t\t8.5 \n",
"YOUSSOUF Sitirati\t\tDM_15_12_09\t\t\t\t12.0 \n",
"YOUSSOUF Sitirati\t\tBoulettes \t\t\t\t12.0 \n",
"YOUSSOUF Sitirati\t\tBB_16_01_23\t\t\t\t10.5 \n",
"YOUSSOUF Sitirati\t\tDM_16_01_29\t\t\t\t6.5 \n",
"YOUSSOUF Sitirati\t\tBrevet blanc Fevrier\t\t\t\t7.0 \n",
"YOUSSOUF Sitirati\t\tConn trimestre 2\t\t\t\t8.5 \n"
]
}
],
"source": [
"c.execute(' '.join(['SELECT eleve.name, devoir.name, note.valeur',\n",
" 'FROM note, devoir, eleve',\n",
" 'WHERE devoir.trimestre=?',\n",
" 'AND note.devoir_id=devoir.id',\n",
" 'AND note.eleve_id=eleve.id'\n",
" ])\n",
" , (2,))\n",
"FORMAT = '%-6s\\t\\t%-10s\\t\\t\\t\\t%-8s'\n",
"print(FORMAT % ('Nom', 'Devoir', 'note'))\n",
"for i in c.fetchall():\n",
" print(FORMAT % i)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Requete pour tous les élèves triée par devoir"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nom \t\tDevoir \t\t\t\tnote \n",
"ABDOU Farida\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ABOU BACAR Djaha\t\tDS_15_11_27\t\t\t\t7.0 \n",
"AHAMADA Nabaouya\t\tDS_15_11_27\t\t\t\t10.5 \n",
"AHAMADI Faina\t\tDS_15_11_27\t\t\t\t4.5 \n",
"ALI Mardhuia\t\tDS_15_11_27\t\t\t\t12.5 \n",
"ALI SOULAIMANA Chamsia\t\tDS_15_11_27\t\t\t\t10.5 \n",
"ALSENE ALI MADI Stela\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ANDRIATAHIANA Hoby\t\tDS_15_11_27\t\t\t\t16.0 \n",
"ANLI Emeline\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ATHOUMANE Naouidat\t\tDS_15_11_27\t\t\t\t8.0 \n",
"BOUDRA Nassifanya\t\tDS_15_11_27\t\t\t\t10.5 \n",
"CHANFI Nadhrati\t\tDS_15_11_27\t\t\t\t4.5 \n",
"COMBO Moinécha\t\tDS_15_11_27\t\t\t\t17.0 \n",
"HALIDI Nisma\t\tDS_15_11_27\t\t\t\t12.0 \n",
"HAMZA Samianti\t\tDS_15_11_27\t\t\t\t7.0 \n",
"HOUMADI Mouslimati\t\tDS_15_11_27\t\t\t\t12.0 \n",
"HOUMADI Chaharazadi\t\tDS_15_11_27\t\t\t\t8.5 \n",
"HOUMADI Nasmi\t\tDS_15_11_27\t\t\t\t10.5 \n",
"HOUMADI Dhoirfia\t\tDS_15_11_27\t\t\t\t12.0 \n",
"LOUTOUFI Nachima\t\tDS_15_11_27\t\t\t\t8.0 \n",
"MALIDE El-Anzize\t\tDS_15_11_27\t\t\t\t12.0 \n",
"MONNE Kevin\t\tDS_15_11_27\t\t\t\t13.0 \n",
"MOUSSA Roibouanti\t\tDS_15_11_27\t\t\t\t16.0 \n",
"OUSSENI Hilma\t\tDS_15_11_27\t\t\t\t8.0 \n",
"SAANLI Natali\t\tDS_15_11_27\t\t\t\t11.5 \n",
"SAID AHAMADA Roukaya\t\tDS_15_11_27\t\t\t\t8.5 \n",
"SANDA Issoufi\t\tDS_15_11_27\t\t\t\t6.5 \n",
"SOILIHI Soifia\t\tDS_15_11_27\t\t\t\t6.5 \n",
"SOUFIANI Laila\t\tDS_15_11_27\t\t\t\t4.5 \n",
"YOUSSOUF Sitirati\t\tDS_15_11_27\t\t\t\t8.5 \n",
"ABDOU Farida\t\tDM_15_12_09\t\t\t\t12.0 \n",
"ABOU BACAR Djaha\t\tDM_15_12_09\t\t\t\t14.0 \n",
"AHAMADA Nabaouya\t\tDM_15_12_09\t\t\t\t10.5 \n",
"AHAMADI Faina\t\tDM_15_12_09\t\t\t\t8.5 \n",
"ALI Mardhuia\t\tDM_15_12_09\t\t\t\t10.0 \n",
"ALI SOULAIMANA Chamsia\t\tDM_15_12_09\t\t\t\t14.0 \n",
"ALSENE ALI MADI Stela\t\tDM_15_12_09\t\t\t\t4.0 \n",
"ANDRIATAHIANA Hoby\t\tDM_15_12_09\t\t\t\t10.0 \n",
"ANLI Emeline\t\tDM_15_12_09\t\t\t\t9.0 \n",
"ATHOUMANE Naouidat\t\tDM_15_12_09\t\t\t\t15.5 \n",
"BOUDRA Nassifanya\t\tDM_15_12_09\t\t\t\t16.0 \n",
"CHANFI Nadhrati\t\tDM_15_12_09\t\t\t\t16.0 \n",
"COMBO Moinécha\t\tDM_15_12_09\t\t\t\t14.0 \n",
"HALIDI Nisma\t\tDM_15_12_09\t\t\t\t18.5 \n",
"HAMZA Samianti\t\tDM_15_12_09\t\t\t\t10.0 \n",
"HOUMADI Mouslimati\t\tDM_15_12_09\t\t\t\t11.5 \n",
"HOUMADI Chaharazadi\t\tDM_15_12_09\t\t\t\t16.5 \n",
"HOUMADI Nasmi\t\tDM_15_12_09\t\t\t\t16.0 \n",
"HOUMADI Dhoirfia\t\tDM_15_12_09\t\t\t\t11.5 \n",
"LOUTOUFI Nachima\t\tDM_15_12_09\t\t\t\t5.5 \n",
"MALIDE El-Anzize\t\tDM_15_12_09\t\t\t\t8.0 \n",
"MONNE Kevin\t\tDM_15_12_09\t\t\t\t6.0 \n",
"MOUSSA Roibouanti\t\tDM_15_12_09\t\t\t\t15.5 \n",
"OUSSENI Hilma\t\tDM_15_12_09\t\t\t\t12.0 \n",
"SAANLI Natali\t\tDM_15_12_09\t\t\t\t14.5 \n",
"SAID AHAMADA Roukaya\t\tDM_15_12_09\t\t\t\t16.5 \n",
"SANDA Issoufi\t\tDM_15_12_09\t\t\t\t5.5 \n",
"SOILIHI Soifia\t\tDM_15_12_09\t\t\t\t18.0 \n",
"SOUFIANI Laila\t\tDM_15_12_09\t\t\t\t3.0 \n",
"YOUSSOUF Sitirati\t\tDM_15_12_09\t\t\t\t12.0 \n",
"ABDOU Farida\t\tBoulettes \t\t\t\t13.5 \n",
"ABOU BACAR Djaha\t\tBoulettes \t\t\t\t14.5 \n",
"AHAMADA Nabaouya\t\tBoulettes \t\t\t\t14.5 \n",
"AHAMADI Faina\t\tBoulettes \t\t\t\t14.5 \n",
"ALI Mardhuia\t\tBoulettes \t\t\t\t15.5 \n",
"ALI SOULAIMANA Chamsia\t\tBoulettes \t\t\t\t14.5 \n",
"ALSENE ALI MADI Stela\t\tBoulettes \t\t\t\t19.5 \n",
"ANDRIATAHIANA Hoby\t\tBoulettes \t\t\t\t19.5 \n",
"ANLI Emeline\t\tBoulettes \t\t\t\t16.0 \n",
"ATHOUMANE Naouidat\t\tBoulettes \t\t\t\t13.5 \n",
"BOUDRA Nassifanya\t\tBoulettes \t\t\t\t16.0 \n",
"CHANFI Nadhrati\t\tBoulettes \t\t\t\t17.5 \n",
"COMBO Moinécha\t\tBoulettes \t\t\t\t19.5 \n",
"HALIDI Nisma\t\tBoulettes \t\t\t\t16.0 \n",
"HAMZA Samianti\t\tBoulettes \t\t\t\t14.5 \n",
"HOUMADI Mouslimati\t\tBoulettes \t\t\t\t12.0 \n",
"HOUMADI Chaharazadi\t\tBoulettes \t\t\t\t15.5 \n",
"HOUMADI Nasmi\t\tBoulettes \t\t\t\t13.5 \n",
"HOUMADI Dhoirfia\t\tBoulettes \t\t\t\t14.5 \n",
"LOUTOUFI Nachima\t\tBoulettes \t\t\t\t13.5 \n",
"MALIDE El-Anzize\t\tBoulettes \t\t\t\t17.5 \n",
"MONNE Kevin\t\tBoulettes \t\t\t\t17.5 \n",
"MOUSSA Roibouanti\t\tBoulettes \t\t\t\t19.5 \n",
"OUSSENI Hilma\t\tBoulettes \t\t\t\t12.0 \n",
"SAANLI Natali\t\tBoulettes \t\t\t\t14.5 \n",
"SAID AHAMADA Roukaya\t\tBoulettes \t\t\t\t15.5 \n",
"SANDA Issoufi\t\tBoulettes \t\t\t\t17.5 \n",
"SOILIHI Soifia\t\tBoulettes \t\t\t\t12.0 \n",
"SOUFIANI Laila\t\tBoulettes \t\t\t\t16.0 \n",
"YOUSSOUF Sitirati\t\tBoulettes \t\t\t\t12.0 \n",
"ABDOU Farida\t\tBB_16_01_23\t\t\t\t22.0 \n",
"ABOU BACAR Djaha\t\tBB_16_01_23\t\t\t\t20.0 \n",
"AHAMADA Nabaouya\t\tBB_16_01_23\t\t\t\t23.0 \n",
"AHAMADI Faina\t\tBB_16_01_23\t\t\t\t9.0 \n",
"ALI Mardhuia\t\tBB_16_01_23\t\t\t\t20.5 \n",
"ALI SOULAIMANA Chamsia\t\tBB_16_01_23\t\t\t\t24.0 \n",
"ALSENE ALI MADI Stela\t\tBB_16_01_23\t\t\t\t14.5 \n",
"ANDRIATAHIANA Hoby\t\tBB_16_01_23\t\t\t\t22.5 \n",
"ANLI Emeline\t\tBB_16_01_23\t\t\t\t13.0 \n",
"ATHOUMANE Naouidat\t\tBB_16_01_23\t\t\t\t19.5 \n",
"BOUDRA Nassifanya\t\tBB_16_01_23\t\t\t\t27.0 \n",
"CHANFI Nadhrati\t\tBB_16_01_23\t\t\t\t10.5 \n",
"COMBO Moinécha\t\tBB_16_01_23\t\t\t\t26.0 \n",
"HALIDI Nisma\t\tBB_16_01_23\t\t\t\t26.0 \n",
"HAMZA Samianti\t\tBB_16_01_23\t\t\t\t16.0 \n",
"HOUMADI Mouslimati\t\tBB_16_01_23\t\t\t\t17.0 \n",
"HOUMADI Chaharazadi\t\tBB_16_01_23\t\t\t\t22.0 \n",
"HOUMADI Nasmi\t\tBB_16_01_23\t\t\t\t20.0 \n",
"HOUMADI Dhoirfia\t\tBB_16_01_23\t\t\t\t21.5 \n",
"LOUTOUFI Nachima\t\tBB_16_01_23\t\t\t\t14.5 \n",
"MALIDE El-Anzize\t\tBB_16_01_23\t\t\t\t18.5 \n",
"MONNE Kevin\t\tBB_16_01_23\t\t\t\t24.0 \n",
"MOUSSA Roibouanti\t\tBB_16_01_23\t\t\t\t24.0 \n",
"OUSSENI Hilma\t\tBB_16_01_23\t\t\t\t18.0 \n",
"SAANLI Natali\t\tBB_16_01_23\t\t\t\t31.0 \n",
"SAID AHAMADA Roukaya\t\tBB_16_01_23\t\t\t\t20.5 \n",
"SANDA Issoufi\t\tBB_16_01_23\t\t\t\t13.0 \n",
"SOILIHI Soifia\t\tBB_16_01_23\t\t\t\t20.5 \n",
"SOUFIANI Laila\t\tBB_16_01_23\t\t\t\t10.5 \n",
"YOUSSOUF Sitirati\t\tBB_16_01_23\t\t\t\t10.5 \n",
"ABDOU Farida\t\tDM_16_01_29\t\t\t\t12.0 \n",
"ABOU BACAR Djaha\t\tDM_16_01_29\t\t\t\t16.5 \n",
"AHAMADA Nabaouya\t\tDM_16_01_29\t\t\t\t14.5 \n",
"AHAMADI Faina\t\tDM_16_01_29\t\t\t\t14.5 \n",
"ALI Mardhuia\t\tDM_16_01_29\t\t\t\t19.0 \n",
"ALI SOULAIMANA Chamsia\t\tDM_16_01_29\t\t\t\t15.5 \n",
"ALSENE ALI MADI Stela\t\tDM_16_01_29\t\t\t\t11.0 \n",
"ANDRIATAHIANA Hoby\t\tDM_16_01_29\t\t\t\t14.0 \n",
"ANLI Emeline\t\tDM_16_01_29\t\t\t\t7.0 \n",
"ATHOUMANE Naouidat\t\tDM_16_01_29\t\t\t\t15.0 \n",
"BOUDRA Nassifanya\t\tDM_16_01_29\t\t\t\t19.0 \n",
"CHANFI Nadhrati\t\tDM_16_01_29\t\t\t\t16.0 \n",
"COMBO Moinécha\t\tDM_16_01_29\t\t\t\t18.5 \n",
"HALIDI Nisma\t\tDM_16_01_29\t\t\t\t18.5 \n",
"HAMZA Samianti\t\tDM_16_01_29\t\t\t\t8.5 \n",
"HOUMADI Mouslimati\t\tDM_16_01_29\t\t\t\t10.0 \n",
"HOUMADI Chaharazadi\t\tDM_16_01_29\t\t\t\t16.5 \n",
"HOUMADI Nasmi\t\tDM_16_01_29\t\t\t\t17.5 \n",
"HOUMADI Dhoirfia\t\tDM_16_01_29\t\t\t\t17.5 \n",
"LOUTOUFI Nachima\t\tDM_16_01_29\t\t\t\t8.5 \n",
"MALIDE El-Anzize\t\tDM_16_01_29\t\t\t\t14.0 \n",
"MONNE Kevin\t\tDM_16_01_29\t\t\t\t9.5 \n",
"MOUSSA Roibouanti\t\tDM_16_01_29\t\t\t\t17.5 \n",
"OUSSENI Hilma\t\tDM_16_01_29\t\t\t\t17.5 \n",
"SAANLI Natali\t\tDM_16_01_29\t\t\t\t18.5 \n",
"SAID AHAMADA Roukaya\t\tDM_16_01_29\t\t\t\t12.5 \n",
"SANDA Issoufi\t\tDM_16_01_29\t\t\t\t9.5 \n",
"SOILIHI Soifia\t\tDM_16_01_29\t\t\t\t15.5 \n",
"SOUFIANI Laila\t\tDM_16_01_29\t\t\t\t2.5 \n",
"YOUSSOUF Sitirati\t\tDM_16_01_29\t\t\t\t6.5 \n",
"ABDOU Farida\t\tBrevet blanc Fevrier\t\t\t\t16.0 \n",
"ABOU BACAR Djaha\t\tBrevet blanc Fevrier\t\t\t\t22.0 \n",
"AHAMADA Nabaouya\t\tBrevet blanc Fevrier\t\t\t\t16.5 \n",
"AHAMADI Faina\t\tBrevet blanc Fevrier\t\t\t\t5.0 \n",
"ALI Mardhuia\t\tBrevet blanc Fevrier\t\t\t\t23.0 \n",
"ALI SOULAIMANA Chamsia\t\tBrevet blanc Fevrier\t\t\t\t17.5 \n",
"ALSENE ALI MADI Stela\t\tBrevet blanc Fevrier\t\t\t\t11.0 \n",
"ANDRIATAHIANA Hoby\t\tBrevet blanc Fevrier\t\t\t\t19.5 \n",
"ANLI Emeline\t\tBrevet blanc Fevrier\t\t\t\t10.0 \n",
"ATHOUMANE Naouidat\t\tBrevet blanc Fevrier\t\t\t\t16.0 \n",
"BOUDRA Nassifanya\t\tBrevet blanc Fevrier\t\t\t\t29.5 \n",
"CHANFI Nadhrati\t\tBrevet blanc Fevrier\t\t\t\t7.0 \n",
"COMBO Moinécha\t\tBrevet blanc Fevrier\t\t\t\t28.5 \n",
"HALIDI Nisma\t\tBrevet blanc Fevrier\t\t\t\t20.5 \n",
"HAMZA Samianti\t\tBrevet blanc Fevrier\t\t\t\t9.0 \n",
"HOUMADI Mouslimati\t\tBrevet blanc Fevrier\t\t\t\t15.5 \n",
"HOUMADI Chaharazadi\t\tBrevet blanc Fevrier\t\t\t\t21.5 \n",
"HOUMADI Nasmi\t\tBrevet blanc Fevrier\t\t\t\t16.5 \n",
"HOUMADI Dhoirfia\t\tBrevet blanc Fevrier\t\t\t\t13.5 \n",
"LOUTOUFI Nachima\t\tBrevet blanc Fevrier\t\t\t\t16.0 \n",
"MALIDE El-Anzize\t\tBrevet blanc Fevrier\t\t\t\t15.0 \n",
"MONNE Kevin\t\tBrevet blanc Fevrier\t\t\t\t24.0 \n",
"MOUSSA Roibouanti\t\tBrevet blanc Fevrier\t\t\t\t21.0 \n",
"OUSSENI Hilma\t\tBrevet blanc Fevrier\t\t\t\t13.0 \n",
"SAANLI Natali\t\tBrevet blanc Fevrier\t\t\t\t25.0 \n",
"SAID AHAMADA Roukaya\t\tBrevet blanc Fevrier\t\t\t\t28.0 \n",
"SANDA Issoufi\t\tBrevet blanc Fevrier\t\t\t\t11.0 \n",
"SOILIHI Soifia\t\tBrevet blanc Fevrier\t\t\t\t13.5 \n",
"SOUFIANI Laila\t\tBrevet blanc Fevrier\t\t\t\t7.0 \n",
"YOUSSOUF Sitirati\t\tBrevet blanc Fevrier\t\t\t\t7.0 \n",
"ABDOU Farida\t\tConn trimestre 2\t\t\t\t11.5 \n",
"ABOU BACAR Djaha\t\tConn trimestre 2\t\t\t\t14.5 \n",
"AHAMADA Nabaouya\t\tConn trimestre 2\t\t\t\t12.0 \n",
"AHAMADI Faina\t\tConn trimestre 2\t\t\t\t5.5 \n",
"ALI Mardhuia\t\tConn trimestre 2\t\t\t\t16.5 \n",
"ALI SOULAIMANA Chamsia\t\tConn trimestre 2\t\t\t\t17.5 \n",
"ALSENE ALI MADI Stela\t\tConn trimestre 2\t\t\t\t4.0 \n",
"ANDRIATAHIANA Hoby\t\tConn trimestre 2\t\t\t\t13.5 \n",
"ANLI Emeline\t\tConn trimestre 2\t\t\t\t9.0 \n",
"ATHOUMANE Naouidat\t\tConn trimestre 2\t\t\t\t13.5 \n",
"BOUDRA Nassifanya\t\tConn trimestre 2\t\t\t\t14.5 \n",
"CHANFI Nadhrati\t\tConn trimestre 2\t\t\t\t6.0 \n",
"COMBO Moinécha\t\tConn trimestre 2\t\t\t\t16.0 \n",
"HALIDI Nisma\t\tConn trimestre 2\t\t\t\t16.0 \n",
"HAMZA Samianti\t\tConn trimestre 2\t\t\t\t7.0 \n",
"HOUMADI Mouslimati\t\tConn trimestre 2\t\t\t\t11.0 \n",
"HOUMADI Chaharazadi\t\tConn trimestre 2\t\t\t\t16.5 \n",
"HOUMADI Nasmi\t\tConn trimestre 2\t\t\t\t18.5 \n",
"HOUMADI Dhoirfia\t\tConn trimestre 2\t\t\t\t16.5 \n",
"LOUTOUFI Nachima\t\tConn trimestre 2\t\t\t\t7.0 \n",
"MALIDE El-Anzize\t\tConn trimestre 2\t\t\t\t13.0 \n",
"MONNE Kevin\t\tConn trimestre 2\t\t\t\t10.5 \n",
"MOUSSA Roibouanti\t\tConn trimestre 2\t\t\t\t16.5 \n",
"OUSSENI Hilma\t\tConn trimestre 2\t\t\t\t13.5 \n",
"SAANLI Natali\t\tConn trimestre 2\t\t\t\t19.0 \n",
"SAID AHAMADA Roukaya\t\tConn trimestre 2\t\t\t\t13.5 \n",
"SANDA Issoufi\t\tConn trimestre 2\t\t\t\t5.5 \n",
"SOILIHI Soifia\t\tConn trimestre 2\t\t\t\t12.0 \n",
"SOUFIANI Laila\t\tConn trimestre 2\t\t\t\t5.5 \n",
"YOUSSOUF Sitirati\t\tConn trimestre 2\t\t\t\t8.5 \n"
]
}
],
"source": [
"c.execute(' '.join(['SELECT eleve.name, devoir.name, note.valeur',\n",
" 'FROM note, devoir, eleve',\n",
" 'WHERE devoir.trimestre=?',\n",
" 'AND note.devoir_id=devoir.id',\n",
" 'AND note.eleve_id=eleve.id',\n",
" 'ORDER BY devoir_id'\n",
" ])\n",
" , (2,))\n",
"FORMAT = '%-6s\\t\\t%-10s\\t\\t\\t\\t%-8s'\n",
"print(FORMAT % ('Nom', 'Devoir', 'note'))\n",
"for i in c.fetchall():\n",
" print(FORMAT % i)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}